{
   "author" : "rukano",
   "name" : "Load and play samples from GUI (Qt GUI only)",
   "description" : "Pretty simple GUI (button per sample) for loading samples into buffers and playing them from GUI buttons.\r\n!!! Needs Qt GUI !!! (VLayout)",
   "ancestor_list" : [],
   "labels" : [
      "gui",
      "sampler",
      "loader"
   ],
   "is_private" : null,
   "id" : "1-3CI",
   "code" : "var make;\r\nvar dialog = Dialog.openPanel({ |list| make.(list) }, nil, true);\r\nvar win = Window(\"Sample Player 3000\").front;\r\nvar samples = ();\r\nvar buttons = ();\r\nmake = { |paths|\r\n\t{\r\n\t\tpaths.do{ |path|\r\n\t\t\t[\\loaded, path.basename].postln;\r\n\t\t\tsamples[path] = Buffer.read(Server.default, path);\r\n\t\t\ts.sync;\r\n\t\t\tbuttons[path] = Button()\r\n\t\t\t\t.states_([[path.basename]])\r\n\t\t\t\t.action_{ samples[path].play };\r\n\t\t};\r\n\t\twin.layout = VLayout(*buttons.asArray);\r\n\t\twin.onClose_{\r\n\t\t\tsamples.do{ |buf|\r\n\t\t\t\tbuf.close;\r\n\t\t\t\tbuf.free\r\n\t\t\t};\r\n\t\t};\r\n\t}.fork(AppClock);\r\n};"
}
