Dear all,
Greetings! chuck-1.4.0.0 (numchucks) is available:
http://chuck.stanford.edu/http://chuck.cs.princeton.edu/
This is a major release of ChucK, and is mostly a massive code
refactor -- huge thanks to Jack Atherton for months of groundwork.
It is now...
1) ...much easier to embed ChucK as a lib/module/component into
other host systems (e.g., Unity... more on that in the coming
weeks); (developers looking to embed chuck: the core engine
can be found in src/core/; the command line host is now in
src/host/ -- also as an example for new hosts)
2) ...possible to support any number of ChucK/VM instances in
the same address space (hence "numchucks")
Please see the release notes at the end of this email and, as
usual, thank you and happy ChucKin!
Best,
Spencer, Jack, Ge and the chuck team
1.4.0.0
---
****************************************************
* MAJOR SOURCE REFACTOR!!!!!!!!!!!!!!!!!!!!!!!!!!!!*
* (Thanks Jack Atherton for months of groundwork!) *
****************************************************
********************************************************
* NOTE: 1.4.0.0 is a simultaneous release with 1.3.6.0;*
* the two are identical except 1.3.6.0 also supports *
* earlier version of OS X before 10.9 (back to 10.5). *
********************************************************
- (added) support for 64-bit on windows
- (added) Chuck_External API for including and running ChucK from
elsewhere in C++
- specify the sample rate
- optionally specify the directory that me.dir() should
evaluate to; this dir will also be scanned for chugins
- optionally use custom callbacks for out and err messages
from ChucK
- (added) external keyword - for communicating variable values to
and from C++ code using Chuck_External API
- (developer) ChucK "core" as library, independent of external
system audio I/O; now much easier to embed ChucK as a
component in other hosts (e.g., command line, plugins, Unity, etc.)
- (developer) ChucK "host" (command line app)
- (developer) SOURCE: code support for multiple ChucK/VM instances
- (developer) SOURCE: one file to include them all (chuck.h)
- (developer) c_str() method for Chuck_Strings, so that chugins with a
different definition of std::string can still construct their own
string
- (developer) API for chugin API calls
- now API variable must be passed
- SHRED variable must also occasionally be passed
- (internal) refactored Chuck_String representation to be immutable
- (internal) refactored to eliminate global VM, compiler, and env
variables
- compiler stores a reference to env
- compiler stores a reference to vm
- vm stores a reference to env
- env stores its own top-level types; no more global type
variables
- DL_Query stores a reference to compiler
- (internal) refactored all print statements to use new macros