[chuck] version released

Ge Wang gewang at CS.Princeton.EDU
Sun Mar 26 04:42:02 EST 2006

Dear All,

chuck- (dracula) is now available:

     (may need to reload page to see update)

It contains several new features (see full release note below):
     - multi-channel audio
     - HID/Joystick support (by Spencer Salazar)
       - see examples/hid/ for demos
     - massive STK update (in exchange for sleep from Mark Daly and Ge)
       - new StkInstrument parent class
       - control changes exposed
       - new examples
     - more documentation (Adam Tindale, Mark, and others)
     - bug fixes!  new bugs!

completely updated STK section:

Thanks to all who contributed to this release and to the wiki upgrade, 
including Mike McGonagle, Graham Coleman, Graham Percival, Eduard 
Aylon, Pedro Lopez-Cabanillas, Nelson Ferraz, and to Scot 
Gresham-Lancaster and Tim Perkis for working with us to develop new 
features, and many others.

As always, please let us know of any issues on [chuck-users], 
[chuck-dev], or email, and HappY ChucKing!

chuck team

   - (added) multi-channel audio
             - use --channels<N> or -c<N> set number of channels
               for both input and output
             - use --out<N>/-o<N> and --in<N>/-i<N> to request
               # of input and output channels separately
             - stereo is default (for now)
   - (added) UGen.channels()
   - (added) class UGen -> class UGen_Multi -> class UGen_Stereo
   - (added) UGen UGen_Multi.chan( int )
             use this to address individual channels
   - (added) examples in examples/multi
             - n.ck : n channels detuned sine
             - i.ck : n channels impulse
   - (added) HID support (author: Spencer Salazar)
   - (added) 'HidIn' event class (see examples/hid/*.ck)
   - (added) Terminal Keyboard Input (immediate mode, separate from HID)
   - (added) 'KBHit' event class (see examples/event/kb*.ck)
   - (added) sndbuf.chunks : better real-time behavior
             - can be set to arbitrary integers
               (before the .read happens)
             - default is 0 frames (no chunk)
             - set .chunks to 0 to read in entire file
               (previous behavior)
   - (added) int math.isinf( float ) // infinity test
   - (added) int math.isnan( float ) // NaN test
             (see examples/basic/infnan.ck)
   - (added) sndbuf.valueAt( int ) for returning sample at arbitrary pos
             (see examples/basic/valueat.ck)
   - (added) 'StkInstrument' class
               .noteOn( float )
               .noteOff( float )
               .freq( float ) / .freq()
               .controlChange( int, float )
   - (added) the following now extend 'StkInstrument'
             (most of them have additional parameters)
               - BandedWG
               - BlowBotl
               - BlowHole
               - Bowed
               - Brass
               - Clarinet
               - Flute
               - FM (and all its subclasses: BeeThree, FMVoices,
                     HevyMetl, PercFlut, Rhodey, TubeBell, Wurley)
               - Mandolin
               - ModalBar
               - Moog
               - Saxofony
               - Shakers
               - Sitar
               - StifKarp
               - VoicForm
   - (added) better STK documentation
   - (added) examples/stk/modulate.ck
   - (added) --watchdog and --nowatchdog flags
             (very experiment watchdog for real-time audio)
   - (added) () => function; // calls function();
             (thanks to Mike McGonagle for reporting)
   - (added) if exp: ( cond ? if_cond : else_cond )
             (thanks to Mike McGonagle for reporting)
   - (added) math.abs( int ), math.fabs( float ), math.sgn( float )
             (std version unchanged)
   - (added) new examples
               - basic/infnan.ck
                      /fm.ck fm2.ck fm3.ck
               - event/kb.ck kb2.ck
               - hid/joy.ck
               - multi/i.ck
               - osc/s.ck
               - stk/bandedwg.ck
   - (fixed) sinsoc, triosc, sqrosc, phasor:
               - .sync( 0 ) uses input signal to modulate frequency
               - .sync( 2 ) uses input signal to modulate phase
                 (FM synthesis)
   - (fixed) impulse.last() no longer has extra samp delay
             (thanks to Mike McGonagle for reporting)
   - (fixed) class inheritance now handles the first overloaded
             function of a parent correctly when called using a
             subclass instance.  in other words, this part sucks
             less now.
             (thanks to Mike McGonagle for reporting)
   - (fixed) (internal) type checker re-instantiation patched
   - (fixed) (internal) detach_all() moved to chuck_globals.cpp
   - (fixed) (internal) global variables moved to chuck_globals.cpp
   - (fixed) file handles close in compiler and parser
   - (fixed) syntax error causing syntax errors

More information about the chuck mailing list