version 1.2.0.3 released
Dear All, chuck-1.2.0.3 (dracula) is now available. Once again, we have made some small (but potentially critical) language and API changes (very sorry). The experimental 'loop' keyword has been renamed to 'repeat', std.abs() now deals with int (instead of float) and std.fabs() uses floats. Additionally, a sizable bug in instantiating arrays of null object references have been fixed (we hope), and /* block comments */ are now supported. See below for more details. http://chuck.cs.princeton.edu/release/ (may need to reload page to see update) Please let us know of any issues, and as always, HappY ChucKing! Best, chuck team --- 1.2.0.3 (API changes again) (syntax change - 'loop' -> 'repeat') - loop( ... ) construct (see 1.2.0.2) changed to repeat( ... ) - usage and semantics same as before - this is also an experimental language feature (let us know if it's good or bad) - float std.abs( float ) changed -> int std.abs( int ) - use std.fabs( ... ) for floating point absolute value - (added) /* block comments */ - no nesting allowed - closing '*/' not necessary if commenting out rest of the file - (fixed) arrays of null object references correctly allocated : Event @ events[128]; - (fixed) DEFAULT sndbuf rate now set correctly to interpolate for files outside of chuck sample rate (no longer have to explicit do 1 => buf.rate) - (fixed) examples/midi/polyfony*.ck no longer creates 128 unnecessary events... - (changed) examples/stk/wurley.ck -> examples/stk/wurley2.ck - (changed) examples/stk/wurley.ck (wacky version)
On 21-Oct-05, at 1:20 AM, Ge Wang wrote:
Once again, we have made some small (but potentially critical) language and API changes (very sorry). The experimental 'loop' keyword has been renamed to 'repeat', std.abs() now deals with int (instead of float) and std.fabs() uses floats.
I'm not complaining, but if you plan to change the API for every release, it may be good to have a "convert-ck" program that makes these changes (or warns you if it can't). This is modeled on "convert-ly", which updates lilypond files -- for the past few years, the lilypond syntax has been quite unstable. convert-ly does global search and replaces on old lilypond files. For example, for the 1.2.0.3 release, a "convert-ck" program would change every instance of "loop" to "repeat", and prints a warning that "std.abs()" has been split into ".abs" and ".fabs" and may cause problems. (since it would be difficult if not impossible to determine if .abs should change to .fabs with regex) If there's sufficient interest, I could take a first stab at making this. I don't know if it's worth it, though -- how often will the APIs be changing? How much of a problem is it for users? It might be better to wait until chuck is a bit more stable (say, a 2.0 or 3.0 release) before introducing this kind of program. Cheers, - Graham
That's a really good idea Graham. Note that the reason we had to deprecate the new loop keyword was that some unit generators had member variables named loop: sndbuf s; 1 => s.loop; so we we got hammered by the duplication. If you write a convert script, make sure it knows not to convert .loop to .repeat Thanks, PRC
participants (3)
-
Ge Wang
-
Graham Percival
-
Perry R Cook