def _init_transport_and_recording(self): """ Same as in OG. Needed here so ExtSessionRecordingComponent is used if elected. """ self._view_control = ViewControlComponent(name='View_Control') self._view_control.set_enabled(False) self._view_control.layer = Layer( prev_track_button=self._nav_left_button, next_track_button=self._nav_right_button, prev_scene_button=OptionalElement(self._nav_up_button, self._settings[SETTING_WORKFLOW], False), next_scene_button=OptionalElement(self._nav_down_button, self._settings[SETTING_WORKFLOW], False), prev_scene_list_button=OptionalElement( self._nav_up_button, self._settings[SETTING_WORKFLOW], True), next_scene_list_button=OptionalElement( self._nav_down_button, self._settings[SETTING_WORKFLOW], True)) self._session_recording = FixedLengthSessionRecordingComponent( self._clip_creator, self._view_control, name='Session_Recording', is_root=True) new_button = MultiElement(self._new_button, self._foot_pedal_button.double_press) record_button = MultiElement(self._record_button, self._foot_pedal_button.single_press) self._session_recording.layer = Layer( new_button=OptionalElement(new_button, self._settings[SETTING_WORKFLOW], False), scene_list_new_button=OptionalElement( new_button, self._settings[SETTING_WORKFLOW], True), record_button=record_button, automation_button=self._automation_button, new_scene_button=self._with_shift(self._new_button), re_enable_automation_button=self._with_shift( self._automation_button), delete_automation_button=ComboElement(self._automation_button, [self._delete_button]), length_button=self._fixed_length_button, _uses_foot_pedal=self._foot_pedal_button) self._session_recording.length_layer = Layer( display_line=self._display_line4, label_display_line=self._display_line3, blank_display_line2=self._display_line2, blank_display_line1=self._display_line1, select_buttons=self._select_buttons, state_buttons=self._track_state_buttons, _notification=self._notification.use_single_line(1)) self._session_recording.length_layer.priority = consts.DIALOG_PRIORITY self._transport = TransportComponent( name='Transport', play_toggle_model_transform=lambda v: v, is_root=True) self._transport.layer = Layer(play_button=self._play_button, stop_button=self._with_shift( self._play_button), tap_tempo_button=self._tap_tempo_button, metronome_button=self._metronome_button)