ChucK/dinky.ck
From CSWiki
also see try.ck and the dinky example page.
// this class defines the Dinky instrument
// the variables defined at class level are member variables
//
// to test this:
// > chuck dinky.ck try.ck
//
// NOTE: in a future version of chuck...
// this class will be able to extend UGen
// the Dinky class
public class Dinky
{
// impulse to filter to dac
impulse i => biquad f => Envelope e;
// set the filter's pole radius
.99 => f.prad;
// set equal gain zeros
1 => f.eqzs;
// set filter gain
.2 => f.gain;
// set the envelope
.001::second => e.duration;
public void radius( float rad )
{ rad => f.prad; }
public void gain( float g )
{ g => i.gain; }
public void connect( UGen ugen )
{ e => ugen; }
// t is for trigger
public void t( float freq )
{
// set the current sample/impulse
1.0 => i.next;
// set filter resonant frequency
freq => f.pfreq;
// open the envelope
e.keyOn();
}
// t is for trigger (using MIDI note numbers)
public void t( int note )
{ t( std.mtof( note ) ); }
// another lazy name: c (for close)
public void c() { e.keyOff(); }
}
