def __init__(self, c_instance, *a, **k): self.log_message = logger.warning super(Codec, self).__init__(c_instance, *a, **k) self._locked = False self._shift_button = None self._device_selection_follows_track_selection=FOLLOW self._leds_last = 0 self._shift_latching = LatchingShiftedBehaviour if SHIFT_LATCHING else ShiftedBehaviour self._skin = Skin(CodecColors) with self.component_guard(): self._define_sysex() self._setup_controls() self._setup_background() self._setup_mixer_controls() self._setup_device_navigator() self._setup_device_controls() self._setup_special_device_control() self._setup_device_chooser() self._setup_device_selector() self._setup_send_reset() self._setup_default_buttons() self._setup_shift_modes() self._setup_mod() self._setup_modswitcher() self._setup_modes() self._setup_m4l_interface() self._background.set_enabled(True)
def __init__(self, *a, **k): super(Cntrlr, self).__init__(*a, **k) self._skin = Skin(CntrlrColors) for button in self._grid: button._skin = self._skin self._main_modes.selected_mode = 'Translations' self.schedule_message(3, self.initialize_translations)
def __init__(self, *a, **k): super(Cntrlr, self).__init__(*a, **k) self._skin = Skin(CntrlrColors) self._device_selection_follows_track_selection = FOLLOW with self.component_guard(): self._setup_monobridge() self._setup_controls() self._define_sysex() self._setup_background() self._setup_translations() #self._setup_autoarm() self._setup_session_control() self._setup_send_reset_controls() self._setup_mixer_control() self._setup_transport_control() self._setup_device_control() self._setup_mod_device_control() self._setup_device_selector() #self._setup_session_recording_component() #self._setup_viewcontrol() #self._setup_instrument() self._setup_mod() self._setup_modswitcher() self._setup_translations() self._setup_modes() self._setup_m4l_interface() self._on_device_changed.subject = self.song
def __init__(self, msg_type, channel, identifier, skin=Skin(), *a, **k): self._skin = skin self._header = None self._type = consts.FADER_TYPE_STANDARD self._color = 0 super(SliderElement, self).__init__(msg_type, channel, identifier, *a, **k) self.set_needs_takeover(False)
def __init__(self, c_instance): super(Alias, self).__init__(c_instance) self._skin = Skin(AliasColors) with self.component_guard(): self._setup_controls() self._setup_m4l_interface() self._setup_session_control() self._setup_mixer_control() self._setup_mixer_nav()
def __init__(self, *a, **k): super(GuitarWing, self).__init__(*a, **k) self._skin = Skin(GuitarWingColors) with self.component_guard(): self._setup_controls() self._setup_m4l_interface() self._setup_session_control() self._setup_mixer_control() self._setup_device_control() self._setup_transport_control() self._setup_view_control()
def __init__(self, *a, **k): super(Cntrlr, self).__init__(*a, **k) self._skin = Skin(CntrlrColors) for button in self._grid: button._skin = self._skin for button in self._button: button._skin = self._skin for button in self._encoder_button: button._skin = self._skin self._main_modes.selected_mode = 'FrederikMode' self._on_detail_clip_changed.subject = self.song.view self._on_selected_scene_changed.subject = self.song.view
def __init__(self, *a, **k): super(MonoBlocks, self).__init__(*a, **k) self.log_message = logger.info self._skin = Skin(MonoBlocksColors) with self.component_guard(): self._setup_monobridge() self._setup_controls() #self._setup_device() self._setup_mod() #self._setup_modes() self._setup_modswitcher() self._on_device_changed.subject = self._device_provider self.schedule_message(1, self._open_log)
def _create_elements(self): with self.component_guard(): skin = Skin(ForceColors if self.is_force else MPCColors) with inject(skin=const(skin)).everywhere(): elements_class = None if self.is_force: elements_class = ForceElements elif self._product_id == MPC_X_PRODUCT_ID: elements_class = MPCXElements elif self._product_id == MPC_LIVE_PRODUCT_ID: elements_class = MPCLiveElements self._elements = elements_class(self._product_id) self._element_injector = inject(element_container=const(self._elements)).everywhere()
def __init__(self, c_instance): super(DS1, self).__init__(c_instance) self._skin = Skin(DS1Colors) with self.component_guard(): self._define_sysex() self._setup_controls() self._setup_background() self._setup_m4l_interface() self._setup_session_control() self._setup_mixer_control() self._setup_transport_control() self._setup_device_control() self._setup_session_recording_component() self._setup_main_modes()
def __init__(self, *a, **k): super(Twister, self).__init__(*a, **k) self._skin = Skin(TwisterColors) self._device_selection_follows_track_selection = True with self.component_guard(): self._setup_monobridge() self._setup_controls() #self._define_sysex() self._setup_background() self._setup_m4l_interface() self._setup_mod() self._setup_device_control() self._setup_modes() self._on_device_changed.subject = self.song self._on_selected_track_changed.subject = self.song.view
def __init__(self, *a, **k): super(Cntrlr, self).__init__(*a, **k) self._skin = Skin(CntrlrColors) self._device_selection_follows_track_selection = FOLLOW with self.component_guard(): self._setup_controls() self._define_sysex() self._setup_background() #self._setup_autoarm() self._setup_viewcontrol() self._setup_session_control() self._setup_mixer_control() self._setup_transport_control() #self._setup_device_control() #self._setup_device_selector() #self._setup_session_recording_component() #self._setup_modes() self._setup_m4l_interface()
def __init__(self, c_instance): super(OhmModes, self).__init__(c_instance) self._skin = Skin(OhmColors) with self.component_guard(): self._define_sysex() self._setup_controls() self._setup_background() self._setup_m4l_interface() #self._setup_translations() self._setup_session_control() self._setup_mixer_control() #self._setup_device_control() #self._setup_transport_control() #self._setup_drumgroup() #self._setup_keygroup() #self._setup_bassgroup() #self._setup_mod() #self._setup_modswitcher() self._setup_modes()
def __init__(self, c_instance): super(OhmModes, self).__init__(c_instance) self._skin = Skin(OhmColors) with self.component_guard(): self._define_sysex() self._setup_controls() self._setup_background() self._setup_m4l_interface() #self._setup_translations() self._setup_session_control() self._setup_mixer_control() self._setup_instrument() #self._setup_device_control() #self._setup_transport_control() #self._setup_drumgroup() #self._setup_keygroup() #self._setup_bassgroup() #self._setup_mod() #self._setup_modswitcher() self._setup_modes() self._on_device_changed.subject = self._device_provider self.set_feedback_channels(FEEDBACK_CHANNELS) self._session_ring._update_highlight()
from __future__ import absolute_import, print_function, unicode_literals from builtins import object from ableton.v2.control_surface import merge_skins, Skin from novation.colors import Mono, Rgb from novation.skin import skin as base_skin class Colors(object): class Recording(object): On = Mono.ON Off = Mono.OFF class TrackNavigation(object): On = Mono.HALF Pressed = Mono.ON class SceneNavigation(object): On = Mono.HALF Pressed = Mono.ON class DrumGroup(object): PadSelected = Rgb.WHITE PadSelectedNotSoloed = Rgb.WHITE PadMutedSelected = Rgb.WHITE PadSoloedSelected = Rgb.WHITE Navigation = Rgb.WHITE_HALF NavigationPressed = Rgb.WHITE skin = merge_skins(*(base_skin, Skin(Colors)))
def __init__(self, skin=Skin(), *a, **k): super(SkinableSysexElement, self).__init__(*a, **k) self._skin = skin
class SendA(object): On = Rgb.VIOLET Off = Rgb.WHITE_HALF class SendB(object): On = Rgb.DARK_BLUE Off = Rgb.WHITE_HALF class Stop(object): On = Rgb.RED Off = Rgb.WHITE_HALF class Mute(object): On = Rgb.YELLOW Off = Rgb.WHITE_HALF class Solo(object): On = Rgb.BLUE Off = Rgb.WHITE_HALF class Arm(object): On = Rgb.RED Off = Rgb.WHITE_HALF class Launch(object): On = Rgb.WHITE_HALF skin = Skin(Colors)
def make_default_skin(): return Skin(Colors)
def __init__(self, *a, **k): super(Cntrlr, self).__init__(*a, **k) self._skin = Skin(CntrlrColors) for button in self._grid: button._skin = self._skin
PlayOff = Rgb.GREEN_DIM class Session: ClipEmpty = Rgb.OFF ClipTriggeredPlay = Rgb.GREEN_BLINK ClipTriggeredRecord = Rgb.RED_BLINK ClipStarted = Rgb.GREEN_PULSE ClipRecording = Rgb.RED_PULSE RecordButton = Rgb.RED_HALF Scene = Rgb.GREEN_HALF NoScene = Rgb.OFF SceneTriggered = Rgb.GREEN_BLINK StopClipTriggered = Rgb.RED_BLINK StopClip = Rgb.RED StopClipDisabled = Rgb.RED_HALF class View: DetailOn = Rgb.YELLOW DetailOff = Rgb.YELLOW_HALF MainOn = Rgb.BLUE MainOff = Rgb.BLUE_HALF ClipOn = Rgb.PURPLE ClipOff = Rgb.PURPLE_HALF BrowserOn = Rgb.GREEN BrowserOff = Rgb.GREEN_HALF skin = Skin(Colors) rgb_skin = Skin(RgbColors) # okay decompiling /home/deniz/data/projects/midiremote/Live 10.1.18/ATOMSQ/skin.pyc
class Session: ClipStopped = SysexRGBColor((31, 31, 0)) ClipStarted = SysexRGBColor((0, 31, 0)) ClipRecording = SysexRGBColor((31, 0, 0)) ClipTriggeredPlay = SysexRGBColor((0, 31, 0)) ClipTriggeredRecord = SysexRGBColor((31, 0, 0)) ClipEmpty = SysexRGBColor((0, 0, 0)) StopClip = Color(0) StopClipTriggered = Color(0) StopClipDisabled = Color(0) StoppedClip = Color(0) class Automation: On = Color(127) Off = Color(0) class View: Session = Color(0) Arranger = Color(127) class Mixer: MuteOn = Color(127) MuteOff = Color(0) SoloOn = Color(127) SoloOff = Color(0) ArmOn = Color(127) ArmOff = Color(0) default_skin = Skin(Colors)
class ConfigurableButtonElement(ButtonElement): """ Special button class that can be configured with custom on- and off-values. A ConfigurableButtonElement can have states other than True or False, which can be defined by setting the 'states' property. Thus 'set_light' can take any state or skin color. """ class Colors: class DefaultButton: On = Basic.ON Off = Basic.HALF Disabled = Basic.OFF Alert = Basic.FULL_BLINK_FAST default_skin = Skin(Colors) default_states = {True: 'DefaultButton.On', False: 'DefaultButton.Off'} num_delayed_messages = 2 send_depends_on_forwarding = False def __init__(self, is_momentary, msg_type, channel, identifier, skin = None, is_rgb = False, default_states = None, *a, **k): super(ConfigurableButtonElement, self).__init__(is_momentary, msg_type, channel, identifier, skin=(skin or self.default_skin), *a, **k) if default_states is not None: self.default_states = default_states self.states = dict(self.default_states) self.is_rgb = is_rgb self._force_next_value = False self.set_channel(NON_FEEDBACK_CHANNEL) return @property def _on_value(self): return self.states[True] @property def _off_value(self): return self.states[False] @property def on_value(self): return self._try_fetch_skin_value(self._on_value) @property def off_value(self): return self._try_fetch_skin_value(self._off_value) def _try_fetch_skin_value(self, value): try: return self._skin[value] except SkinColorMissingError: return value def reset(self): self.states = dict(self.default_states) self.set_light('DefaultButton.Disabled') self.set_identifier(self._original_identifier) self.set_channel(NON_FEEDBACK_CHANNEL) self.set_enabled(True) def reset_state(self): super(ConfigurableButtonElement, self).reset_state() self.states = dict(self.default_states) def set_on_off_values(self, on_value, off_value): self.states[True] = on_value self.states[False] = off_value def set_force_next_value(self): self._force_next_value = True def set_enabled(self, enabled): self.suppress_script_forwarding = not enabled def is_enabled(self): return not self.suppress_script_forwarding def set_light(self, value): if type(value) in (int, long) and in_range(value, 0, 128): self.send_value(value) else: super(ConfigurableButtonElement, self).set_light(self.states.get(value, value)) def send_value(self, value, **k): if value is ON_VALUE: self._do_send_on_value() elif value is OFF_VALUE: self._do_send_off_value() else: super(ConfigurableButtonElement, self).send_value(value, **k) def _do_send_on_value(self): self._skin[self._on_value].draw(self) def _do_send_off_value(self): self._skin[self._off_value].draw(self) def script_wants_forwarding(self): return not self.suppress_script_forwarding
# decompyle3 version 3.8.0 # Python bytecode 3.7.0 (3394) # Decompiled from: Python 3.8.9 (default, Mar 30 2022, 13:51:17) # [Clang 13.1.6 (clang-1316.0.21.2.3)] # Embedded file name: output/Live/mac_64_static/Release/python-bundle/MIDI Remote Scripts/Launchpad_Mini_MK3/skin.py # Compiled at: 2022-01-27 16:28:16 # Size of source mod 2**32: 647 bytes from __future__ import absolute_import, print_function, unicode_literals from builtins import object from ableton.v2.control_surface import Skin, merge_skins from ableton.v2.control_surface.elements import Color from novation.colors import Rgb import novation.skin as base_skin class Colors(object): class Mode(object): class Session(object): Launch = Color( (Rgb.PALE_GREEN_HALF.midi_value, Rgb.WHITE_HALF.midi_value)) Overview = Color((Rgb.BLUE.midi_value, Rgb.WHITE_HALF.midi_value)) skin = merge_skins(base_skin, Skin(Colors) * ())
def make_drum_pad_coloring_skin(): return Skin(ColorsWithDrumPadColoring)