1.3.2.0 (chimera) released
Howdy, chuck 1.3.2.0 + miniAudicle 1.3.0 have been released: http://chuck.stanford.edu/release/ Our first release in a year is an exciting one. In anticipation of a number of ChucK-based computer music education initiatives (the forthcoming book "Programming for Musicians and Digital Artists" and Coursera course of the same name), we have added a number of conspicuously absent features and libraries, alongside cleaning up a large number of The most significant change is to formally release chuck as an installer package on Mac OS X and Windows platforms. These installer packages include chuck, miniAudicle, related example files, and the standard set of chugins. (Separate installation of these components is possible but discouraged and not necessarily supported.) Linux, for the time being, is still released as separate source distributions. SerialIO will allow ChucK programmers to easily interact with serial-based hardware devices such as Arduino. A number of string processing utilities have been added. Furthermore, the clear.vm command will enable more dynamic on-the-fly development with public classes. In miniAudicle, the underlying application core on Windows/Linux has been completely rewritten in Qt, greatly improving stability and overall experience. A number of other features and improvements have been added. Special thanks to Ajay Kapur, Kassen, Mark Morris, Bruce Lott, Fernando Lopez-Lezcano, and Romain Michon. Best regards, Spencer, Ge, and the ChucK team. chuck 1.3.2.0 --- - (added) --clear.vm flag instructs remote VM to remove all shreds and clear public user types - (added) Std.ftoi(float f) Function for converting float to int - (added) ASCII char literals - 'c' converted to int with ASCII value - (added) book/digital-artists example programs for forthcoming book: "Programming for Musicians and Digital Artists" (Manning Publications) (very special thanks to Mark Morris and Bruce Lott for sample production) - (added) new functions - me.path() equivalent to me.sourcePath() - me.dir() equivalent to me.sourceDir() - me.dir(int N) return Nth-level parent of source directory - Shred.fromId(int id) return Shred object corresponding to specified id - (added) new functions for string objects - .charAt(int index) return character of string at index - .setCharAt(int index, int ch) set character of string at index to ch - .substring(int pos) return new string with characters from pos to end of string - .substring(int pos, int len) return new string with characters from pos of length len - .insert(int pos, string str) insert str at pos - .erase(int pos, int len) remove len characters from string, beginning at pos - .replace(int pos, string str) replace characters of string at pos with str - .replace(int pos, int len, string str) replace len characters of string with str, starting at pos - .find(int ch) search for character ch in string, return index of first instance - .find(int ch, int pos) search for character ch in string, return index of first instance at or after index pos - .find(string str) search for string str in string, return index of first instance - .find(string str, int pos) search for string str in string, return index of first instance at or after index pos - .rfind(int ch) search for character ch in string, return index of last instance - .rfind(int ch, int pos) search for character ch in string, return index of last instance at or before index pos - .rfind(string str) search for string str in string, return index of last instance - .rfind(string str, int pos) search for string str in string, return index of last instance at or before index pos - (added) MidiFileIn class Class for parsing + handling MIDI input from a file. See examples/midi/playmidi.ck for example usage. - .open(string filename) Open file at specified path - .read(MidiMsg inMsg) Get next message in first track - .read(MidiMsg inMsg, int trackNo) Get next message in trackNo - (added) SerialIO class (extends IO) Class for communicating with serial devices, e.g Arduino. See examples/serial/ for example usage. - .list() (static) return array of strings corresponding to available serial IO devices - .open(int i, int baud, int mode) open device with index i. baud can be a constant specifying which standard serial baud rate is used (e.g. SerialIO.B9600). mode can be SerialIO.ASCII or SerialIO.BINARY to specify ASCII or binary interpretation of serial data. - .onLine() - .onByte() - .onBytes(int num) - .onInts(int num) - .onFloats(int num) chuck to now to wait for that type of data to arrive (in the specified quantity). E.g. serial.onLine() => now; will wait for 1 newline-terminated string to arrive from the serial device. - .getLine() .getByte() retrieve data requested as above as string/byte - .getBytes() .getInts() .getFloats() retrieve data requested using the onLine()/etc. above. as array of data type - .baudRate() .baudRate(int baud) get/set baud rate - SerialIO.B2400 SerialIO.B4800 SerialIO.B9600 SerialIO.B19200 SerialIO.B38400 SerialIO.B7200 SerialIO.B14400 SerialIO.B28800 SerialIO.B57600 SerialIO.B115200 SerialIO.B230400 available baud rates - (added) Regex class Class for regular expression matching and replacing in strings. Regex style is POSIX-extended. - RegEx.match(string pattern, string str) Return true if match for pattern is found in str, false otherwise - RegEx.match(string pattern, string str, string matches[]) Same as above, but return the match and sub-patterns in matches matches[0] is the entire matched pattern, matches[1] is the first sub-pattern (if any), and so on. - RegEx.replace(string pat, string repl, string str) Replace the first instance of pat in str with repl, returning the result. - RegEx.replaceAll(string pat, string repl, string str) Replace all instances of pat in str with repl, returning the result. - (fixed) --adc:<N> now works as expected - (fixed) FileIO => string bug - (fixed) LiSa.sync/LiSa.track now works when set to 1 (playhead follows input, normalized/rectified to [0,1]) 2 (playhead follows input, non-normalized/rectified) affects examples/special/LiSa-track*.ck - (fixed) LiSa interpolation bug - (fixed) .clear() function of arrays properly removes all items of the array - (fixed) != properly handles comparison between a string and literal null - (fixed) multichannel refcounting bug - (fixed) WvOut performs IO writes on separate thread, significantly minimizing audio underruns - (fixed) crash in Chorus destructor - (fixed) crash in Mandolin destructor - (fixed) ADSR correctly initialized in "DONE" state miniAudicle --- 1.3.0 - (added) chuck-1.3.2.0 - (added)(Win/Linux) completely new GUI architecture based on Qt - (added) Clear VM function -- remove all shreds and reset public user types - (added) export as WAV + Ogg + M4A (Mac only) + MP3 (if lame exe present) - (added) examples browser - (added) editor tabs - (added) complex/polar type names highlighted - (added) highlight chout/cherr - (added) Class/UGen type names highlighted - (added)(Windows) .ck file association and double-click to open in shell - (fixed) better read-only file handling - (fixed)(Mac) chugin browser icons not appearing in 10.5/10.6 - (fixed)(Mac) better MAUI stability - (fixed)(Windows) Windows XP emulation mode no longer required on Vista/7
participants (1)
-
Spencer Salazar