[linux-audio-dev] Does anyone have a working example ofSupercollider and SCUM GUI where slider or a button doesreal-time update on the synth

Ivica Ico Bukvic ico at fuse.net
Wed May 18 14:32:14 UTC 2005


Many thanks for the reply!

Actually there is another, very odd reason why my example did not work. Even
if I used your working example, I found out the following odd behavior:

If I have a statement that does:

Out.ar(out, SinOsc.ar(freq, mul: 0.5))

Then it works.



If I have a statement that does:

Out.ar(out, SinOsc.ar(freq * 100, mul: 0.5))

This also works.


Now if I have:

Out.ar(out, SinOsc.ar(freq + 100, mul: 0.5))

This doesn't.


Naturally, one could always put something before this statement to fix this,
i.e.:

freq = freq + 100;
Out.ar(out, SinOsc.ar(freq, mul: 0.5))

But it is still interesting why the multiplication works and addition
doesn't.


Also, I noticed that on one of your SCUM example screenshots you are using
.connect method to connect something, yet I was unable to locate anything of
value in the documentation. I assume that this could be something similar to
the signal-slot idea in Qt and/or other Widget languages (but obviously I
may be completely off the mark), so I was wondering if you could please
provide an example for that? I would really appreciate it!

Finally, while I am on the roll with questions :-), do you mind also
mentioning what's the current status/roadmap of SCUM in terms of supporting
all stock Supercollider widgets, as I noticed that the SCUM widgets use
non-standard names and in addition I am not sure whether all widgets are as
of yet supported, all of which, at least in my experience, makes a number of
sc examples available on the net difficult if not impossible to run in
Linux. Please don't get me wrong, this is not to criticize as I am eternally
grateful for SCUM, I am simply curious as to what is the roadmap for the
project.

Many thanks to all for your help!

Best wishes,

Ivica Ico Bukvic, composer & multimedia sculptor
http://meowing.ccm.uc.edu/~ico/
 


> you'll have to split up the code:
> 
> s = Server.local.boot;
> 
> SynthDef(\testfest, { arg out=0, freq=440;
>     Out.ar(out, SinOsc.ar(freq, mul: 0.5))
> }).send(s);
> 
> z = Synth(\testfest);
> 
> (
> w = SCUMWindow.new;
> w.title = "Slider example";
> w.initialSize = Size(20, 300);
> 
> c = SCUMVBox(w);
> v = SCUMSlider(c, { |v|
>     v.expand = 1;
>     v.fill = 1;
>     v.bgColor = Color.white;
>     v.fgColor = Color.black;
>     v.action = { z.set(\freq, v.value * 100 + 400) }
>     v.doAction;
> });
> 
> w.show;
> )
> 
> hth,
> <sk>




More information about the Linux-audio-dev mailing list