Mercurial > code > home > repos > light9
diff light8/README @ 0:45b12307c695
Initial revision
author | drewp |
---|---|
date | Wed, 03 Jul 2002 09:37:57 +0000 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/light8/README Wed Jul 03 09:37:57 2002 +0000 @@ -0,0 +1,99 @@ +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