changeset 459:24352fe6f5ae

smaller font on KC labels
author drewp@bigasterisk.com
date Sun, 15 Jun 2008 23:34:02 +0000
parents 8b307310cc1b
children b239d8c9f06f
files bin/keyboardcomposer light9/Fadable.py show/dance2008/readme
diffstat 3 files changed, 20 insertions(+), 9 deletions(-) [+]
line wrap: on
line diff
--- a/bin/keyboardcomposer	Sun Jun 15 23:23:48 2008 +0000
+++ b/bin/keyboardcomposer	Sun Jun 15 23:34:02 2008 +0000
@@ -54,11 +54,11 @@
         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)
--- a/light9/Fadable.py	Sun Jun 15 23:23:48 2008 +0000
+++ b/light9/Fadable.py	Sun Jun 15 23:34:02 2008 +0000
@@ -62,13 +62,24 @@
             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()
@@ -90,7 +101,7 @@
         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:
@@ -121,7 +132,7 @@
         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:
@@ -136,7 +147,7 @@
             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):
--- a/show/dance2008/readme	Sun Jun 15 23:23:48 2008 +0000
+++ b/show/dance2008/readme	Sun Jun 15 23:34:02 2008 +0000
@@ -140,7 +140,7 @@
   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