Finally had a bit of time to look at an idea I had had regarding documenting live-coding.

Thought it would be interesting to create a what I am calling a livecoding interface extension for ChucK that includes automatic code versioning.

Turns out that it is doable use a simple bash script and git versioning.

To use you require a working git install and the files you are coding in to be under versioning.

Adds chuck code to vm and runs git commit

lc 2
Replaces shred 2 with chuck code and runs git commit

Bash Code (file named lc)

# File provides version interface via git for Chuck
# no args error
# 1 args add file and run git commit
# 2 args replace shred with file and run git commit

if [ -z "$1" ]; then #no args
echo $0 please submit file or file and shred number to replace
elif [ -z "$2" ]; then # single filename argh add file and do git commit
echo add $FILE
chuck + $FILE
git commit -a -m "live coding record"
echo replace shred $2 with $FILE
chuck = $ID $FILE
git commit -a -m "live coding record"

` **In Use** You can see an online git repository record of a ChucK live coding performance as part of a HELOpg rehearsal online here. **Things to do** My intention is to expand the functionality of the script to track revision use within the VM. I also intend to explore the distributed versioning functionality within a live performance.