( // using GUI items to turn on and off a process var e, w, box1, box2, box3, ping, freqSlider1, freqSlider2, indexSlider, test1; w = GUIWindow.new("panel", Rect.newBy( 209, 69, 210, 251 )); box1 = CheckBoxView.new( w, Rect.newBy( 48, 53, 116, 27 ), "Play", 0, 0, 1, 0, 'linear'); box2 = CheckBoxView.new( w, Rect.newBy( 49, 89, 114, 32 ), "Stop", 1, 0, 1, 0, 'linear'); box3 = CheckBoxView.new( w, Rect.newBy( 46, 10, 116, 27 ), "Pause", 0, 0, 1, 0, 'linear'); freqSlider1 = SliderView.new( w, Rect.newBy( 49, 127, 103, 23 ), "SliderView", 0, 60, 400, 1, 'linear') .knobColor_(rgb(250,7,0)); freqSlider2 = SliderView.new( w, Rect.newBy( 49, 154, 103, 23 ), "SliderView", 0, 60, 400, 1, 'linear') .knobColor_(rgb(24,103,176)); indexSlider = SliderView.new( w, Rect.newBy( 47, 188, 103, 23 ), "SliderView", 0, 0.1, 1, 0.01, 'linear') .knobColor_(rgb(13,122,29)); box1.action = { if(box1.value == 1, {box2.value = 0; box3.value = 0;} ); }; box2.action = { if(box2.value == 1, {box1.value = 0; box3.value = 0;} ); }; box3.action = { if(box3.value == 1, {box1.value = 0; box2.value = 0;} ); }; Synth.play({ var cont; cont = ControlIn.kr(freqSlider2)*SinOsc.ar(ControlIn.kr(freqSlider1), 0,ControlIn.kr(indexSlider)); SinOsc.ar(cont,0, 0.9*ControlIn.kr(box1)); } ); w.close; )