[chuck-users] (dracula) unleashed!

Ge Wang ge at ccrma.Stanford.EDU
Mon Oct 5 07:39:41 EDT 2009

Dear all,

chuck- (dracula) is available:


This release, long overdue, introduces experimental/initial support for 
file I/O (thanks to many folks who have contributed, including Andrew 
Schran and Martin Robinson, both of whom have provided much 
implementation and design). Along with the file I/O functionality comes 
several new languages features and special objects, including using => 
and <= (the "back-chuck" operator, as Spencer calls it), as well as chout 
(stdout, pronounced "shout") and cherr (stderr, pronounced "Cher"). 
Additionally, a few of function overloading and other issues from the 
chuck-users list have been resolved (hopefully).  As always, please let 
us know of any bugs/features you encounter!

(Please see the release notes at the end of this email.)

Many many thanks once again to Kassen, Inventor, and everyone on 
chuck-users, as well as the electro-music chuck forum, PLOrk, SLOrk, 
folks at Smule, Fernando Lopez-Lezcano, Carr Wilkerson, Chris Chafe, 
Andrew Schran, Martin Robinson, and the rest of the chuck community for 
making this release happen!

Thanks and Happy ChucKing, UpChucKing!

Ge + Spencer, on behalf of entire chuck team

   - (added) initial/experimental support for file I/O (finally)
             (thanks to Andrew Schran, Martin Robinson)
   - (added) new class: IO, FileIO
             see examples/io/:
                 readline.ck - using readline
                 write.ck - write using <=
                 write2.ck - write using .write()
   - (added) IO input via =>
   - (added) IO output via <= (the "back-chuck")
             example: fio <= x <= " " <= y <= "\n";
   - (added) new syntax for checking if/while/for/until with IO objects
             e.g., while( fio => i ) { ... }
   - (added) StdOut/StdErr objects:
             "chout" (pronounced "shout")
             "cherr" (pronounced "Cher")
   - (added) Hid.open() now can accept a device name parameter
   - (added) analysis/tracking examples are now back
             (thanks to Kassen for looking into this)
   - (fixed) calling overloaded functions with most specific match
             e.g., Specific extends General:
             fun void foo( General obj ) { }
             fun void foo( Specific obj ) { }
             foo( obj $ Specific ); // should call foo( Specific )
             (thanks to Robert Poor for reporting, to Kassen, David Rush,
             Michael Heuer, and Andrew C. Smith for follow-up)
   - (fixed) STK instruments control changes reports range issues as
             "control value exceeds nominal range"; previously printed
             hard-coded values that were potentially misleading
             (thanks to Kassen for reporting)
   - (fixed) all oscillators now produce audio for negative frequencies
             (thanks to Luke Dahl)
   - (fixed) incorrect UGen disconnect (thanks Kassen for reporting)
   - (fixed) type checker now validates if/while/for/until types
   - (fixed) linux compilation (for gcc 4.x)
   - (fixed) complilation on OS X Snow Leopard

Ge Wang
Assistant Professor
Center for Computer Research in Music and Acoustics (CCRMA)
Stanford University
Co-founder, CTO, Chief Creative Officer

More information about the chuck-users mailing list