[chuck-dev] embedding chuck

Graham Coleman gc at gehennom.net
Wed Nov 1 18:39:38 EST 2006


Chuck-devs,

While working on a chuck embedding project of my own, a had a bit of an 
idea in relation to future chuck projects. To fit chuck into my target 
application, I had to define an interface and make a few minor changes to 
get things to work properly.

In all cases so far, I just call the main method with arguments depending
on if I want it to start looping, or send an OTF command.

Besides the application specific stuff, here are the changes I've made:

1. When calling {"chuck" "--loop"}, you must create a new thread.

2. Replaced a few "exit" calls after OTF commands (on success and failure)
with returns. "exit"ing from a library is not a good idea.

In addition, I've got some design yet to do, as well as figure out how
to set variables, etc.

Anyway, I'm not the only one doing an embedding. Brad and Martin have 
ported chuck to Max/MSP and pd respectively. I imagine chuck will be an 
attractive option for adding interactive procedural music to games and 
other applications in the future.

Perhaps we should create and extend a standard chuck library interface,
so the behavior of the library will become more well understood and the
cost of the embedding will be easier, as well as stay current with the 
source tree.

Graham


More information about the chuck-dev mailing list