Mercurial > code > home > repos > light9
changeset 1990:93e3a00b7cfc
KC had a new DoubleVar bug where setting from 0 to 1 would result in 0.000
Ignore-this: 30e08a24aef112c79cde7c9b62d1e45a
author | Drew Perttula <drewp@bigasterisk.com> |
---|---|
date | Sun, 09 Jun 2019 06:32:54 +0000 |
parents | 8b887918c008 |
children | b5dc4f1c4a83 |
files | bin/keyboardcomposer light9/Fadable.py |
diffstat | 2 files changed, 10 insertions(+), 6 deletions(-) [+] |
line wrap: on
line diff
--- a/bin/keyboardcomposer Sun Jun 09 05:58:09 2019 +0000 +++ b/bin/keyboardcomposer Sun Jun 09 06:32:54 2019 +0000 @@ -50,8 +50,8 @@ self.scale_var = kw.get('variable') or tk.DoubleVar() kw.update({ 'variable': self.scale_var, - 'from': 1, - 'to': 0, + 'from': 1., + 'to': 0., 'showvalue': 0, 'sliderlength': 15, 'res': 0.001,
--- a/light9/Fadable.py Sun Jun 09 05:58:09 2019 +0000 +++ b/light9/Fadable.py Sun Jun 09 06:32:54 2019 +0000 @@ -76,6 +76,10 @@ # variable's display instead of using Label(textvariable=var) # and format it there. self.fade_var.set(round(value, 7)) + if self.fade_var.get() != value: + self.fade_var.set(value) + if self.fade_var.get() != value: + raise ValueError("doublevar won't set") def fade(self, value, length=0.5, step_time=10): """Fade to value in length seconds with steps every step_time @@ -131,7 +135,7 @@ newlevel = self.fade_end_level - amount else: newlevel = self.fade_var.get() - amount - newlevel = max(0, newlevel) + newlevel = max(0., newlevel) self.set_volume(newlevel, length) def set_volume(self, newlevel, length=0.3): @@ -146,12 +150,12 @@ """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, + if self.last_level == 0.: # we don't want last_level to be zero, # since it will make us toggle between 0 # and 0 - newlevel = 1 + newlevel = 1. else: - newlevel = 0 + newlevel = 0. else: newlevel = self.last_level self.last_level = None