[chuck] (dracula) released

Ge Wang gewang at CS.Princeton.EDU
Thu Mar 22 04:07:30 EDT 2007

Dear all,

chuck- (dracula) is available:


Many goodies, feature/bug enhancements, better bugs and more!  A major 
HID backend update by Spencer (plus OS X enhancements: access to sudden 
motion sensor, hot plugging, etc.), "Dynamics": a Companimuckergate 
(compressor / expander / limiter / ducker / gate) finally makes it in 
(thanks to Matt Hoffman and Graham Coleman!!).  Masterman Dan Trueman 
brings his totally wild live/granular sampling UGen to ChucK via the 
"LiSa" UGen, and ports the classic GenX family from RTcmix.  Much bug 
fixins.  Oh, one can finally concatenate strings (warning: this may 
introduce small memory leaks in the process until garbage collection is 
finished - so use with care and hopefully outside of tight inner loops). 
Massive: Spencer has gone through and updated the majority of the 
documentation (manual and online) and additions will continue to be made! 
As always, let us know if you encounter unexpected fishiness!

* new miniAudicle (Spencer will announce soon!)
* chuck~ for Max/MSP by Brad Garton, and for PD by Martin Robinson
- http://music.columbia.edu/~brad/chuck~/
- https://lists.cs.princeton.edu/pipermail/chuck-users/2007-March/001619.html
* S.M.E.L.T.!!! by Rebecca and Ge
- http://smelt.cs.princeton.edu/

A TON of thanks to Kassen, Larry Simon, Jim Bumgardner, Brad Garton, 
Martin Robinson, Graham Coleman, Bruce Murphy, Scott Wheeler, Eduard 
Aylon, Kijjaz, Matjutsu, and the rest of the chuck community for 
invaluable contributions to this release!!

Thanks and Happy ChucKing!

chuck team

   - (added) command line argument support
             e.g. %> chuck foo.ck:1:hello bar:2.5:"with space"
                  also works with OTF commands
             e.g. %> chuck + foo:1:yo
                  also works with Machine.add( ... )
             e.g. // code
                  Machine.add( "foo:1:2:yo" );
             (see examples/basic/args.ck for accessing from code)
   - (added) OS X: watchdog enabled
             win32: watchdog implemented and enabled
             (combats chuck infinite empty loop implosion)
   - (added) OTF server/listener now ON by default...
             to enable, specify --loop or --server
             to disable, specify --standalone
   - (added) new UGens:
             Dynamics: dynamics processor (compressor, expander, etc.)
                   (author Matt Hoffman and Graham Coleman)
                   (see examples/special/)

             GenX: classic + new lookup table functions base class
                   (author Dan Trueman, ported from RTCMix)
                   (see examples/special/)

                   float .lookup( float ) : lookup table value
                   float[] .coeffs( float[] ) : load the table
             Gen5 (extends GenX)
             Gen7 (extends GenX)
             Gen9 (extends GenX)
             Gen10 (extends GenX)
             Gen17 (extends GenX)
             CurveTable (extends GenX)
             WarpTable (extends GenX)

             LiSa: (Li)ve (Sa)mpling!
                   (author Dan Trueman, partly based on Dan's munger~)

   - (added) (prototype) string catenation
             (for now will leak memory! use wisely!!!)
             e.g. // expression
                  "a" + "b"
                  "a" + 45
                  "a" + 5.1
                  "postfix" +=> str;
   - (added) string escape sequences
             \0 \n \t \a \" \b \f \r \v \\
             \nnn (3 digit octal ascii)
   - (added) new Objects:
             StringTokenizer: uh string tokenizer (by whitespace)
                 (use to be hidden PRC object)
                 see examples/string/token.ck

             ConsoleInput: interim console input (until file I/O)
                 (use to be hidden Skot object)
                 see examples/string/readline.ck


   - (api)   API additions
             -------- (also see API modifications below)
             ADSR: dur attackTime()
                   dur decayTime()
                   float releaseTime( float ) -> dur releaseTime( dur )
   - (api) deprecated --> new classes
        HidIn  -->  Hid

   - (fixed) adc.last() now returns correct value (was returning 0)
   - (fixed) array is now subclass of Object
   - (fixed) accessing null array no longer crashes (instead: exception)
   - (fixed) allow: 0 length float arrays
   - (fixed) check for negative array size
   - (fixed) accessing null map no longer crashes (instead: exception)
   - (fixed) connecting null UGen references no longer crashes
   - (fixed) trivial (null == null) no longer evaluated as string
   - (fixed) strict (x,y) => z type checking
   - (fixed) UGens no longer able to make duplicate connections
   - (fixed) && now terminates early if an operand evaluates to 0
             || terminates early if an operand evaluates to 1
   - (fixed) bug accessing static members of built-in classes
   - (fixed) OscSend.startMsg no longer silently fails when
             using a single string message specification
   - (fixed) Math.atan2 now accepts the proper arguments
   - (fixed) increased OTF command network fail-safe measures
   - (fixed) STK BlitSquare now produces correct frequency
             (applied fix from STK release)
   - (fixed) no longer spontaneously crashes when HidIn and
             other event based input mechanisms are firing rapidly
   - (fixed) using non-static variables from inside static functions
   - (fixed) variables must be declared before being used

More information about the chuck mailing list