[chuck-users] Getting Started with ChucK

Lucas Samaruga samarugalucas at gmail.com
Mon Jul 20 23:21:30 EDT 2009


sorry, add this

spork ~ modula(car, mod, bfreq) @=> Shred @modulaShred; // this
2::second => now;

car =< dac;
Machine.remove(modulaShred.id()); // this

2009/7/21 Lucas Samaruga <samarugalucas at gmail.com>:
> I think to make the instance variables like control buses is not the
> design of chuck...
> but hmmm... sc have more development in high level programming
> interface than ck.
> If one want a custom fm class or function or a bus it can be made
> within the ck logic.
>
>>fun void mod(UGen a, UGen.etc() b) {
>>    a.last => b;
>>    64::samp => now;
>>}
>>
>>Is there any way to achieve the same functionality as this?
>
> You don't need a param, pass the entire UGen
> and make use of polymorphism
>
> //ck
>
> fun void modula(Osc car, Osc mod, float bfreq) {
>    while(true) {
>        mod.last() + bfreq => car.freq;
>        64::samp => now;
>    }
> }
>
> SinOsc car => dac;
> SinOsc mod => blackhole;
>
> 440 => float bfreq;
> 20 => mod.freq;
> 300 => mod.gain;
>
> spork ~ modula(car, mod, bfreq);
> 2::second => now;
>
> car =< dac;
> SawOsc car2 => LPF lpf => dac;
>
> 2000 => lpf.freq;
>
> spork ~ modula(car2, mod, bfreq);
> 2::second => now;
>
>
> // sc
>
> (
> t = Task{
>        var bfreq = 440;
>        x = {SinOsc.ar(bfreq + SinOsc.kr(20, mul:300))}.play;
>        2.wait;
>        x.release;
>        y = {LPF.ar(LFSaw.ar(bfreq + SinOsc.kr(20, mul:300)), 2000)}.play;
>        2.wait;
>        y.release;
> }.play;
> )
>
> of course this can be made different in both languages. Is not a good
> comparison.
>
> greetings
> Lucas
>


More information about the chuck-users mailing list