Live Coding ChucK and Git
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.
Use
To use you require a working git install and the files you are coding in to be under versioning.
lc file.ck
Adds chuck code to vm and runs git commit
lc file.ck 2
Replaces shred 2 with chuck code and runs git commit
Bash Code (file named lc)
`
#!/bin/bash</p>
# 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
exit
elif [ -z "$2" ]; then # single filename argh add file and do git commit
FILE=$1
echo add $FILE
chuck + $FILE
git commit -a -m "live coding record"
exit
else
FILE=$1
ID=$2
echo replace shred $2 with $FILE
chuck = $ID $FILE
git commit -a -m "live coding record"
fi
` **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.