{
   "description" : "Combined a couple of bits of code from this site - with a few mods.  Creates a little performance GUI that does frequency mod.",
   "ancestor_list" : [],
   "author" : "Scott L Simon",
   "name" : "FMSynth GUI",
   "code" : "(\r\n\r\nvar w, addslider, speedslider, synth;\r\n\r\n\r\n\r\n\r\nw=Window(\"freq modulation\", Rect(100, 400, 400, 300));\r\n\r\nw.view.decorator = FlowLayout(w.view.bounds);\r\n\r\n\r\n\r\nsynth={arg x=0, addz = 100, speed = 5; (60..100).do{|f| x=SinOsc.ar(f+[0,f ] * (SinOsc.kr(Line.kr(1,5, 20,doneAction:2),add: addz, mul: 100)) ,0, mul: 0.3)}; LPF.ar(x+Ringz.ar(Impulse.ar(speed),MouseX.kr(22,300),0.3, 0.4),Line.kr(100,17000,20))}.scope;\r\n\r\n\r\n\r\naddslider= EZSlider(w, 300@50, \"add\", ControlSpec(100, 500, 'exponential', 2, 100), {|ez|  synth.set(\\addz, ez.value)});\r\n\r\nw.view.decorator.nextLine;\r\n\r\n\r\n\r\nspeedslider = EZSlider(w, 300@50, \"speed\", ControlSpec(1,10, 'exponential', 1, 5), {|ez|  synth.set(\\speed, ez.value)});\r\n\r\nw.view.decorator.nextLine;\r\n\r\n\r\n\r\n\r\n\r\n\r\nw.front;\r\n\r\n)\r\n\r\n//modded from m_step and jamshark",
   "id" : "1-5bf",
   "is_private" : null,
   "labels" : [
      "gui",
      "fm synth"
   ]
}
