| Home | Trees | Indices | Help |
|---|
|
|
1 #Embedded file name: /Users/versonator/Hudson/live/Projects/AppLive/Resources/MIDI Remote Scripts/_Framework/ButtonSliderElement.py 2 from SliderElement import SliderElement 3 from InputControlElement import InputControlElement, MIDI_INVALID_TYPE 4 from ButtonElement import ButtonElement 57 """ Class representing a set of buttons used as a slider """ 8 _last_sent_value = -1 99211 raise buttons != None or AssertionError 12 raise isinstance(buttons, tuple) or AssertionError 13 raise len(buttons) > 1 or AssertionError 14 SliderElement.__init__(self, MIDI_INVALID_TYPE, 0, 0) 15 self._buttons = buttons 16 self._last_button_lit = -1 17 identify_sender = True 18 for new_button in self._buttons: 19 raise new_button != None or AssertionError 20 raise isinstance(new_button, ButtonElement) or AssertionError 21 new_button.add_value_listener(self._button_value, identify_sender)2224 if self._parameter_to_map_to != None: 25 self._parameter_to_map_to.remove_value_listener(self._on_parameter_changed) 26 SliderElement.disconnect(self) 27 self._buttons = None2830 raise NotImplementedError, 'message_channel() should not be called directly on ButtonSliderElement'3133 raise NotImplementedError, 'message_identifier() should not be called directly on ButtonSliderElement'3436 raise NotImplementedError, 'message_map_mode() should not be called directly on ButtonSliderElement'3738 - def install_connections(self, install_translation_callback, install_mapping_callback, install_forwarding_callback):4042 if self._parameter_to_map_to != None: 43 self._parameter_to_map_to.remove_value_listener(self._on_parameter_changed) 44 InputControlElement.connect_to(self, parameter) 45 if self._parameter_to_map_to != None: 46 self._parameter_to_map_to.add_value_listener(self._on_parameter_changed) 47 self._on_parameter_changed()4850 if self._parameter_to_map_to != None: 51 self._parameter_to_map_to.remove_value_listener(self._on_parameter_changed) 52 InputControlElement.release_parameter(self)53 5658 if value != self._last_sent_value: 59 index_to_light = 0 60 if value > 0: 61 index_to_light = int((len(self._buttons) - 1) * value / 127) 62 for index in xrange(len(self._buttons)): 63 if index == index_to_light: 64 self._buttons[index].turn_on() 65 else: 66 self._buttons[index].turn_off() 67 68 self._last_sent_value = value 69 self._last_button_lit = index_to_light70 8688 raise self._parameter_to_map_to != None or AssertionError 89 param_range = abs(self._parameter_to_map_to.max - self._parameter_to_map_to.min) 90 midi_value = int(127 * abs(self._parameter_to_map_to.value - self._parameter_to_map_to.min) / param_range) 91 self.send_value(midi_value)
| Home | Trees | Indices | Help |
|---|
| Generated by Epydoc 3.0.1 on Wed Mar 6 18:53:33 2013 | http://epydoc.sourceforge.net |