This project is an attempt to a nice looking music live coding environment based on a cool-retro-term fork. It currently makes use of FoxDot, supercollider and vim, but any cli application with a supercollider backend is theoretically supported.
Beware, you are dealing with a very early release so don't expect a plug and play experience!
Make sure FoxDot and supercollider (with sc3 plugins) are property installed: https://github.com/Qirky/FoxDot.
Install qt5 and the related dependencies: https://github.com/Swordfish90/cool-retro-term.
# Get it from GitHub
git clone --recursive https://github.com/Swordfish90/crt-live-coding.git
cd crt-live-coding
qmake && make
Open a terminal into the project root and type:
# Launch supercollider and the FoxDot server
sclang sc-foxdot-visual.scd & python3 foxdot-server.py
# This will launch crt-live-coding running vim with a custom vimrc file
./crt-live-coding -e vim -u vimrc
# Press enter (in normal mode) to play that line of foxdot code!
There are a few pieces here working together.
sc-foxdot-visual.scd launches FoxDot.start and analyzes the audio stream, extracting features needed for graphical effects. These are sent to crt-live-coding via OSC commands on port 7089.
foxdot-server.py runs a FoxDot server in the background and listens on port 7088 for FoxDot instructions.
crt-live-coding is running vim with a custom vimrc file. Every time you press enter (in normal mode) vim will send the current line to port 7088.
I made this project in my spare time because I love what I'm doing. If you are enjoying it and you want to buy me a beer click here.