Ejemplo n.º 1
0
    def _create_controls(self):
        super(KeyLabMkII, self)._create_controls()

        def make_button_row(index_offset, name):
            return ButtonMatrixElement(rows=[
             [ create_button(index + index_offset, name=('{}_{}').format(name, index)) for index in xrange(8)
             ]], name=('{}s').format(name))

        self._select_buttons = make_button_row(24, 'Select_Button')
        self._solo_buttons = make_button_row(8, 'Solo_Button')
        self._mute_buttons = make_button_row(16, 'Mute_Button')
        self._record_arm_buttons = make_button_row(0, 'Record_Arm_Buttons')
        self._automation_button = create_button(56, name='Automation_Button')
        self._re_enable_automation_button = create_button(57, name='Re_Enable_Automation_Button')
        self._view_button = create_button(74, name='View_Button')
        self._pads = ButtonMatrixElement(rows=[ [ create_button(identifier, channel=9, name=('Pad_{}_{}').format(col_index, row_index)) for col_index, identifier in enumerate(row) ] for row_index, row in enumerate(PAD_IDS)
                                              ])
        self._pad_leds = ButtonMatrixElement(rows=[ [ create_pad_led(identifier, ('Pad_LED_{}_{}').format(col_index, row_index)) for col_index, identifier in enumerate(row) ] for row_index, row in enumerate(PAD_LED_IDS)
                                                  ], name='Pad_LED_Matrix')
        self._display = PhysicalDisplayElement(DISPLAY_LINE_WIDTH, name='Display')
        self._display.set_message_parts(sysex.LCD_SET_STRING_MESSAGE_HEADER + (sysex.LCD_LINE_1_ITEM_ID,), (
         sysex.NULL, sysex.LCD_LINE_2_ITEM_ID) + (ord(' '),) * DISPLAY_LINE_WIDTH + (sysex.NULL, sysex.END_BYTE))
        self._mixer_mode_cycle_button = create_button(51, name='Mixer_Mode_Cycle_Button')
        self._vegas_mode_switch = SysexElement(send_message_generator=lambda b: sysex.VEGAS_MODE_MESSAGE_HEADER + (
         b, sysex.END_BYTE), name='Vegas_Mode_Switch')
Ejemplo n.º 2
0
 def make_button_row(index_offset, name):
     return ButtonMatrixElement(rows=[[
         create_button(index + index_offset,
                       name=('{}_{}').format(name, index))
         for index in xrange(8)
     ]],
                                name=('{}s').format(name))