def __init__(self, c_instance): ControlSurface.__init__(self, c_instance) #self.log_message(time.strftime("%d.%m.%Y %H:%M:%S", time.localtime()) + "--------------= PocketDial log opened =--------------") # turn off rebuild MIDI map until after setup #self._set_suppress_rebuild_requests(True) with self.component_guard(): self._controls = [ EncoderElement(MIDI_CC_TYPE, settings.CHANNEL, cc, settings.MAP_MODE) for cc in settings.CCS ] mixer = MixerControl(self) session = SessionControl(self) device = DeviceControl(self) track = TrackControl(self) # bind mixer to session session.component.set_mixer(mixer.component) self.set_highlighting_session_component(session.component) # "magic" internal self._device_component, which enables lock to device, etc. self.set_device_component(device.component) # register components (Live 8 only?) #self._register_component(session.component) #self._register_component(mixer.component) #self._register_component(device.component) self._device = device self._track = track
def __init__(self, c_instance): ControlSurface.__init__(self, c_instance) #self.log_message(time.strftime("%d.%m.%Y %H:%M:%S", time.localtime()) + "--------------= PocketDial log opened =--------------") # turn off rebuild MIDI map until after setup self.set_suppress_rebuild_requests(True) self._controls = [ EncoderElement(MIDI_CC_TYPE, settings.CHANNEL, cc, settings.MAP_MODE) for cc in settings.CCS ] mixer = MixerControl(self) session = SessionControl(self) device = DeviceControl(self) track = TrackControl(self) #timer = TimerComponent(self) # def _translate_message(self, type, from_identifier, from_channel, to_identifier, to_channel): # if not type in (MIDI_CC_TYPE, MIDI_NOTE_TYPE): # raise AssertionError # raise from_identifier in range(128) or AssertionError # raise from_channel in range(16) or AssertionError # raise to_identifier in range(128) or AssertionError # raise to_channel in range(16) or AssertionError # type == MIDI_CC_TYPE and self._c_instance.set_cc_translation(from_identifier, from_channel, to_identifier, to_channel) # elif type == MIDI_NOTE_TYPE: # self._c_instance.set_note_translation(from_identifier, from_channel, to_identifier, to_channel) # else: # raise False or AssertionError # Live 9 only #self.set_highlighting_session_component(session) # bind mixer to session session.component.set_mixer(mixer.component) # "magic" internal self._device_component, which enables lock to device, etc. self.set_device_component(device.component) # register components needed? works without #self._register_component(session.component) #self._register_component(mixer.component) #self._register_component(device.component) self._device = device self._track = track # turn rebuild back on self.set_suppress_rebuild_requests(False)
def __init__(self, c_instance): #log("SelectedTrackControl::__init__") self.c_instance = c_instance # mappings for registered MIDI notes/CCs self.midi_callbacks = {} # lookup object for fast lookup of cc to mode self.midi_cc_to_mode = {} # parse midi_mapping recursive for MIDI.CC self.mapping_parse_recursive(settings.midi_mapping.values()) self._device_control = DeviceControl(c_instance, self) self.components = ( SessionControl(c_instance, self), MixerControl(c_instance, self), GlobalControl(c_instance, self), ViewControl(c_instance, self), self._device_control, QuantizationControl(c_instance, self), )