def __init__(self,
                 buttons,
                 type=BAR,
                 lut=None,
                 lut_high_res=False,
                 on_value=60,
                 off_value=4):
        assert (buttons != None)
        assert isinstance(buttons, tuple)
        SliderElement.__init__(self, MIDI_CC_TYPE, 0, 0)
        self._buttons = buttons
        self._last_button_lit = -1
        self._control_type = type
        self._on_value = on_value
        self._off_value = off_value
        if lut != None:
            if lut_high_res:
                self._lut = lut
                self._lut.reverse()
            else:
                self._lut = [lut[0]]
                self._lut.extend(lut[2::2])
                if (self._lut[-1] != 0.0):
                    self._lut.append(lut[-1])
                self._lut.reverse()
        else:
            self._lut = None

        if type == PAN:
            #calculate the center
            if (len(self._buttons) % 2) == 0:
                self._center = ((len(self._buttons) / 2),
                                (len(self._buttons) / 2) - 1)
            else:
                self._center = ((len(self._buttons) / 2), )

        identify_sender = True

        if (len(self._buttons) == 1):
            self._control_type = SING

        for new_button in self._buttons:
            assert (new_button != None)
            assert isinstance(new_button, ButtonElement)
            new_button.add_value_listener(self._button_value, identify_sender)
Ejemplo n.º 2
0
 def __init__(self, type, ch, msg, report=False):
     self._report_name_val = report
     self._last_time = 0
     SliderElement.__init__(self, type, ch, msg)
 def __init__(self, type, ch, msg, report = False):
     self._report_name_val = report
     self._last_time = 0
     SliderElement.__init__(self, type, ch, msg)