Changeset - 24352fe6f5ae
[Not reviewed]
default
0 3 0
drewp@bigasterisk.com - 17 years ago 2008-06-15 23:34:02
drewp@bigasterisk.com
smaller font on KC labels
3 files changed with 20 insertions and 9 deletions:
0 comments (0 inline, 0 general)
bin/keyboardcomposer
Show inline comments
 
@@ -51,17 +51,17 @@ class SubmasterTk(Frame):
 
    def __init__(self, master, name, current_level):
 
        Frame.__init__(self, master, bd=1, relief='raised', bg='black')
 
        self.name = name
 
        self.slider_var = DoubleVar()
 
        self.slider_var.set(current_level)
 
        self.scale = SubScale(self, variable=self.slider_var, width=20)
 
        namelabel = Label(self, text=name, font="Arial 9", bg='black',
 
            fg='white')
 
        namelabel = Label(self, text=name, font="Arial 7", bg='black',
 
            fg='white', pady=0)
 
        namelabel.pack(side=TOP)
 
        levellabel = Label(self, textvariable=self.slider_var, font="Arial 11",
 
            bg='black', fg='white')
 
        levellabel = Label(self, textvariable=self.slider_var, font="Arial 7",
 
            bg='black', fg='white', pady=0)
 
        levellabel.pack(side=TOP)
 
        self.scale.pack(side=BOTTOM, expand=1, fill=BOTH)
 
        bindkeys(self, "<Control-Key-l>", self.launch_subcomposer)
 

	
 
    def launch_subcomposer(self, *args):
 
        subprocess.Popen(["bin/subcomposer", "--no-geometry", self.name])
light9/Fadable.py
Show inline comments
 
@@ -59,19 +59,30 @@ class Fadable:
 
            self.bind('<Shift-4>', lambda evt: self.increase(multiplier=0.2))
 
            self.bind('<Shift-5>', lambda evt: self.decrease(multiplier=0.2))
 
            self.bind('<Control-4>', lambda evt: self.increase(length=1))
 
            self.bind('<Control-5>', lambda evt: self.decrease(length=1))
 

	
 
        self.last_level = None # used for muting
 

	
 
    def set_var_rounded(self, value):
 
        """use this instead of just self.fade_var.set(value) so we can
 
        control the precision"""
 
        # this was just to make the display not look so weird, but it
 
        # could actually affect the speed of really slow fades. If
 
        # that's a problem, do a real trace_write hook for the
 
        # variable's display instead of using Label(textvariable=var)
 
        # and format it there.
 
        self.fade_var.set(round(value, 7))
 
        
 
    def fade(self, value, length=0.5, step_time=10):
 
        """Fade to value in length seconds with steps every step_time
 
        milliseconds"""
 
        if length == 0: # 0 seconds fades happen right away and prevents
 
                        # and prevents us from entering the fade loop,
 
                        # which would cause a divide by zero
 
            self.fade_var.set(value)
 
            self.set_var_rounded(value)
 
            self.fading = 0 # we stop all fades
 
        else: # the general case
 
            self.fade_start_time = time.time()
 
            self.fade_length = length
 

	
 
            self.fade_start_level = self.fade_var.get()
 
@@ -87,13 +98,13 @@ class Fadable:
 
        now = time.time()
 
        elapsed = now - self.fade_start_time
 
        complete = elapsed / self.fade_length
 
        complete = min(1.0, complete)
 
        diff = self.fade_end_level - self.fade_start_level
 
        newlevel = (complete * diff) + self.fade_start_level
 
        self.fade_var.set(newlevel)
 
        self.set_var_rounded(newlevel)
 
        if complete < 1:
 
            self.after(self.fade_step_time, self.do_fade)
 
        else:
 
            self.fading = 0
 
    def increase(self, multiplier=1, length=0.3):
 
        """Increases the volume by multiplier * wheel_step.  If use_fades is
 
@@ -118,13 +129,13 @@ class Fadable:
 
    def set_volume(self, newlevel, length=0.3):
 
        """Sets the volume to newlevel, performing a fade of length if
 
        use_fades is true."""
 
        if self.use_fades:
 
            self.fade(newlevel, length=length)
 
        else:
 
            self.fade_var.set(newlevel)
 
            self.set_var_rounded(newlevel)
 
    def toggle_mute(self):
 
        """Toggles whether the volume is being muted."""
 
        if self.last_level is None:
 
            self.last_level = self.fade_var.get()
 
            if self.last_level == 0: # we don't want last_level to be zero,
 
                                     # since it will make us toggle between 0
 
@@ -133,13 +144,13 @@ class Fadable:
 
            else:
 
                newlevel = 0
 
        else:
 
            newlevel = self.last_level
 
            self.last_level = None
 

	
 
        self.fade_var.set(newlevel)
 
        self.set_var_rounded(newlevel)
 

	
 
if __name__ == "__main__":
 
    class SubScale(Scale, Fadable):
 
        def __init__(self, master, *args, **kw):
 
            self.scale_var = DoubleVar()
 
            kw['variable'] = self.scale_var
show/dance2008/readme
Show inline comments
 
@@ -137,13 +137,13 @@ OK  curvecalc should always start up zoo
 

	
 
  ascoltami should learn to adjust volumes
 

	
 
  unnamed subterm is serious. i think only the last one created gets
 
  saved, or something
 

	
 
  KC smaller font on labels should allow bigger sliders
 
OK  KC smaller font on labels should allow bigger sliders
 

	
 
  curvecalc_all_subterms needs redo
 

	
 
  touched dmx cable; ~/dmxcrash in dmesg; process went to 'D' status; rebooted
 

	
 
  a nice startup would be: take a cd, boot up our OS image, make a new
0 comments (0 inline, 0 general)