![](https://secure.gravatar.com/avatar/e31c7480e296bd78e00f7d9e88e38693.jpg?s=120&d=mm&r=g)
Dear all, chuck-1.2.1.2 (dracula) is available: http://chuck.cs.princeton.edu/ This release introduces dynamic auto-growing arrays, various fixes, enhancements, and likely new and better bugs/features (see below for a full list). Rebecca and I have added additional UAnae (unit analyzers, see http://chuck.cs.princeton.edu/uana/) in preparation for an all-new upcoming toolkit (following in the footsteps of S.M.E.L.T., see http://smelt.cs.princeton.edu/), which Rebecca will announce soon! A new miniAudicle is on the way from Spencer, as well as an updated audicle version. As always, let us know if you encounter unexpected fishiness (and expected fishiness as well). Many many thanks to Kassen, Kijjaz, Eduard, folks on the electro-music chuck forum, chuck-users, PLOrk, SLOrk, students and staff at CCRMA and Princeton, Fernando Lopez-Lezcano, Carr Wilkerson, and rest of the chuck community for helping to make this release happen!! Thanks and Happy ChucKing, UpChucKing! Best, chuck team CHANGES --- 1.2.1.2 - (added) dynamic, resizable arrays .size( int ) resizes array; .size() returns current size() << operator appends new elements into array .popBack() pops the last element of the array, reducing size by 1 .clear() zero's out elements of the array (see examples/array/ array_dyanmic.ck array_resize.ck) - (added) new UAna: FeatureCollector turns UAna input into a single feature vector, upon .upchuck() new UAna: Flip turns audio samples into frames in the UAna domain new UAna: pilF turns UAna frames into audio samples, via overlap add new UAna: AutoCorr computes the autocorrelation of UAna input new UAna: XCorr computes the cross correlation of the first two UAna input - (added) UGen.isConnectedTo( Ugen ) // is connected to another ugen? - (added) UAna.isUpConnectedTo( UAna ) // is connected to another uana via =^? - (added) int Shred.done() // is the shred done? int Shred.running() // is the shred running? - (added) int Math.ensurePow2( int ) - (added) Math.INFINITY, Math.FLOAT_MAX, Math.FLOAT_MIN_MAG, Math.INT_MAX - (added) TriOsc.width(), PulseOsc.width(), SawOsc.width(), SqrOsc.width() - (added) Std.system(string) is now disabled by default, to enable: specify the --caution-to-the-wind command line flag, for example: %> chuck --caution-to-the-wind --loop - (removed) SqrOsc.width( float ), width is always .5 - (fixed) it's now (again) possible to multiply connect two UGen's - (fixed) OS X only: sudden-motion-sensor HID no longer introduces audio dropouts below peak CPU usage due to added centralized polling; added static Hid.globalPollRate( dur ) to control the central SMS polling's rate - (fixed) Windows only: implementation of array via STL vector::reserve() has been replaced with a more compatible approach (see chuck_oo.cpp) - (fixed) dac amplitude no longer halved! NOTE: this increases the gain from before by a factor of 2, or roughly 6 dB!! BEWARE!! - (fixed) corrected order of shred/ugen dealloc in VM destructor, preventing a potential crash during shutdown - (fixed) UAna can now upchuck() at now==0 - (fixed) STK Chorus UGen now has reasonable defaults .max( dur, float ) for initializing to delay/depth limits .baseDelay( dur ) sets current base delay - (fixed) dur +=> now no longer crashes - (fixed) ADSR now returns attackTime, decayTime, and releaseTime that corresponds to the duration-based setting functions (internally multiplied by SR) (thanks Eduard) - (fixed) STK Mandolin no longer plays without explicit noteOn - (fixed) unsporked Shred instances now given id == 0 (thanks Kassen) - (fixed) typos in ugen_xxx.cpp and chuck-specific rtaudio.cpp (/moudi)