Files
@ d1946cb32121
Branch filter:
Location: light9/light8/README - annotation
d1946cb32121
3.3 KiB
text/plain
bool support
45b12307c695 45b12307c695 45b12307c695 45b12307c695 45b12307c695 45b12307c695 45b12307c695 45b12307c695 45b12307c695 45b12307c695 45b12307c695 45b12307c695 45b12307c695 45b12307c695 45b12307c695 45b12307c695 45b12307c695 45b12307c695 45b12307c695 45b12307c695 45b12307c695 45b12307c695 45b12307c695 45b12307c695 45b12307c695 45b12307c695 45b12307c695 45b12307c695 45b12307c695 45b12307c695 45b12307c695 45b12307c695 45b12307c695 45b12307c695 45b12307c695 45b12307c695 45b12307c695 45b12307c695 45b12307c695 45b12307c695 45b12307c695 45b12307c695 45b12307c695 45b12307c695 45b12307c695 45b12307c695 45b12307c695 45b12307c695 45b12307c695 45b12307c695 45b12307c695 45b12307c695 45b12307c695 45b12307c695 45b12307c695 45b12307c695 45b12307c695 45b12307c695 45b12307c695 45b12307c695 45b12307c695 45b12307c695 45b12307c695 45b12307c695 45b12307c695 45b12307c695 45b12307c695 45b12307c695 45b12307c695 45b12307c695 45b12307c695 45b12307c695 45b12307c695 45b12307c695 45b12307c695 45b12307c695 45b12307c695 45b12307c695 45b12307c695 45b12307c695 45b12307c695 45b12307c695 45b12307c695 45b12307c695 45b12307c695 45b12307c695 45b12307c695 45b12307c695 45b12307c695 45b12307c695 45b12307c695 45b12307c695 45b12307c695 45b12307c695 45b12307c695 45b12307c695 45b12307c695 45b12307c695 45b12307c695 | Light 8 Lighting Control
------------------------
Installation
You'll need Python 2.2, Tk 8.x. Depending on your platform, you might
need SWIG as well. We also assume you have the same hardware that
we built. It shouldn't be too hard to adapt it to another system,
but we leave that as an exercise to the reader.
1. SWIG the parallel port C code. (optional, depending on platform,
compiler, etc.)
First,
shell> make parport_wrap.c
Then,
shell> make parportmodule.so
2. Create the necessary preference files.
shell> touch /tmp/light9.prefs
shell> touch /tmp/light9.prefs.dummy
Sadly, we didn't have the 5 seconds to add this to the code.
3. You're done. Sadly, Light 8 needs to be run as root, due to the nature of
of the parallel port interface. However, you can run it in dummy mode
without being root.
Live mode:
shell> su
<enter password>
shell> python light8.py real
or
Dummy mode:
shell> python light8.py
Introduction and Usage
Light 8 is a quick-and-dirty hack to produce a working
DMX controller written in Python and Tk. Our website,
http://light9.bigasterisk.com/danceshow, has more information.
We hope to produce a more elegant and flexible solution, known as
Light 9. Nevertheless, we found Light 8 useful, and perhaps other
lighting designers will as well.
As an example, we have included the configuration files for the dance
show that we used Light 8 on. Light 8 has two modes, dummy and live.
Each has it's own configuration file. Dummy uses ConfigDummy.py and
live uses Config.py. Speaking of which, you need to add something
after the command line to enter real mode so that you don't accidently
run the show (this may seem silly, but we were developing it on two
computers and didn't want to accidentally run it on both).
Dummy mode:
shell> ./rsn.py
Real mode:
shell> ./rsn.py real
(you could actually type anything for 'real', it just counts
arguments)
Config must include several structures. patch is a dictionary,
mapping channels to dimmers. However, unlike most light boards,
Light 8 supports named channels. Additionally, channels may have
multiple names. Furthermore, there is a 1-to-1 patch of channels
to dimmers. Here's an example patch to illustrate:
patch = {
('center neutral 1', 'main special') : 1,
'SL blue' : 3,
'SR blue' : 4,
}
In this patch, we can refer to dimmer 1 by two names, 'center
neutral 1' and 'main special'. We can also refer to it as '1' or 1
(either a Python string or int. Heck, maybe even a float, but I'm
not sure). Dimmer 2 can only be referred to as '2' or 2, since
the patch omits a name. Dimmer 3 can be referred to as 'SL blue',
'3', or 3. And so on...
Source file breakdown
---------------------
rsn.py - Main loop, I/O, GUI, persistence, etc
Xfader.py - 2-group crossfader widget and algorithm
Patch.py - Manages DMX channel naming
util.py - Some cue arithmetic functions
Subs.py - Submaster object, including effects gui api,
Config.py - Show-specific names and effect code
ConfigDummy.py - Show-specific names and effect code for dummy site
parport* - Parallel port interface code
|