Re: chuck Digest, Vol 18, Issue 3
Congratulations on the release! I look forward to learning all the new stuff you've made. A quick question that I need to answer for a potential Chuck project: is there a Chuck function that returns today's date in some form? I remember a built-in function in C that did this–is there a Chuck equivalent? Again, excellent work and congrats on the release. As soon as the Audicle gets set, I can sit out front with a projector and amaze unwitting passersby. --Jeff On Aug 25, 2005, at 9:00 AM, chuck-request@lists.cs.princeton.edu wrote:
Send chuck mailing list submissions to chuck@lists.cs.princeton.edu
To subscribe or unsubscribe via the World Wide Web, visit https://lists.cs.princeton.edu/mailman/listinfo/chuck or, via email, send a message with subject or body 'help' to chuck-request@lists.cs.princeton.edu
You can reach the person managing the list at chuck-owner@lists.cs.princeton.edu
When replying, please edit your Subject line so it is more specific than "Re: Contents of chuck digest..." Today's Topics:
1. version 1.2.0.0 (dracula) released (Ge Wang) 2. spork ~ chuck-users ( new mailing_list + more ) (Ge Wang)
From: Ge Wang
Date: August 25, 2005 6:07:57 AM PDT To: ChucK Audio Programming Language Mailing List Subject: [chuck] version 1.2.0.0 (dracula) released Dear All,
chuck-1.2.0.0 is released. (Sorry.) This is the "v2" major release. Additions include arrays, objects and classes, events, and more. A full list of new and updated features can be found at the end of this email.
http://chuck.cs.princeton.edu/
We have also put together a draft of a language specification (finally). It is not complete yet and will be improved as (real) time is advanced:
http://chuck.cs.princeton.edu/doc/language/
We have been testing this release along the way. However, since this is the initial release, there is probably a healthy amount of egregious bugs! Please let us know if you run into anything fishy (email one of us directly, post to chuck-dev or the newly created chuck-users list). Same goes for the documentation. Actually, any type of feedback would be greatly appreciated.
Many thanks to the great people who have contributed ideas, code, and time to this release! Thanks to everyone for being so patient with this release.
Development shall continue as we fix the bugs, add new features (and more bugs).
Please let us know if you run into any problems. HappY ChucKing!
Best, ChucK Team (Perry, Ananya, Phil, Adam, Ajay, Ge ...)
--- 1.2.0.0
SYNTAX and OPERATORS: - (added) +=>, operator : 2 +=> i; (also) -=>, *=>, /=>, %=> - (added) @=> for explicit assignment this is the only way to make object reference assignments - (added) implicit int to float casting - (changed) cast now look like: 1.1 $ (int) => int i; - (added) function call by chucking : // call (1,4) => math.rand2f => result; // same as math.rand2f(1,4) => result;
LANGUAGE: - (fixed) type system for existing types - (added) forward lookup of classes and functions (mutual recursion) - (added) stack overflow detection for massive recursion
DOCUMENTATION: - (added) language specification: http://chuck.cs.princeton.edu/doc/language
COMMAND-LINE: - (added) --probe prints all audio and MIDI devices - (added) --log or --verbose logs compiler and virtual machine - (added) --logN or --verboseN multi level logging 1 - least verbose 10 - most verbose
OBJECTS: - (added) 'class' definitions : class X { int i; } - (added) 'extends' keyword : class Y extends Event { int i; } - (added) virtual/polymorphic inheritance - (added) added pre-constructors - code at class level gets run when object is instantiated - (added) function overloading : class X { fun void foo() { } fun void foo( int y ) { } } - (added) base classes (can be extended): Object, Event, UGen see below - (added) base classes (cannot be extended): array, string see below - (added) member data - (added) static data - (added) member functions - (added) static functions
EVENTS: - (added) base Event class : Event e; can be used directly can be extended to custom events (see one_event_many_shreds.ck) - (added) waiting on event, chuck to now : e => now; // wait on e - (added) e.signal() wakes up 1 shred, if any - (added) e.broadcast() wakes up all shreds waiting on e - (added) class MidiEvent (see gomidi2.ck) alternative to polling. - (added) class OSCEvent
ARRAYS: - (added) arrays : int a[10]; float b[20]; Event e[2]; - (added) multidimensional arrays : int a[2][2][2]; - (added) associative arrays : int a[10]; 0 => a["foo"]; all arrays are both int-indexed and associative - (added) array initialization : [ 1, 2, 3 ] @=> int a[]; - (added) .cap() for array capacity - (added) .find() test if item is associative array - (added) .erase() erase item in associative array
UGENS: - (added) class UGen can be extended - (changed) all ugen parameters are now also functions: // set freq 440 => s.freq => val; // same as... s.freq( 440 ) => val; - (changed) left-most parameters must now be called as functions // no longer valid f.freq => float val; // valid f.freq() => float val; // still ok 440 => s.freq => float val;
SHREDS: - (added) class Shred - (added) .yield() .id()
STRINGS: - (added) class string
AUDIO: - (added) stereo all stereo unit generators have .left, .right, .pan functions - (changed) stereo ugen: dac (2 in, 2 out) - (changed) stereo ugen: adc (0 in, 2 out) - (added) stereo ugen: pan2 take mono or stereo input and pans - (added) stereo ugen: mix2 mix stereo input into mono
From: Ge Wang
Date: August 25, 2005 6:12:07 AM PDT To: ChucK Audio Programming Language Mailing List Subject: [chuck] spork ~ chuck-users ( new mailing_list + more ) Dear All,
Along with the new release, we have made a new mailing list (chuck-users), intended for specific questions and discussions about using chuck. This list (chuck) will (soon) become a moderated, low-traffic mailing list intended for updates, announcements, tutorials, and low-bandwidth discussions.
Hopefully the folks that are interested in chuck can remain on (chuck) without being potentially spammed too much, and those that have specific questions can fire away on (chuck-users) with a clean conscience!
Additionally, we have been graciously given permission to abuse an entity called 'soup kitchen'. It is the state-of-the-art in anti-social networking. It contains many nice features (all conversations are by default world-readable, optional email notification of new replies to topics, and is rather elegant) that may be to useful as a semi-realtime semi-anonymous forum. The author, Visnu Pitiyanuvath, will work with us to further enhance the site to make it more useful and fun.
Links to all the lists and soup kitchen can be found here:
http://chuck.cs.princeton.edu/community.html
Join, if you like. Have fun!
Best, ChucK Team
_______________________________________________ chuck mailing list chuck@lists.cs.princeton.edu https://lists.cs.princeton.edu/mailman/listinfo/chuck
Thanks Jeff! Currently, there is no function that returns time-of-day. We will put this on the list for the next minor release coming soon. It should be similar to C's gettimeofday(). Yes, the audicle is well on its way (as if ChucK does not pose enough threat to your computer's stability). Best, Ge! On Aug 25, 2005, at 2:19 PM, Jeffrey Treviño wrote:
Congratulations on the release! I look forward to learning all the new stuff you've made.
A quick question that I need to answer for a potential Chuck project: is there a Chuck function that returns today's date in some form? I remember a built-in function in C that did this–is there a Chuck equivalent?
Again, excellent work and congrats on the release. As soon as the Audicle gets set, I can sit out front with a projector and amaze unwitting passersby.
--Jeff
On Aug 25, 2005, at 9:00 AM, chuck-request@lists.cs.princeton.edu wrote:
Send chuck mailing list submissions to chuck@lists.cs.princeton.edu
To subscribe or unsubscribe via the World Wide Web, visit https://lists.cs.princeton.edu/mailman/listinfo/chuck or, via email, send a message with subject or body 'help' to chuck-request@lists.cs.princeton.edu
You can reach the person managing the list at chuck-owner@lists.cs.princeton.edu
When replying, please edit your Subject line so it is more specific than "Re: Contents of chuck digest..." Today's Topics:
1. version 1.2.0.0 (dracula) released (Ge Wang) 2. spork ~ chuck-users ( new mailing_list + more ) (Ge Wang)
From: Ge Wang
Date: August 25, 2005 6:07:57 AM PDT To: ChucK Audio Programming Language Mailing List Subject: [chuck] version 1.2.0.0 (dracula) released Dear All,
chuck-1.2.0.0 is released. (Sorry.) This is the "v2" major release. Additions include arrays, objects and classes, events, and more. A full list of new and updated features can be found at the end of this email.
http://chuck.cs.princeton.edu/
We have also put together a draft of a language specification (finally). It is not complete yet and will be improved as (real) time is advanced:
http://chuck.cs.princeton.edu/doc/language/
We have been testing this release along the way. However, since this is the initial release, there is probably a healthy amount of egregious bugs! Please let us know if you run into anything fishy (email one of us directly, post to chuck-dev or the newly created chuck-users list). Same goes for the documentation. Actually, any type of feedback would be greatly appreciated.
Many thanks to the great people who have contributed ideas, code, and time to this release! Thanks to everyone for being so patient with this release.
Development shall continue as we fix the bugs, add new features (and more bugs).
Please let us know if you run into any problems. HappY ChucKing!
Best, ChucK Team (Perry, Ananya, Phil, Adam, Ajay, Ge ...)
--- 1.2.0.0
SYNTAX and OPERATORS: - (added) +=>, operator : 2 +=> i; (also) -=>, *=>, /=>, %=> - (added) @=> for explicit assignment this is the only way to make object reference assignments - (added) implicit int to float casting - (changed) cast now look like: 1.1 $ (int) => int i; - (added) function call by chucking : // call (1,4) => math.rand2f => result; // same as math.rand2f(1,4) => result;
LANGUAGE: - (fixed) type system for existing types - (added) forward lookup of classes and functions (mutual recursion) - (added) stack overflow detection for massive recursion
DOCUMENTATION: - (added) language specification: http://chuck.cs.princeton.edu/doc/language
COMMAND-LINE: - (added) --probe prints all audio and MIDI devices - (added) --log or --verbose logs compiler and virtual machine - (added) --logN or --verboseN multi level logging 1 - least verbose 10 - most verbose
OBJECTS: - (added) 'class' definitions : class X { int i; } - (added) 'extends' keyword : class Y extends Event { int i; } - (added) virtual/polymorphic inheritance - (added) added pre-constructors - code at class level gets run when object is instantiated - (added) function overloading : class X { fun void foo() { } fun void foo( int y ) { } } - (added) base classes (can be extended): Object, Event, UGen see below - (added) base classes (cannot be extended): array, string see below - (added) member data - (added) static data - (added) member functions - (added) static functions
EVENTS: - (added) base Event class : Event e; can be used directly can be extended to custom events (see one_event_many_shreds.ck) - (added) waiting on event, chuck to now : e => now; // wait on e - (added) e.signal() wakes up 1 shred, if any - (added) e.broadcast() wakes up all shreds waiting on e - (added) class MidiEvent (see gomidi2.ck) alternative to polling. - (added) class OSCEvent
ARRAYS: - (added) arrays : int a[10]; float b[20]; Event e[2]; - (added) multidimensional arrays : int a[2][2][2]; - (added) associative arrays : int a[10]; 0 => a["foo"]; all arrays are both int-indexed and associative - (added) array initialization : [ 1, 2, 3 ] @=> int a[]; - (added) .cap() for array capacity - (added) .find() test if item is associative array - (added) .erase() erase item in associative array
UGENS: - (added) class UGen can be extended - (changed) all ugen parameters are now also functions: // set freq 440 => s.freq => val; // same as... s.freq( 440 ) => val; - (changed) left-most parameters must now be called as functions // no longer valid f.freq => float val; // valid f.freq() => float val; // still ok 440 => s.freq => float val;
SHREDS: - (added) class Shred - (added) .yield() .id()
STRINGS: - (added) class string
AUDIO: - (added) stereo all stereo unit generators have .left, .right, .pan functions - (changed) stereo ugen: dac (2 in, 2 out) - (changed) stereo ugen: adc (0 in, 2 out) - (added) stereo ugen: pan2 take mono or stereo input and pans - (added) stereo ugen: mix2 mix stereo input into mono
From: Ge Wang
Date: August 25, 2005 6:12:07 AM PDT To: ChucK Audio Programming Language Mailing List Subject: [chuck] spork ~ chuck-users ( new mailing_list + more ) Dear All,
Along with the new release, we have made a new mailing list (chuck-users), intended for specific questions and discussions about using chuck. This list (chuck) will (soon) become a moderated, low-traffic mailing list intended for updates, announcements, tutorials, and low-bandwidth discussions.
Hopefully the folks that are interested in chuck can remain on (chuck) without being potentially spammed too much, and those that have specific questions can fire away on (chuck-users) with a clean conscience!
Additionally, we have been graciously given permission to abuse an entity called 'soup kitchen'. It is the state-of-the-art in anti-social networking. It contains many nice features (all conversations are by default world-readable, optional email notification of new replies to topics, and is rather elegant) that may be to useful as a semi-realtime semi-anonymous forum. The author, Visnu Pitiyanuvath, will work with us to further enhance the site to make it more useful and fun.
Links to all the lists and soup kitchen can be found here:
http://chuck.cs.princeton.edu/community.html
Join, if you like. Have fun!
Best, ChucK Team
_______________________________________________ chuck mailing list chuck@lists.cs.princeton.edu https://lists.cs.princeton.edu/mailman/listinfo/chuck
chuck-users mailing list chuck-users@lists.cs.princeton.edu https://lists.cs.princeton.edu/mailman/listinfo/chuck-users
participants (2)
-
Ge Wang
-
Jeffrey Treviño