Dear all,
Since chuck-1.5, we shipped a series of incremental releases. We thought
we'd spare your inbox (until now!) and offer a cumulative announcement.
The latest release -- chuck-1.5.0.5 (chai) -- just dropped:
https://chuck.stanford.edu/release/
WebChuck & IDE have also been updated to 1.5.0.5:
https://chuck.stanford.edu/webchuck/https://chuck.stanford.edu/ide/
===============
Some highlights
===============
* chuck in color -- color terminal support is here (for command-line
ChucK); compiler errors, probes, logs, on-the-fly programming (OTF), and
other messages are output in color, for easier reading and to be more
colorful
See some example screenshots:
https://chuck.stanford.edu/doc/images/chuck-tty-color2023.png
===
* speaking of compiler errors, ChucK (command-line, miniAudicle, and
WebChucK IDE) now display relevant code when reporting compiler errors,
and pinpointing the error location. For example:
```
error-testA.ck:3:5: error: class 'SinOsc' has no member 'test'
[3] foo.test();
^
error-testB.ck:5:12: syntax error
[5] */ it @ is not ! valid => syntax!
^
```
The improved error-reporting should make chuck a bit easier to use for
everyone, and especially for students learning the language.
===
* improved random number generator (RNG) on all platforms (and
especially on windows); ChucK now defaults to mt19937 (Mersenne Twister
with long period of 2^19937; when supported by the underlying platform)
and with a few additional tools/toys...
Some new random examples:
https://chuck.stanford.edu/doc/examples/math/randomize.ckhttps://chuck.stanford.edu/doc/examples/math/maybe.ckhttps://chuck.stanford.edu/doc/examples/math/int-dist.ck
===
* Machine.eval(...) now will immediately spork and synchronously run the
evaluated code as a new shred, while automatically yielding the current
shred to give the new shred a chance to run, all this without advancing
time. This opens the possibility for running generated code at runtime!
powerful! perilous!
Machine API reference:
https://chuck.stanford.edu/doc/reference/base.html#Machine
Machine.eval() examples:
https://chuck.stanford.edu/doc/examples/machine/eval.ckhttps://chuck.stanford.edu/doc/examples/machine/eval-global.ck
===
miniAudicle "quality of life" improvements for newcomers and veterans alike:
* miniAudicle "Help" menu now has items that will open websites in
the default browser -- for quick access to documentation:
"ChucK Class Library Reference..."
https://chuck.stanford.edu/doc/reference/
"ChucK Documentation..."
https://chuck.stanford.edu/doc/
"ChucK Community..."
https://chuck.stanford.edu/community/
* "Audio driver" drop-down selection in Preferences, for run-time
selection of different drivers: "DirectSound", "WASAPI", or "ASIO" on
Windows; "Jack", "Pulse", or "ALSA" on Linux
* Device Browser now has an "Audio driver" drop-down box that can select
an available driver to view its associated audio devices
* Preferences->ChuGins can now probe chugins on the systems
===
See what's new (full release notes):
https://chuck.stanford.edu/release/VERSIONS
Much more is on the way...
===
(For developers)
* improved build instructions for ChucK, miniAudicle, and Chugins on
their respective repository landing pages:
https://github.com/ccrma/chuck#readmehttps://github.com/ccrma/miniAudicle#readmehttps://github.com/ccrma/chugins#readme
=========================================
chuck one, chuck all -- join us!
https://chuck.stanford.edu/community/
=========================================
Happy ChucKing,
ChucK Team
~~~
Ge Wang
Associate Professor
Center for Computer Research in Music and Acoustics (CCRMA)
Department of Music (also Computer Science, by Courtesy)
Stanford University
https://ccrma.stanford.edu/~ge/
~
Artful Design: Technology in Search of the Sublime!
-- what we make, makes us --
https://artful.design/
~~~