Quantcast
Channel: Jeff Kaufman's Writing
Viewing all articles
Browse latest Browse all 79

Blinky Lights

$
0
0

My rhythm stage setup now has a lot of settings: toggles for piano, jawharp, bass winds, high and low drums, high and low footbass, plus which instrument I've set my jammer buttons to (accordion, sax, etc). I've been using my computer screen to show status for each of these settings, in text-only shorthand:

        dh             acc
  fh    dh             acc
  fh                   acc
  fh                   sax
That's saying I:
  1. turned on high drums
  2. turned on high footbass
  3. turned off high drums
  4. switched buttons from accordion to sax
My laptop isn't easy to see when I'm playing, though, so I wanted some little LEDs to show status. I asked for suggestions and ended up going with the Blinkstick Strip:

I have the lights set at 20% brightness for now; I find that at full brightness they're painful to look at. Stages are usually reasonably dark, so this seems about right. They're still too bright for my camera to do a good job with, though.

For most of this project I've been using as low level a Mac API as possible because I want to minimize latency, this isn't needed with status lights. It comes with a python interface (blinkstick-python) and I wrote a little UDP wrapper (blinksticknet) which I've now updated my central code to use (jammermidilib.h:set_light). The protocol is just four byte udp packets: one byte for which light, then one byte each for red, green, and blue channels. Here's what this looks like end to end:

(The thing I'm demonstrating at the beginning is that for me left foot I can have it make any combination of drums / no drums and bass / no bass. I'm representing this with one light that can be red or not, and blue or not, with purple for when they're both on at once.)

Comment via: google plus, facebook


Viewing all articles
Browse latest Browse all 79

Trending Articles