
Afterglow – A live-coding lighting controller, built with Clojure and Overtone - washt
https://github.com/brunchboy/afterglow
======
sgrove
The keywords Clojure/Overtone immediately caught my attention.

I'm particularly interested in combining music tempo/selection/etc and
lighting/video/other presentations with feedback from the crowd - overall
temperature, ambient noise, range of movement - so that the music and
surroundings are guided by the DJ, but based on the crowd. This is obviously
not quite that, but gets a bit closer to it perhaps.

Also, that's an amazing README - was just hoping that the demo animations
would be at the top so I'd immediately understand what this was for.

~~~
brunchboy
Thanks! I was floored when a colleague told me he saw Afterglow on the front
page of HN this morning, I wasn’t even aware it had been submitted. Your ideas
of crowd feedback input are interesting. If you can get those encoded as MIDI
or OSC somehow they could feed right into cue variables and effect parameters.
As for ambient noise, one of the next big areas I want to explore is audio
input and FFTs so that effects can respond to energy at different parts of the
audio spectrum, and let you build sound-driven light shows—like some multi-
head fixtures can do already, but spread spatially over your entire lighting
rig, regardless of who made which piece.

I hope you can explore building some of those ideas and let me know how they
go. I’ve found the framework so far to be very productive for integrating with
new concepts—I added control of laser shows via Pangolin Beyond over UDP in a
weekend. The learning curve is steep (less so if you know Clojure) but I’m
happy to help and answer questions, and that’s been improving the
documentation too.

And thanks for your feedback about the README. I know it can use more work,
it’s hard to explain something this sprawling, but I keep improving it. I also
want to shoot some video of the rich grid controller interface on the Push and
Launchpad, how they tie to the web UI and other MIDI controllers, and how
effects can react to pad pressure. But usually I’d rather code a new feature
than take the time to do that… Which is why the only performance video I have
up so far came from another user.

------
vanous
This is pretty awesome, glad to see this come to HN. Look also at OLA [1]
running underneath this project.

[1] [https://www.openlighting.org/](https://www.openlighting.org/)

~~~
brunchboy
Indeed, without OLA I would not have even been able to get started. And at
their request, I pulled my Clojure interface for OLA into a separate library,
ola-clojure [1] which Afterglow now uses, but which can be used by anyone else
who wants to control lighting from Clojure at a lower level than Afterglow
provides.

[1] [https://github.com/brunchboy/ola-clojure#ola-
clojure](https://github.com/brunchboy/ola-clojure#ola-clojure)

