On-the-fly Programming Commands
These are used for on-the-fly programming (see http://on-the-fly.cs.princeton.edu).
By default, this requires
that a ChucK virtual machine be already running on the localhost. It
communicates via sockets to add/remove/replace shreds in the VM, and to
query VM state. The simplest way to set up a ChucK virtual machine to
accept these commands is by starting an empty VM with --loop:
this will start a VM, looping (and advancing time), waiting for incoming
commands. Successive invocations of 'chuck' with the appropriate
commands will communicate with this listener VM.
(for remote operations over TCP, see below)
--add / +
adds new shreds from source files to the listener VM. this
process then exits.
integrates foo.ck and bar.ck into the listener VM. the shreds are
internally responsible for finding about the timing and other
shreds via the timing mechanism and vm interface.
--remove / -
removes existing shreds from the VM by ID. how to find out
about the id? (see --status below) for example:
removes shred 2, 3, 8.
--replace / =
replace existing shred with a new shred. for example:
replaces shred 2 with foo.ck
--status / ^
queries the status of the VM - output on the listener VM. for
this prints the internal shred start at the listener VM,
[chuck](VM): status (now == 0h:2m:34s) ...
[shred id]: 1 [source]: foo.ck [sporked]: 21.43s ago
[shred id]: 2 [source]: bar.ck [sporked]: 28.37s ago
prints out the value of now on the listener VM. for example:
[chuck](VM): the value of now:
now = 403457 (samp)
= 9.148685 (second)
= 0.152478 (minute)
= 0.002541 (hour)
= 0.000106 (day)
= 0.000015 (week)
semi-gracefully kills the listener VM - removes all shreds first.
--remote / @
specifies where to send the on-the-fly command.
must appear in the command line before any on-the-fly commands.
%> chuck @192.168.1.1 + foo.ck bar.ck
%> chuck @foo.bar.com -p8888 + foo.ck bar.ck
sends foo.ck and bar.ck to VM at 192.168.1.1 or foo.bar.com:8888
Next: ChucK standard libraries
Return to Programmer's Guide