Changeset - 7dbe8067acea
[Not reviewed]
default
0 3 0
drewp - 23 years ago 2002-07-07 06:33:29

fixed bug with channel levels not displaying
fixed bug with channel levels not displaying
moved an import from rsn to io
3 files changed with 9 insertions and 6 deletions:
0 comments (0 inline, 0 general)
light8/io.py
Show inline comments
 

	
 

	
 
from parport import *
 

	
 
DUMMY=1
 

	
 
def init(DUMMY_in):
 
    global DUMMY
 
    if not DUMMY_in:
 
        
 
        getparport()
 
        DUMMY=0
 

	
 
def sendlevels(levels):
 
    if DUMMY: return
 
    levels = list(levels) + [0]
 
    if levels[14] > 0: levels[14] = 100
 
    # print "levels", ' '.join(["%3.1f" % l for l in levels])
 
    outstart()
 
    for p in range(1,70):
 
        outbyte(levels[p-1]*255/100)
light8/panels.py
Show inline comments
 
@@ -22,65 +22,65 @@ class Controlpanel(Frame):
 
            ('On -> Y',     lambda: xfader.grab('y')),
 
            ('Clear Y',     lambda: xfader.clearallbuttons('y'))):
 
            Button(controlpanel, text=txt, command=cmd).pack(side='top', fill='x')
 

	
 

	
 
class Console:
 
    def __init__(self):
 
        print "Light 8: Everything's under control"
 
        t=toplevelat(267,717,w=599,h=19)
 
        self.frame = Frame(t)
 
        self.entry=Entry(self.frame)
 
        self.entry.pack(expand=1, fill='x')
 
        self.entry.bind('<Return>', lambda evt: self.execute(evt, self.entry.get()))
 
        self.frame.pack(fill=BOTH, expand=1)
 
    
 
    def execute(evt, str):
 
        if str[0] == '*': # make a new sub
 
            make_sub(str)
 
        else:
 
            print '>>>', str
 
            print eval(str)
 
        self.frame.focus()
 

	
 
class Leveldisplay:
 
    def __init__(self,parent,_oldlevels):
 
        global channel_levels
 
    def __init__(self,parent,_oldlevels,channel_levels):
 
        
 
        frames = (make_frame(parent), make_frame(parent))
 
        channel_levels=[]
 
        channel_levels[:]=[]
 
        for channel in range(1, 69):
 
            f=Frame(frames[channel > 34])
 
            Label(f,text=str(channel), width=3, bg='lightPink', 
 
                font=stdfont, padx=0, pady=0, bd=0, height=1).pack(side='left')
 
            Label(f,text=Patch.get_channel_name(channel), width=8, 
 
                font=stdfont, anchor='w', padx=0, pady=0, bd=0, height=1).pack(side='left')
 
            l=Label(f,text=_oldlevels[channel-1], width=3, bg='lightBlue', 
 
            l=Label(f, width=3, bg='lightBlue', #text=_oldlevels[channel-1],
 
                font=stdfont, anchor='e', padx=1, pady=0, bd=0, height=1)
 
            l.pack(side='left')
 
            colorlabel(l)
 
            channel_levels.append(l)
 
            f.pack(side='top')
 
        # channel_levels is an output - changelevel will use it to access these labels
 

	
 
class Subpanels:
 
    def __init__(self,scenesparent,effectsparent,scalelevels,Subs,xfader,changelevel):
 
        
 
        sublist = Subs.subs.items()
 
        sublist.sort()
 

	
 
        for name, sub in sublist:
 
            if sub.is_effect:
 
                parent=effectsparent
 
            else:
 
                parent=scenesparent
 

	
 
            f=Frame(parent, bd=1, relief='raised')
 
            f.pack(fill='both',exp=1,side='left')
 

	
 
            if name not in scalelevels:
 
                scalelevels[name]=DoubleVar()
 

	
 
            sub.set_slider_var(scalelevels[name])
 

	
 
            scaleopts = {}
 
            if sub.color:
 
                scaleopts['troughcolor'] = sub.color
light8/rsn.py
Show inline comments
 
#!/usr/bin/env python
 
from __future__ import nested_scopes
 

	
 
from Tkinter import *
 
from parport import *
 
from time import sleep
 
from signal import *
 
import sys, thread, cPickle
 

	
 
import io
 
from uihelpers import *
 
from panels import *
 
from Xfader import *
 
import stage
 

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

	
 
root = Tk()
 
root.wm_title(window_title)
 
root.wm_geometry('+447+373')
 

	
 
import Subs, Patch
 
@@ -91,49 +90,49 @@ xfader=Xfader(scalelevels)
 

	
 

	
 
def buildinterface(*args):
 
    global channel_levels, _oldlevels, leveldisplay, xfader
 
    for w in root.winfo_children():
 
        w.destroy()
 

	
 
    stage_tl=toplevelat(165,90)
 
    s=stage.Stage(stage_tl)
 
    stage.createlights(s)
 
    s.pack()
 

	
 
    sub_tl = toplevelat(0,0)
 
    effect_tl = toplevelat(0,352)
 

	
 
    Subpanels(sub_tl,effect_tl,scalelevels,Subs,xfader,changelevel)
 

	
 
    # def event_printer(evt):
 
        # print dir(evt)
 

	
 
    # sub_tl.bind('<b>', event_printer)
 
    leveldisplay=toplevelat(873,400)
 
    leveldisplay.bind('<Escape>', sys.exit)
 

	
 
    Leveldisplay(leveldisplay,_oldlevels)
 
    Leveldisplay(leveldisplay,_oldlevels,channel_levels)
 

	
 
    Console()
 

	
 
    # root frame
 
    controlpanel = Controlpanel(root,xfader,refresh,quit)
 
    
 
    xf=Frame(root)
 
    xf.pack(side='right')
 

	
 
    root.bind('<q>', quit)
 
    root.bind('<r>', refresh)
 
    leveldisplay.bind('<q>', quit)
 
    leveldisplay.bind('<r>', refresh)
 

	
 
    xfader.setupwidget(xf)
 
    controlpanel.pack()
 

	
 

	
 
buildinterface()
 

	
 
class Pickles:
 
    def __init__(self, scalelevels):
 
        self.scalelevels = dict([(name, lev.get()) 
 
            for name,lev in scalelevels.items()])
0 comments (0 inline, 0 general)