new in chuck-1.2.x.x: (see
current release notes and
what's busted)
- arrays
- integer-indexed and associative
- multidimensional
- classes and objects
- create your own classes
- polymorphic inheritance (similar to java | virtual in c++)
- extend existing classes (object, ugen, event, etc.)
- function overloading
- also support static data and functions
- language specification (finally)
- events - fundamental synchrnization mechanism
- shreds can advance time by waiting on events
- events can be signaled (wake one shred) or broadcast (wake all shreds)
- can be subclassed to create custom events
- stereo (finally)
- all stereo ugen has .left and .right members
- new ugen: pan2
- new ugen: mix2
- adc and dac are now stereo
- better MIDI support
- MidiMsg class replaces hexidecimal literals
- MidiIn can be polled as before
- MidiIn can also be used as an event to wait on
- added OSC support
- string
- new operators
- +=>, -=>, *=>, /=>, %=>
- @=> for assignment
- @ for reference
- val $ T - casting val to type T
- <<< x, y, z >>> for printing out values quickly
- language features
- type system reimplemented to support classes, arrays
- new bug fixes, new bugs
- forward lookup of classes and functions
- function calling by chucking: (x, y) => z.foo /* same as */ z.foo( x, y)
- function overloading
- implicit int to float casting (finally)
- stack overflow detection (for large recursion)
- command line
- --probe prints all audio and MIDI devices on system
- --log or --verbose logs compiler and virtual machine
- different log levels
- -N sporks the next command line shred N times
- and more...
and now...
let me have it! | get it away from me!
|