def setup_device(self, rack): """ Setup macros and track mixer params """ MacrobatParameterRackTemplate.setup_device(self, rack) for index in range(1,9): macro = rack.parameters[index] param = None if macro.is_enabled: name = self._parent.get_name(macro.name) if name.startswith('SEND') and not self._track == self.song().master_track: try: param = self._track.mixer_device.sends[ord(name[5]) - 65] except: param = None elif name.startswith('VOL'): param = self._track.mixer_device.volume elif name.startswith('PAN'): param = self._track.mixer_device.panning if param and param.is_enabled: m_listener = lambda index = index:self.macro_changed(index) macro.add_value_listener(m_listener) p_listener = lambda index = index:self.param_changed(index) param.add_value_listener(p_listener) self._param_macros[index] = (macro, param) if IS_LIVE_9: self._tasks.add(self.get_initial_value) else: self._get_initial_value = True # local variables: # tab-width: 4
def setup_device(self, rack): """ Set up macros and rack chain params """ MacrobatParameterRackTemplate.setup_device(self, rack) self._rack = self.get_rack() if self._rack: param_name = self._parent.get_name(rack.name[12:].strip()) for index in range(1,9): chain_to_edit = {} macro = rack.parameters[index] param = None if macro.is_enabled: chain_name = self._parent.get_name(macro.name) if self._rack.has_key(chain_name): chain_to_edit = self._rack[chain_name] if chain_to_edit.has_key(param_name): param = chain_to_edit[param_name] if param and param.is_enabled: m_listener = lambda index = index:self.macro_changed(index) macro.add_value_listener(m_listener) p_listener = lambda index = index:self.param_changed(index) param.add_value_listener(p_listener) self._param_macros[index] = (macro, param) if IS_LIVE_9: self._tasks.add(self.get_initial_value) else: self._get_initial_value = True
def setup_device(self, rack): """ Set up macros and drum rack params """ MacrobatParameterRackTemplate.setup_device(self, rack) self._drum_rack = self.get_drum_rack() if self._drum_rack: drum_name = rack.name[5:].strip() drum_to_edit = {} if self._drum_rack['devs_by_index'].has_key(drum_name): drum_to_edit = self._drum_rack['devs_by_index'][drum_name] elif self._drum_rack['devs_by_name'].has_key(drum_name): drum_to_edit = self._drum_rack['devs_by_name'][drum_name] for index in range(1,9): macro = rack.parameters[index] param = None if macro.is_enabled: name = self._parent.get_name(macro.name) if drum_to_edit.has_key(name): param = drum_to_edit[name] if param and param.is_enabled: m_listener = lambda index = index:self.macro_changed(index) macro.add_value_listener(m_listener) p_listener = lambda index = index:self.param_changed(index) param.add_value_listener(p_listener) self._param_macros[index] = (macro, param) if IS_LIVE_9: self._tasks.add(self.get_initial_value) else: self._get_initial_value = True
def setup_device(self, rack): """ Set up receiver and send macros """ MacrobatParameterRackTemplate.setup_device(self, rack) receiver_macros = self.get_ident_macros(rack) if receiver_macros: self._sender_macros = [] for t in (tuple(self.song().tracks) + tuple(self.song().return_tracks) + (self.song().master_track, )): self.get_sender_macros(t.devices) if self._sender_macros: for r in receiver_macros: index = 0 for s in self._sender_macros: index += 1 if r[0] == s[0] and r[1].is_enabled and s[1].is_enabled: r_listener = lambda index=index: self.macro_changed( index) r[1].add_value_listener(r_listener) s_listener = lambda index=index: self.param_changed( index) s[1].add_value_listener(s_listener) self._param_macros[index] = (r[1], s[1]) if IS_LIVE_9: self._tasks.add(self.get_initial_value) else: self._get_initial_value = True
def setup_device(self, rack): """ Set up macros and drum rack params """ MacrobatParameterRackTemplate.setup_device(self, rack) self._rack = rack self._drum_rack = self.get_drum_rack() self._selected_chain = None self._on_sends_changed.subject = None self._on_selected_pad_changed.subject = None if self._drum_rack: self._on_selected_pad_changed.subject = self._drum_rack['rack'].view self._set_selected_chain() if self._selected_chain: num_sends = len(self._selected_chain.mixer_device.sends) for index in range(1,9): if rack.parameters[index].is_enabled: param = None if index == 1: param = self._selected_chain.mixer_device.volume elif index == 2: param = self._selected_chain.mixer_device.panning else: s_index = index - 3 if s_index < num_sends: param = self._selected_chain.mixer_device.sends[s_index] if param and param.is_enabled: macro = rack.parameters[index] m_listener = lambda index = index:self.macro_changed(index) macro.add_value_listener(m_listener) p_listener = lambda index = index:self.param_changed(index) param.add_value_listener(p_listener) self._param_macros[index] = (macro, param) self._tasks.add(self.get_initial_value)
def setup_device(self, rack): """ Set up macro 1 and learned param """ MacrobatParameterRackTemplate.setup_device(self, rack) self._rack = rack param = self.song().view.selected_parameter if LAST_PARAM and LAST_PARAM.has_key(0): param = LAST_PARAM[0] if self._rack and param: if self._rack.parameters[1].is_enabled and param.is_enabled: index = 1 m_listener = lambda index = index:self.macro_changed(index) self._rack.parameters[1].add_value_listener(m_listener) p_listener = lambda index = index:self.param_changed(index) param.add_value_listener(p_listener) self._param_macros[index] = (self._rack.parameters[1], param) if IS_LIVE_9: self._tasks.add(self.get_initial_value) else: self._get_initial_value = True
def setup_device(self, rack): """ Set up macro 1 and chain selector """ MacrobatParameterRackTemplate.setup_device(self, rack) self._rack = rack if self._rack: macro = self._rack.parameters[1] cs = self._rack.parameters[9] if macro.is_enabled and cs.is_enabled: self._wrapper = CSWrapper(cs) self._wrapper.max = len(self._rack.chains) if self._wrapper.max > 1: self._on_chains_changed.subject = self._rack index = 1 m_listener = lambda index = index:self.macro_changed(index) macro.add_value_listener(m_listener) p_listener = lambda index = index:self.param_changed(index) self._wrapper.add_value_listener(p_listener) self._param_macros[index] = (macro, self._wrapper) if IS_LIVE_9: self._tasks.add(self.get_initial_value) else: self._get_initial_value = True