Kiwi PyCon 2011, Wellington, Spotlight on Python by Nick Cave-Lynch, Spotlight on Python.
Covers development and use of a Python-powered system designed for lighting bands in small venues. Covers (among other things): the problems of lighting bands; the development process; the results; lessons learned.
1. Spotlight on. Python
Python for realtime control
of stage lighting
Nic Cave-Lynch – Tymar Lighting
2. Spotlight on. Python
The problem
Current architecture
Version 2 architecture
DMX Engine
RDDD (Rubber Duck Driven Development)
Observations
3. The problem
Lighting bands, typically in small-ish venues
DMX: 40 updates/second, 200-500 channels
Moving lights (HTP/LTP)
Music usually new to me
9. DMX Engine
Engine()
– Holders for Valgens, Scenelets, Fixtures
– dispatches zmq messages from wing/UI
Valgens know which Scenelets they drive
Scenelet sends multiple of Valgen value to Fixture channels
Fixture has channel for each aspect of the light
– output function eg calculate pan/tilt values from (x,y,z)
Speed important:
– reduce lookups
– integer dict keys
– Valgen->Scenelet->Fixture single function call
– struct module
10. RDDD
Architecture took ages
Rubber Duck Driven Development
"make something that doesn't work"
11. Observations
Unit tests inhibit experimentation
Deciding to Open Source can be an inhibitor
Spoilt for choice in libraries/frameworks/etc.
Analysis paralysis
Surprising results in some performance areas
struct module
string/integer dict keys
I hate OpenOffice.org Impress 3.2: it's barely useable
12. For more live Python action
200 metres from dinner venue:
● Left out of Tulsi
● 20 metres to Guznee St
● Right up Ghuznee St
● One block up
● Straight over traffic lights
● Bodega is on the left