[chuck-users] chuck- (numchucks) released!

Ge Wang ge at ccrma.stanford.edu
Tue May 12 05:07:12 EDT 2020

Dear Michael, Mario, and all,

Thanks for tuning in!  For those who missed it, the recording of Artful 
Design TV Episode #7: "Coding Music with ChucK" with guest co-hosts 
Perry Cook and Spencer Salazar is now posted in the Archive.  It was a 
fun one!


I agree with Michael and Mario -- this seems like an appropriate moment 
for us and the community to take stock and redouble ChucK development 
efforts.  Michael's list is a great jumping-off point.  Spencer and I 
have started merging and closing outstanding pull-requests on github and 
would encourage others to contribute new PRs.  On a personal note, even 
after 18 years I still find coding on ChucK a strangely restorative 
activity, perhaps extra so in quarantine.

Regarding ChucK as a library: indeed since, ChucK has been fully 
refactored into "core" and "host", where "core" is the ChucK VM and 
synthesis engine, encapsulated in a single "ChucK" class.  This refactor 
was mainly the efforts of Jack Atherton, who also used it to create 
Chunity (ChucK in Unity; http://chuck.stanford.edu/chunity). The broader 
implication is that it's now straightforward to embed ChucK as library 
or component into other systems and plugins.

To demonstrate how this works in practice, Jack has created an example 
of embedding ChucK into any host. The zip file can be found here:


So far this example builds only for MacOS and Linux, but should be 
easily adaptable to build for Windows.  In particular, we draw your 
attention to the simple host c++ file that 1) sets up a ChucK instance, 
2) compiles ChucK code using two approaches, and 3) handles the 
real-time audio callback from ChucK.


Well, that's it for now.  Thank you all and keep on ChucKin!


Ge Wang
Associate Professor
Center for Computer Research in Music and Acoustics (CCRMA)
Department of Music (also Computer Science, by Courtesy)
Stanford University
Artful Design: Technology in Search of the Sublime!
-- a book for the engineer with a soul --

On 5/11/20 12:30 PM, Mario Buoninfante wrote:
> Hi,
> I second what Michael said, the streaming was really cool and interesting!
> About the new features and "libchuck", I am more than happy to help out 
> as much as I can.
> I am not a C/C++ programmer, but I'm currently studying it.
> Recently I have done few little things in ChucK (mainly Chugins and easy 
> bug fixes documented on github) and am getting more and more familiar 
> with ChucK's source code, that is always useful.
> I suppose I could be of some help in some way.
> What I can do for sure though, is support with testing, mainly on Linux 
> but also MacOS and Windows.
> Also, about the github repo, it seems like there are still old issues 
> open even if they have been fixed.
> In case it can be useful I'd be happy to double check them so that we 
> can then maybe close the cases.
> Cheers,
> Mario
> -- 
> electronic musician, sound artist, creative coder, QA engineer
> https://vimeo.com/creativecodingsalerno http://mbuoninfante.tumblr.com 
> https://github.com/mariobuoninfante https://bitbucket.org/mariobuoninfante
> On 11 May 2020 17:04, Michael Heuer <heuermh at gmail.com> wrote:
>     Hello Ge, Spencer, Perry
>     It was very nice to meet you virtually in the recent Artful Design
>     TV meetup!
>     With that event and the recent ChucK version
>     <> release I have been inspired to ask a bunch of
>     questions.  Hope you don't mind.
>     Is there much interest in implementing new ChucK language features?
>       There are some suggestions in GitHub issues
>     Add abstract and final class and method modifiers
>     <https://github.com/ccrma/chuck/issues/105>
>     Allow a class to implement more than one interface or extend more
>     than one class <https://github.com/ccrma/chuck/issues/106>
>     Order of class definitions in a file matters sometimes
>     <https://github.com/ccrma/chuck/issues/107>
>     Add constructors to class definitions
>     <https://github.com/ccrma/chuck/issues/108>
>     Add namespaces and import statements
>     <https://github.com/ccrma/chuck/issues/109>
>     Allow => from a UGen into a field/parameter
>     <https://github.com/ccrma/chuck/issues/110>
>     Then outside of the new language features, my most desired feature
>     request would be
>     Chubgraphs and ChuGens don't support stereo operation
>     <https://github.com/ccrma/chuck/issues/111>
>     Next, it sounds like the new ChucK version will be easier to use as
>     a library.  Is there interest from the community in helping wrap
>     this library into plugins?  Despite occasional attempts with
>     libchuck <https://github.com/mgyucht/libchuck> (which I assume may
>     be deprecated now?), I am not much of a C/C++ developer and often
>     find myself lost in build issues.
>     LV2 plugin <http://lv2plug.in/> for Linux, this would allow running
>     ChucK on the MOD Devices pedals
>     https://wiki.moddevices.com/wiki/Creating_Audio_Plugins
>     AudioUnit v3 for OSX and iOS,
>     https://forum.juce.com/t/ios-audiounit-wait-what/17224
>     VCV Rack <https://vcvrack.com/> plugin, custom API
>     https://vcvrack.com/manual/PluginDevelopmentTutorial
>     Then on a somewhat related note, what the hell?  These are header files!
>     This repository is currently disabled due to a DMCA takedown notice.
>     https://github.com/spencersalazar/libchuck
>     https://github.com/github/dmca/blob/master/2018/2018-06-13-Steinberg.md
>     This breaks the https://github.com/mtiid/chuck-racks build.
>     Cheers,
>         michael
> _______________________________________________
> chuck-users mailing list
> chuck-users at lists.cs.princeton.edu
> https://lists.cs.princeton.edu/mailman/listinfo/chuck-users

More information about the chuck-users mailing list