[chuck] 1.3.2.0 (chimera) released

Spencer Salazar spencer at ccrma.stanford.edu
Mon Sep 23 04:05:42 EDT 2013


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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.cs.princeton.edu/pipermail/chuck/attachments/20130923/6081d6a6/attachment.html>


More information about the chuck mailing list