annotate light8/Fader.py @ 51:71489bb71528

- Meet Fader. He is going to grow up and be a crossfader some day - Meet Fader. He is going to grow up and be a crossfader some day (tomarrow) - Tkinter -> Tix so we can use ScrolledListBox which has a command - Some improvements to Cue - Cues need to specify their final values - Cues are imported by subs. This should be fixed for style points. - Some other cleanups
author dmcc
date Sun, 07 Jul 2002 15:40:45 +0000
parents 45b12307c695
children 065896b0913c
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
45b12307c695 Initial revision
drewp
parents:
diff changeset
1 from Tix import *
45b12307c695 Initial revision
drewp
parents:
diff changeset
2
45b12307c695 Initial revision
drewp
parents:
diff changeset
3 stdfont = ('Arial', 10)
45b12307c695 Initial revision
drewp
parents:
diff changeset
4
45b12307c695 Initial revision
drewp
parents:
diff changeset
5 class Fader(Frame):
45b12307c695 Initial revision
drewp
parents:
diff changeset
6 'User interface for cue fader'
45b12307c695 Initial revision
drewp
parents:
diff changeset
7 def __init__(self, master, cues, scalelevels):
45b12307c695 Initial revision
drewp
parents:
diff changeset
8 self.master = master
45b12307c695 Initial revision
drewp
parents:
diff changeset
9 self.cues = cues
45b12307c695 Initial revision
drewp
parents:
diff changeset
10 self.scalelevels = scalelevels
45b12307c695 Initial revision
drewp
parents:
diff changeset
11 self.init_layout()
45b12307c695 Initial revision
drewp
parents:
diff changeset
12 def init_layout(self):
45b12307c695 Initial revision
drewp
parents:
diff changeset
13 Frame.__init__(self, self.master)
45b12307c695 Initial revision
drewp
parents:
diff changeset
14
45b12307c695 Initial revision
drewp
parents:
diff changeset
15 self.cuename = StringVar()
45b12307c695 Initial revision
drewp
parents:
diff changeset
16 self.cuelength = DoubleVar()
51
71489bb71528 - Meet Fader. He is going to grow up and be a crossfader some day
dmcc
parents: 0
diff changeset
17 self.cueend = StringVar()
0
45b12307c695 Initial revision
drewp
parents:
diff changeset
18
45b12307c695 Initial revision
drewp
parents:
diff changeset
19 buttonframe = Frame(self)
45b12307c695 Initial revision
drewp
parents:
diff changeset
20
51
71489bb71528 - Meet Fader. He is going to grow up and be a crossfader some day
dmcc
parents: 0
diff changeset
21 self.listbox = ScrolledListBox(buttonframe)
71489bb71528 - Meet Fader. He is going to grow up and be a crossfader some day
dmcc
parents: 0
diff changeset
22 self.listbox.listbox.configure({'exportselection' : 0})
0
45b12307c695 Initial revision
drewp
parents:
diff changeset
23 for c in self.cues:
45b12307c695 Initial revision
drewp
parents:
diff changeset
24 self.listbox.listbox.insert(END, c.name)
51
71489bb71528 - Meet Fader. He is going to grow up and be a crossfader some day
dmcc
parents: 0
diff changeset
25 self.listbox.pack(side=TOP)
71489bb71528 - Meet Fader. He is going to grow up and be a crossfader some day
dmcc
parents: 0
diff changeset
26 Button(buttonframe, text="Go", command=self.go).pack(side=LEFT)
71489bb71528 - Meet Fader. He is going to grow up and be a crossfader some day
dmcc
parents: 0
diff changeset
27 Button(buttonframe, text="Halt").pack(side=LEFT)
71489bb71528 - Meet Fader. He is going to grow up and be a crossfader some day
dmcc
parents: 0
diff changeset
28 Button(buttonframe, text="Clear").pack(side=LEFT)
0
45b12307c695 Initial revision
drewp
parents:
diff changeset
29
51
71489bb71528 - Meet Fader. He is going to grow up and be a crossfader some day
dmcc
parents: 0
diff changeset
30 infoframe = Frame(self)
0
45b12307c695 Initial revision
drewp
parents:
diff changeset
31 Label(infoframe, textvariable=self.cuename,
51
71489bb71528 - Meet Fader. He is going to grow up and be a crossfader some day
dmcc
parents: 0
diff changeset
32 font=('Arial', 12), bg='lightBlue').grid(columnspan=2, sticky=NE+SW)
0
45b12307c695 Initial revision
drewp
parents:
diff changeset
33 Label(infoframe, text="Length", font=stdfont,
45b12307c695 Initial revision
drewp
parents:
diff changeset
34 bg='lightPink').grid(row=1, sticky=NE+SW)
45b12307c695 Initial revision
drewp
parents:
diff changeset
35 Label(infoframe, textvariable=self.cuelength,
51
71489bb71528 - Meet Fader. He is going to grow up and be a crossfader some day
dmcc
parents: 0
diff changeset
36 font=stdfont).grid(row=1, column=1, sticky=NE+SW)
0
45b12307c695 Initial revision
drewp
parents:
diff changeset
37 Label(infoframe, text="Target", font=stdfont,
45b12307c695 Initial revision
drewp
parents:
diff changeset
38 bg='lightPink').grid(row=2, sticky=NE+SW)
51
71489bb71528 - Meet Fader. He is going to grow up and be a crossfader some day
dmcc
parents: 0
diff changeset
39 Label(infoframe, textvariable=self.cueend,
71489bb71528 - Meet Fader. He is going to grow up and be a crossfader some day
dmcc
parents: 0
diff changeset
40 font=stdfont).grid(row=2, column=1, sticky=NE+SW)
0
45b12307c695 Initial revision
drewp
parents:
diff changeset
41 infoframe.pack(side=RIGHT, fill=BOTH, expand=1)
51
71489bb71528 - Meet Fader. He is going to grow up and be a crossfader some day
dmcc
parents: 0
diff changeset
42 buttonframe.pack(side=BOTTOM)
0
45b12307c695 Initial revision
drewp
parents:
diff changeset
43
45b12307c695 Initial revision
drewp
parents:
diff changeset
44 self.listbox.listbox.select_set(0)
45b12307c695 Initial revision
drewp
parents:
diff changeset
45 self.update_selection()
51
71489bb71528 - Meet Fader. He is going to grow up and be a crossfader some day
dmcc
parents: 0
diff changeset
46 def update_selection(self):
71489bb71528 - Meet Fader. He is going to grow up and be a crossfader some day
dmcc
parents: 0
diff changeset
47 print self.listbox.listbox.curselection()
71489bb71528 - Meet Fader. He is going to grow up and be a crossfader some day
dmcc
parents: 0
diff changeset
48 selection = int(self.listbox.listbox.curselection()[0]) # blech
0
45b12307c695 Initial revision
drewp
parents:
diff changeset
49 self.current = self.cues[selection]
45b12307c695 Initial revision
drewp
parents:
diff changeset
50 self.cuename.set(self.current.name)
45b12307c695 Initial revision
drewp
parents:
diff changeset
51 self.cuelength.set(self.current.dur)
51
71489bb71528 - Meet Fader. He is going to grow up and be a crossfader some day
dmcc
parents: 0
diff changeset
52 self.cueend.set(str(self.current.get_end_levels()))
0
45b12307c695 Initial revision
drewp
parents:
diff changeset
53 def go(self):
51
71489bb71528 - Meet Fader. He is going to grow up and be a crossfader some day
dmcc
parents: 0
diff changeset
54 print 'Fade to', self.current.name