Files @ 79bc84310e80
Branch filter:

Location: light9/light8/rsn.py - annotation

dmcc
changes from tonight's rehearsal:
changes from tonight's rehearsal:
- CueFader is closer to actually running the show, computes DMX levels
to send.
- KeyboardComposer is not a dummy. Use DMXDUMMY=1 to disable it.
- Submaster: subs can now be "temporary" -- i.e. they shouldn't be saved
or loaded. to save a temporary sub, make a copy of it with a proper name
since the computed name will be ugly.
Also, get_normalized_copy() and crossfade() methods added.
linear_fade helper (shouldn't be in Submaster, probably) added too.
- dmxchanedit: longer labels
- cuelist1 now has some bogus data in it and some crap removed
- dmxclient: now listens to the $DMXHOST and $DMXDUMMY env variables.
- patchdata: now up to date with this year's show
- danshow subs song{01..19}: removed. maybe we'll re-add them in an
archive directory.
#!/usr/bin/python
from __future__ import nested_scopes

from Tix import *
from signal import signal, SIGINT
from uihelpers import *
from Fader import Fader
from Lightboard import Lightboard
import time # time is on our side

if len(sys.argv) >= 2:
    DUMMY = 0
    print "Light 8.8: This is the real thing, baby"
    window_title = "Light 8.8 (On Air)"
else:
    DUMMY = 1
    print "Light 8.8: Dummy mode"
    window_title = "Light 8.8 (Bogus)"

root = Tk()
root.wm_title(window_title)
root.wm_geometry('+462+470')
root.tk_focusFollowsMouse()


if not DUMMY:
    # this turns the parportdmx from dummy to live
    print "Light 8.8: Preparing DMX interface..."
    parportdmx.golive()

print "Light 8.8: And this...is Mr. Lightboard"
mr_lightboard = Lightboard(root,DUMMY)
# root.tk_setPalette('gray40')

signal(SIGINT, mr_lightboard.quit)

#
# start net slider server in separate thread 
#
print "Light 8.8: External input server DELETED!"
#import ExternalInput, thread
#thread.start_new_thread(ExternalInput.start_server,())

bindkeys(root,'<Escape>', mr_lightboard.quit)

root.bind_class("all","<ButtonPress-4>",lambda ev: eventtoparent(ev,"<ButtonPress-4>"))
root.bind_class("all","<ButtonPress-5>",lambda ev: eventtoparent(ev,"<ButtonPress-5>"))

print 'Light 8.8: "Uh...Shiny McShine?"'
root.update_idletasks()

if 1:
    while 1:
        root.update() # Receiver switches main
        time.sleep(0.01)
else:
    sys.path.append("/home/drewp/projects/editor/pour")
    from utils import runstats
    runstats("root.mainloop()")

#import profile
#profile.run("root.mainloop()","profile/idlemanysubs")