Changeset - e7b531d10cf9
[Not reviewed]
default
0 1 0
dmcc - 22 years ago 2003-06-14 14:58:53

- sliders go from 0 to 1
- sliders go from 0 to 1
- some too-many-after-loops protection
1 file changed with 2 insertions and 1 deletions:
0 comments (0 inline, 0 general)
Widgets/Fadable.py
Show inline comments
 
@@ -28,25 +28,25 @@ class Fadable:
 
        
 
        self.fade_start_level = 0
 
        self.fade_end_level = 0
 
        self.fade_start_time = 0
 
        self.fade_length = 1
 
        self.fade_step_time = 10
 
        self.fade_var = var
 
        self.fading = 0 # whether a fade is in progress
 

	
 
        if key_bindings:
 
            for k in range(1, 10):
 
                self.bind("<Key-%d>" % k,
 
                    lambda evt, k=k: self.fade(k * 10.0))
 
                    lambda evt, k=k: self.fade(k / 10.0))
 
            self.bind("<Key-0>", lambda evt: self.fade(100))
 
            self.bind("<grave>", lambda evt: self.fade(0))
 

	
 
            # up / down arrows
 
            self.bind("<Key-Up>", lambda evt: self.increase())
 
            self.bind("<Key-Down>", lambda evt: self.decrease())
 

	
 
        if mouse_bindings:
 
            # right mouse button toggles muting
 
            # self.bind('<3>', lambda evt: self.toggle_mute())
 
            # "NOT ANY MORE!" - homer
 

	
 
@@ -62,24 +62,25 @@ class Fadable:
 

	
 
        self.last_level = 0 # used for muting
 
    def fade(self, value, length=0.5, step_time=10):
 
        """Fade to value in length seconds with steps every step_time
 
        seconds"""
 
        self.fade_start_time = time.time()
 
        self.fade_length = length
 

	
 
        self.fade_start_level = self.fade_var.get()
 
        self.fade_end_level = value
 
        
 
        self.fade_step_time = step_time
 
        if not self.fading:
 
        self.fading = 1
 
        self.do_fade()
 
    def do_fade(self):
 
        """Actually performs the fade for Fadable.fade.  Shouldn't be called
 
        directly."""
 
        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)
0 comments (0 inline, 0 general)