def _setup_session_control(self):
     is_momentary = True
     self._session = SpecialSessionComponent(8, 2)
     self._session.name = 'Session_Control'
     self._session.set_track_bank_buttons(self._note_map[SESSIONRIGHT], self._note_map[SESSIONLEFT])
     self._session.set_scene_bank_buttons(self._note_map[SESSIONDOWN], self._note_map[SESSIONUP])
     self._session.set_select_buttons(self._note_map[SCENEDN], self._note_map[SCENEUP])
     self._scene_launch_buttons = [self._note_map[SCENELAUNCH[index]] for index in range(2) ]
     self._track_stop_buttons = [self._note_map[TRACKSTOP[index]] for index in range(8) ]
     self._session.set_stop_all_clips_button(self._note_map[STOPALLCLIPS])
     self._session.set_stop_track_clip_buttons(tuple(self._track_stop_buttons))
     self._session.selected_scene().name = 'Selected_Scene'
     self._session.selected_scene().set_launch_button(self._note_map[SELSCENELAUNCH])
     self._session.set_slot_launch_button(self._note_map[SELCLIPLAUNCH])
     for scene_index in range(2):
         scene = self._session.scene(scene_index)
         scene.name = 'Scene_' + str(scene_index)
         button_row = []
         scene.set_launch_button(self._scene_launch_buttons[scene_index])
         scene.set_triggered_value(2)
         for track_index in range(8):
             button = self._note_map[CLIPNOTEMAP[scene_index][track_index]]
             button_row.append(button)
             clip_slot = scene.clip_slot(track_index)
             clip_slot.name = str(track_index) + '_Clip_Slot_' + str(scene_index)
             clip_slot.set_launch_button(button)
     self._session_zoom = SpecialZoomingComponent(self._session)
     self._session_zoom.name = 'Session_Overview'
     self._session_zoom.set_nav_buttons(self._note_map[ZOOMUP], self._note_map[ZOOMDOWN], self._note_map[ZOOMLEFT], self._note_map[ZOOMRIGHT])
 def _setup_session_control(self):
     is_momentary = True
     self._session = SpecialSessionComponent(TRACK_NUMBER, MATRIX_DEPTH)
     self._session.name = 'Session_Control'
     self._session.set_track_bank_buttons(self._note_map_buttons[25], self._note_map_buttons[24])
     self._session.set_scene_bank_buttons(self._note_map_buttons[27], self._note_map_buttons[26])
     self._session.set_select_buttons(self._note_map_buttons[34], self._note_map_buttons[35])
     self._scene_launch_buttons = [self._note_map_scenes[index] for index in range(MATRIX_DEPTH) ]
     self._track_stop_buttons = [self._note_map_trk_stop_buttons[index] for index in range(TRACK_NUMBER) ]
     self._session.set_stop_all_clips_button(self._note_map_buttons[38])
     self._session.set_stop_track_clip_buttons(tuple(self._track_stop_buttons))
     self._session.selected_scene().name = 'Selected_Scene'
     self._session.selected_scene().set_launch_button(self._note_map_buttons[36])
     self._session.set_slot_launch_button(self._note_map_buttons[37])
     for scene_index in range(MATRIX_DEPTH):
         scene = self._session.scene(scene_index)
         scene.name = 'Scene_' + str(scene_index)
         button_row = []
         scene.set_launch_button(self._scene_launch_buttons[scene_index])
         scene.set_triggered_value(2)
         for track_index in range(TRACK_NUMBER):
             if (CLIPNOTEMAP[scene_index][track_index] == -1):
                 button = None
             else:
                 button = ButtonElement(is_momentary, CLIPNOTEMAP_TYPE[scene_index][track_index], CLIPNOTEMAP_CH[scene_index][track_index], CLIPNOTEMAP[scene_index][track_index])
             button_row.append(button)
             clip_slot = scene.clip_slot(track_index)
             clip_slot.name = str(track_index) + '_Clip_Slot_' + str(scene_index)
             clip_slot.set_launch_button(button)
     self._session_zoom = SpecialZoomingComponent(self._session)
     self._session_zoom.name = 'Session_Overview'
     self._session_zoom.set_nav_buttons(self._note_map_buttons[28], self._note_map_buttons[29], self._note_map_buttons[30], self._note_map_buttons[31])
    def _setup_session_control(self):
        is_momentary = True
        self._device = DeviceComponent()
        self._device.name = 'Device_Component'
        self._session = SpecialSessionComponent(4, 4)
        self._session.name = 'Session_Control'
        self._session.set_track_bank_buttons(
            self._set_button(BUTTONCHANNEL + 1, SESSIONRIGHT),
            self._set_button(BUTTONCHANNEL + 1, SESSIONLEFT))
        self._session.set_scene_bank_buttons(
            self._set_button(BUTTONCHANNEL + 1, SESSIONDOWN),
            self._set_button(BUTTONCHANNEL + 1, SESSIONUP))
        self._session_zoom = SpecialZoomingComponent(self._session)
        self._session_zoom.name = 'Session_Overview'
        self._session_zoom.set_nav_buttons(
            self._set_button(BUTTONCHANNEL + 1, ZOOMUP),
            self._set_button(BUTTONCHANNEL + 1, ZOOMDOWN),
            self._set_button(BUTTONCHANNEL + 1, ZOOMLEFT),
            self._set_button(BUTTONCHANNEL + 1, ZOOMRIGHT))
        tracks = self.getslots()  #get clip slots to access clip colors
        for scene_index in range(4):
            scene_off = self._session._scene_offset
            scene = self._session.scene(scene_index + scene_off)
            scene.name = 'Scene_' + str(scene_index + scene_off)
            button_row = []
            for track_index in range(4):
                button = self._set_button(
                    BUTTONCHANNEL, CLIPNOTEMAP[scene_index][track_index],
                    GREEN, OFF)
                button_row.append(button)
                clip_slot = scene.clip_slot(track_index)
                clip_slot.name = str(track_index) + '_Clip_Slot_' + str(
                    scene_index + scene_off)
                clip_slot.set_launch_button(button)
                c = tracks[track_index][scene_index +
                                        scene_off]  #get clip for color
                clip_slot.set_stopped_value(LOWYELLOW)
                if c.clip != None:
                    cval = self._get_MF3D_color(self.int_to_rgb(c.clip.color))
                    self.log_message("Clip:  tr: " + str(track_index) +
                                     " clip: " + str(scene_index + scene_off) +
                                     " has color: " +
                                     str(self.int_to_rgb(c.clip.color)) +
                                     " va " + str(cval))
                    clip_slot.set_stopped_value(cval)
##                clip_slot.set_triggered_to_launch_value(1)
                clip_slot.set_triggered_to_play_value(PLAYTRIG_COL)
                clip_slot.set_started_value(TRIGD_COL)
                clip_slot.set_triggered_to_record_value(RECTRIG_COL)
                clip_slot.set_recording_value(RECD_COL)