1 import baseObject
2 import config
3 import synthDriverHandler
4 import queueHandler
5
7 """a numeric synth setting. Has functions to set, get, increase and decrease its value """
8 - def __init__(self,synth,setting,min=0,max=100):
14
19
24
26 return getattr(self.synth,self.setting.name)
27
31
34
37
40 self._values=getattr(synth,"available%ss"%setting.name.capitalize()).values()
41 super(StringSynthSetting,self).__init__(synth,setting,0,len(self._values)-1)
42
44 curID=getattr(self.synth,self.setting.name)
45 for e,v in enumerate(self._values):
46 if curID==v.ID:
47 return e
48
58
61
63
66
69
72
74 return _("on") if val else _("off")
75
77 """
78 A synth settings ring which enables the user to change to the next and previous settings and ajust the selected one
79 It was written to facilitate the implementation of a way to change the settings resembling the window-eyes way.
80 """
81
83 try:
84 self._current = synth.initialSettingsRingSetting
85 except ValueError:
86 self._current=None
87 self.updateSupportedSettings(synth)
88
90 """ returns the current setting's name """
91 if self._current is not None and hasattr(self,'settings'):
92 return self.settings[self._current].setting.i18nName.replace('&','')
93 return None
94
96 return self.settings[self._current].reportValue
97
99 if self._current is not None:
100 self.settings[_current].value = val
101
103 """ changes to the next setting and returns its name """
104 if self._current is not None:
105 self._current = (self._current + 1) % len(self.settings)
106 return self.currentSettingName
107 return None
108
110 if self._current is not None:
111 self._current = (self._current - 1) % len(self.settings)
112 return self.currentSettingName
113 return None
114
116 """ increases the currentSetting and returns its new value """
117 if self._current is not None:
118 return self.settings[self._current].increase()
119 return None
120
122 """ decreases the currentSetting and returns its new value """
123 if self._current is not None:
124 return self.settings[self._current].decrease()
125 return None
126
155