Mercurial > code > home > repos > light9
changeset 155:4c3060ceddcc
autoshifting is controllable now
author | dmcc |
---|---|
date | Mon, 07 Jul 2003 06:56:15 +0000 |
parents | e3a92ccea4be |
children | 224505b0c21e |
files | flax/CueFaders.py |
diffstat | 1 files changed, 23 insertions(+), 8 deletions(-) [+] |
line wrap: on
line diff
--- a/flax/CueFaders.py Mon Jul 07 06:32:25 2003 +0000 +++ b/flax/CueFaders.py Mon Jul 07 06:56:15 2003 +0000 @@ -66,7 +66,8 @@ def __init__(self, master, cuelist): Tk.Frame.__init__(self, master) self.cuelist = cuelist - self.auto_shift = 0 + self.auto_shift = Tk.IntVar() + self.auto_shift.set(1) self.scales = {} self.shift_buttons = {} @@ -77,13 +78,16 @@ self.update_cue_display() topframe.pack() + bottomframe = Tk.Frame(self) + self.auto_shift_checkbutton = Tk.Checkbutton(self, + variable=self.auto_shift, text='Autoshift', + command=self.toggle_autoshift) + self.auto_shift_checkbutton.pack() + bottomframe.pack(side='bottom') + + middleframe = Tk.Frame(self) for name, start, end, side in (('Prev', 1, 0, 'left'), ('Next', 0, 1, 'right')): - - shift = Tk.Button(self, text="Shift %s" % name, state='disabled', - command=lambda name=name: self.shift(name)) - shift.pack(side=side, fill='both', expand=1) - frame = Tk.Frame(self) scale = LabelledScale(frame, name, from_=start, to_=end, res=0.01, orient='horiz') @@ -92,15 +96,26 @@ go.pack(fill='both', expand=1) frame.pack(side=side, fill='both', expand=1) + shift = Tk.Button(frame, text="Shift %s" % name, state='disabled', + command=lambda name=name: self.shift(name)) + self.scales[name] = scale self.shift_buttons[name] = shift scale.scale_var.trace('w', \ lambda x, y, z, name=name, scale=scale: self.xfade(name, scale)) + middleframe.pack(side='bottom', fill='both', expand=1) + def toggle_autoshift(self): + for name, button in self.shift_buttons.items(): + if not self.auto_shift.get(): + button.pack(side='bottom', fill='both', expand=1) + else: + button.pack_forget() + def shift(self, name): for scale in self.scales.values(): scale.scale_var.set(0) - if name == 'Next': scale.update() + scale.scale.update() print "shift", name self.cuelist.shift((-1, 1)[name == 'Next']) self.update_cue_display() @@ -111,7 +126,7 @@ scale_val = scale.scale_var.get() if scale_val == 1: - if self.auto_shift: + if self.auto_shift.get(): self.shift(name) else: self.shift_buttons[name]['state'] = 'normal'