Dear All, chuck-1.2.0.2 (dracula) is now available. Changes include class and member functions renaming for OSC objects (see below), stability and performance improvements for OSC, ability to open multiple OscRecv objects on a single port, experimental control construct 'loop', events fire with 0-sample delay instead of 1-sample, new/updated examples, and many various bug fixes (hopefully). http://chuck.cs.princeton.edu/release/ (may need to reload page to see update) Please let us know of any issues. HappY ChucKing! Best, chuck team --- 1.2.0.2 (sorry for the API changes) - (API change) OSC_Send class name changed to 'OscSend' (also): .startMesg(...) name changed to startMsg(...) - (API change) OSC_Recv class name changed to 'OscRecv' - (API change) OSC_Addr class name changed to 'OscEvent' (also): .hasMesg() name changed to .hasMsg() (also): .nextMesg() name changed to .nextMsg() - (API change) STK Shakers.freq now expect Hz instead of MIDI number - (moved) examples/event/opensound*.ck moved to examples/osc/OSC*.ck (see OSC_send.ck and OSC_recv.ck for examples on OpenSoundControl) - (moved) examples/event/polyfony*.ck to examples/midi/ - (added) 'loop(...){ }' control structure : example: loop( 8 ) { ... } // executes body 8 times example: loop( foo ) { ... } // executes body foo times (foo is evaluated exactly once entering the loop, the value at that time is used as a constant to control loop iteration - even if foo is changed in the loop body.) - supports break and continue - important: one fundamantal difference between the loop semantic and for/while/until semantic is that the argument expression 'exp' in loop( exp ) is evaluated exactly once when the loop is first entered. - (added) MidiIn and MidiOut member functions: .good() : whether the thing is good to go (int) .num() : the device number (int) .name() : the device name (string) .printerr( int ) : whether to auto print errors (default YES) - (added) --version command line flag (Graham) - (changed) chuck --status now prints shreds sorted by id (previously it was the current shreduling order + blocked) - (changed) a udp port may now be shared by many OSC_Recv (phil) : the incoming messages are broadcast to all - (changed) address/type string in OSC: comma now optional (phil) - (fixed) events are now 0-sample synchronous (instead of 1) - (fixed) startup audio stability for --callback mode - (fixed) incorrect 'continue' behavior in for loops - (fixed) improved OSC stability (phil) - (fixed) OSC shreduling sanity check failed now resolved - (fixed) math.round for negative numbers (win32) - (fixed) std.mtof and std.ftom now internally double precision - (fixed) removed extra console output in STK Flute - (fixed) multiple delete/assertion failure on type rollback - (fixed) chuck --kill now closes WvOut and MidiRW file handles - (added) examples/midi/gomidi.ck : very useful sometimes - (added) examples/midi/gomidi2.ck - (added) examples/basic/rec-auto.ck (rec2.ck back in action) - (added) examples/basic/fmsynth.ck (from v1) - (added) examples/sitar.ck - (fixed) examples/stk/*-o-matic.ck now uses array