Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBenjamin Berg <benjamin@sipsolutions.net>2009-10-05 11:37:35 (GMT)
committer Benjamin Berg <benjamin@sipsolutions.net>2009-10-05 11:37:35 (GMT)
commita76fc1be5521c5f02c672c7b6774bda50aaef162 (patch)
tree1dc89b7edeeb5ba9bdc675be710307733bfe88f8
parent5bcf3251c9cc4f5c3931b5e9cbda5d02decaccaf (diff)
Better freq/time base selection.
-rw-r--r--sound_toolbar.py29
1 files changed, 9 insertions, 20 deletions
diff --git a/sound_toolbar.py b/sound_toolbar.py
index 5fb26d5..ef679d5 100644
--- a/sound_toolbar.py
+++ b/sound_toolbar.py
@@ -100,9 +100,10 @@ class SoundToolbar(gtk.Toolbar):
self.freq_high_img_tool.add(self.freq_high_img)
################ frequency control #################
- self.adjustmentf = gtk.Adjustment(70, 10, 70 ,20, 20, 0.0)
+ self.adjustmentf = gtk.Adjustment(.5, 0, 1.0, 0.01, 0.1, 0)
self.adjustmentf.connect("value_changed", self.cb_page_sizef)
self._freq_range = gtk.HScale(self.adjustmentf)
+ self._freq_range.set_inverted(True)
self._freq_range.set_draw_value(False)
self._freq_range.set_update_policy(gtk.UPDATE_CONTINUOUS)
self._freq_range.set_size_request(120,15)
@@ -304,25 +305,13 @@ class SoundToolbar(gtk.Toolbar):
def _update_page_size(self):
self._update_page_size_id = None
- if(self.adjustmentf.value>=10 and self.adjustmentf.value<20):
- self._freq_range.set_value(10)
- freq_div = 1000
- time_div = 0.001
-
- if(self.adjustmentf.value>=20 and self.adjustmentf.value<46):
- self._freq_range.set_value(30)
- freq_div = 500
- time_div = 0.0005
-
- if(self.adjustmentf.value>=46 and self.adjustmentf.value<62):
- self._freq_range.set_value(50)
- freq_div = 250
- time_div = 0.00025
-
- if(self.adjustmentf.value>=62 and self.adjustmentf.value<=70):
- self._freq_range.set_value(70)
- freq_div = 25
- time_div = 0.00005
+ new_value = round(self.adjustmentf.value*100.0)/100.0
+ if self.adjustmentf.value != new_value:
+ self.adjustmentf.value = new_value
+ return False
+
+ time_div = 0.001*max(self.adjustmentf.value, 0.05)
+ freq_div = 1000*max(self.adjustmentf.value, 0.01)
self.wave.set_div(time_div, freq_div)