My Live Coding Setup

Posted on Posted in Ideas, Tutorials

Since I’ve been live coding much more in the past few years, I’ve spent a lot of time thinking about and improving my setup. Just thought I’d talk a little about it here.

LiveCodeSetup

Primary Components:

Most of the time I’m performing with SuperCollider, which has a very nice and constantly improving editor, but visually feels a little dry for me. Because of this, I started looking into other options.

A while ago someone turned me on to using iTerm2 instead of the standard Terminal for OSX. This ended up being ideal for what I needed for two main reasons:

  • system-wide fullscreen mode: one keyboard shortcut and you have a monitor full of terminal (most importantly with no menu bar)
  • background transparancy

Using a terminal means using a terminal based editor. SuperCollider has good support for two: EMACS and VIM. I decided to go with VIM because I’d needed to use it for work a while ago and had already started learning my way around. I’m going to avoid the editor war and just say that you can use either.

One of the extremely valuable benefits you gain from using either of these editors is the large number of extensions they have. Since they both have been around for over 30 years and are used by programmers quite heavily, there are many things that I’ve found which I now can’t live without:

There are plenty of others but those are the must-haves.

Because live coding involves a lot of typing, and because I think it looks cool, I also wanted to run something to visualize my keystrokes. For this I use Keycastr. Totally optional but nice to have. I have had some strange issues with it spoofing keystrokes on occasion a short while after startup fyi…

Lastly, what’s the point of a fullscreen, transparent terminal if you can’t throw up visuals behind it? At the moment I run a Processing sketch with a handful of things that I have made over the years. I use some simple OSC to let me switch between them in SuperCollider. For the moment my experimental visuals don’t react to anything but my algorave ones do. That’s just a matter of adding more OSC when I get around to it. I’m also in the process of moving to either a Cinder or haskell opengl version, because I have the need: the need for speed!

Beyond that, I wrote some shell scripts (I’m also using zsh because why not) that will start everything quickly (and more importantly, help quickly recover after a crash). I like to have my Korg NanoKONTROL handy for when I really just need quick volume control or something like that. I typically have a directory with a ton of SynthDefs that I tweak and run with patterns.

Hopefully this is helpful to some of the OSX based live coders out there. Once this computer dies I’m switching to Linux and I’ll need to figure out an equivalent setup but I assume that shouldn’t be too difficult.

4 thoughts on “My Live Coding Setup

  1. Great post Cole, as someone who has used the raw supercollider IDE for live coding since I started, this vim/iterm/processing approach looks fantastic, so many more possibilities…

    I know precious little about Vim though, it’s something i’ve been meaning to get into for a while and I now have a bit of time to do so. Do you have any guides/vimrc files/etc you’d recommend for basic setup? – I used spf13 a few times but it feels like it’s already too custom built for me to actually meaningfully use any of the things already built in.

    1. Hey Sean,
      I’ve mostly just scoured the internet for plugins and .vimrc descriptions until I found something that I feel comfortable with. That being said, I guess I could do a post about my Vim setup specifically. As far as learning your way around Vim, vimtutor (it’s already on your computer) is great. The hard part is learning all the essential commands and getting used to the modal nature of Vim.

  2. Great. One question…
    I’m assuming you’re using scvim. How did you manage to get the syntax highlighting working like that? – The default syntax highlighting is quite bad…

    1. Yes that is scvim. I’m using the vim-colorscheme plugin to find a better one. I’ll talk about that soon too.

Comments are closed.