コード例 #1
0
 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)
コード例 #2
0
 def __init__(self, *a, **k):
     super(MIDI_Mix, self).__init__(*a, **k)
     with self.component_guard():
         self._skin = Skin(Colors)
         with inject(skin=const(self._skin)).everywhere():
             self._create_controls()
         self._create_mixer()
コード例 #3
0
class ColorButtonElement(ConfigurableButtonElement):
    """ Same as Push's but doesn't change channels """
    class Colors:
        class DefaultButton:
            On = Rgb.GREEN
            Off = Rgb.BLACK
            Disabled = Rgb.BLACK
            Alert = Rgb.RED

    default_skin = Skin(Colors)
    default_states = {True: 'DefaultButton.On', False: 'DefaultButton.Off'}

    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
コード例 #4
0
 def __init__(self, c_instance):
     super(DS1, self).__init__(c_instance)
     self._connected = False
     self._host_name = 'DS1'
     self.oscServer = None
     self._rgb = 0
     self._timer = 0
     self.flash_status = 1
     self._touched = 0
     self._update_linked_device_selection = None
     self._skin = Skin(DS1Colors)
     with self.component_guard():
         self._setup_monobridge()
         self._setup_controls()
         self._setup_m4l_interface()
         self._define_sysex()
         self._initialize_hardware()
         self._setup_mixer_control()
         self._setup_session_control()
         self._setup_transport_control()
         self._setup_device_control()
         self._setup_session_recording_component()
         #self._setup_translations()
         self._setup_main_modes()
         #self._device.add_device_listener(self._on_new_device_set)
     self.log_message(
         "<<<<<<<<<<<<<<<<<= DS1 log opened =>>>>>>>>>>>>>>>>>>>>>")
コード例 #5
0
ファイル: LaunchMod.py プロジェクト: aumhaa/m4m7
	def __init__(self, *a, **k):
		ControlSurface.__init__(self, *a, **k)
		self._skin = Skin(LaunchModColors)
		with self.component_guard():
			self._monomod_version = 'b996'
			self._host_name = 'LaunchMod'
			self._color_type = 'Launchpad'
			self._timer = 0
			self._suppress_send_midi = True
			self._suppress_session_highlight = True
			self._suppress_highlight = False
			is_momentary = True
			self._suggested_input_port = 'Launchpad'
			self._suggested_output_port = 'Launchpad'
			self._control_is_with_automap = False
			self._user_byte_write_button = ButtonElement(is_momentary, MIDI_CC_TYPE, 0, 16)
			self._user_byte_write_button.name = 'User_Byte_Button'
			self._user_byte_write_button.send_value(1)
			self._user_byte_write_button.add_value_listener(self._user_byte_value)
			self._wrote_user_byte = False
			self._challenge = Live.Application.get_random_int(0, 400000000) & 2139062143
			matrix = ButtonMatrixElement(name = 'Button_Matrix')
			for row in range(8):
				button_row = [ ConfigurableButtonElement(is_momentary, MIDI_NOTE_TYPE, 0, row * 16 + column, str(column) + '_Clip_' + str(row) + '_Button', self, skin = self._skin) for column in range(8) ]
				matrix.add_row(tuple(button_row))
			self._matrix = matrix
			self._config_button = ButtonElement(is_momentary, MIDI_CC_TYPE, 0, 0, optimized_send_midi=False)
			self._config_button.add_value_listener(self._config_value)
			top_button_names = ['Bank_Select_Up_Button',
			 'Bank_Select_Down_Button',
			 'Bank_Select_Left_Button',
			 'Bank_Select_Right_Button',
			 'Session_Button',
			 'User1_Button',
			 'User2_Button',
			 'Mixer_Button']
			side_button_names = ['Vol_Button',
			 'Pan_Button',
			 'SndA_Button',
			 'SndB_Button',
			 'Stop_Button',
			 'Trk_On_Button',
			 'Solo_Button',
			 'Arm_Button']
			top_buttons = [ ConfigurableButtonElement(is_momentary, MIDI_CC_TYPE, 0, 104 + index, top_button_names[index], self, skin = self._skin) for index in range(8) ]
			self._top_buttons = top_buttons
			side_buttons = [ ConfigurableButtonElement(is_momentary, MIDI_NOTE_TYPE, 0, SIDE_NOTES[index], side_button_names[index], self, skin = self._skin) for index in range(8) ]
			self._side_buttons = ButtonMatrixElement(name = 'SideButtons', rows = [side_buttons])
			self._setup_monobridge()
			self._setup_mod()
			self._selector = MainSelectorComponent(self, matrix, tuple(top_buttons), tuple(side_buttons), self._config_button)
			self._selector.name = 'Main_Modes'
			for control in self.controls:
				isinstance(control, MonoButtonElement) and control.add_value_listener(self._button_value)
			self.set_highlighting_session_component(self._selector.session_component())
			self._suppress_session_highlight = False
		self.log_message('--------------= ' + str(self._monomod_version) + ' log opened =--------------')	
コード例 #6
0
 def __init__(self, *a, **k):
     super(BeatStep, self).__init__(*a, **k)
     self._skin = Skin(Colors)
     with self.component_guard():
         self._create_controls()
         self._create_device()
         self._create_session()
         self._create_mixer()
         self._create_transport()
コード例 #7
0
 def __init__(self, *a, **k):
     super(MIDI_Mix, self).__init__(*a, **k)
     with self.component_guard():
         self._skin = Skin(Colors)
         with inject(skin=const(self._skin)).everywhere():
             self._create_controls()
         self._create_mixer()
         self._create_session()
         self._session.set_mixer(self._mixer)
         self.set_highlighting_session_component(self._session)
コード例 #8
0
ファイル: ButtonElement.py プロジェクト: xnamahx/APC40_MkIIx
 def __init__(self,
              is_momentary,
              msg_type,
              channel,
              identifier,
              skin=Skin(),
              undo_step_handler=DummyUndoStepHandler(),
              *a,
              **k):
     super(ButtonElement,
           self).__init__(is_momentary, msg_type, channel, identifier, skin,
                          undo_step_handler, *a, **k)
     self._skin = make_rgb_skin()
コード例 #9
0
    def _create_controls(self):
        skin = Skin(SkinDefault)

        def create_matrix_button(row, column):
            return ButtonElement(True,
                                 MIDI_NOTE_TYPE,
                                 0,
                                 row * 16 + column,
                                 skin=skin)

        def create_matrix(size):
            return ButtonMatrixElement(
                rows=[[create_matrix_button(x, y) for y in xrange(size)]
                      for x in xrange(size)])

        self.matrix = create_matrix(8)
コード例 #10
0
ファイル: Faderfox.py プロジェクト: aumhaa/PO10
 def __init__(self, *a, **k):
     super(Faderfox, self).__init__(*a, **k)
     self._version_check = '1.0'
     self._host_name = 'Faderfox'
     self._color_type = 'Monochrome'
     self._rgb = 0
     self._timer = 0
     self._touched = 0
     self.flash_status = 1
     self._skin = Skin(FaderfoxColors)
     self._main_modes = None
     with self.component_guard():
         self._setup_monobridge()
         self._setup_controls()
         self._setup_session()
         self._setup_device_control()
         self._setup_device_selector()
         self._setup_modes()
     self._device_selector.select_device(DEFAULT_DEVICE_INDEX)
     self._on_device_changed.subject = self.song()
     self.set_feedback_channels(range(14, 15))
     #self._main_modes.selected_mode = 'MixMode'
     self.schedule_message(1, self._open_log)
     self._session.set_enabled(True)
コード例 #11
0
def make_default_skin():
    return Skin(Defaults)
コード例 #12
0
def make_biled_skin():
    return Skin(BiLedColors)
コード例 #13
0
ファイル: Skins.py プロジェクト: willrjmarshall/LividControl
def pad_skin():
  return Skin(Colors)
コード例 #14
0
def make_default_skin():
    return Skin(Colors)
コード例 #15
0
ファイル: Skins.py プロジェクト: willrjmarshall/LividControl
def button_skin(index):
  class Button:
    On = mode_colors[index]
    Off = mode_colors[index]
    Alt = Rgb.YELLOW
  return Skin(Button)
コード例 #16
0
ファイル: SkinMK1.py プロジェクト: lordluay/Launchpad95
def make_skin():
    return Skin(Colors)
コード例 #17
0
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._is_enabled = True
        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 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):
        if self._is_enabled != enabled:
            self._is_enabled = enabled
            self._request_rebuild()

    def is_enabled(self):
        return self._is_enabled

    def set_light(self, value):
        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 self._is_enabled
コード例 #18
0
ファイル: Skins.py プロジェクト: willrjmarshall/LividControl
def white_button_skin():
  class Button:
    On = Rgb.WHITE
    Off = Rgb.BLACK
  return Skin(Button)
コード例 #19
0
def make_crossfade_button_skin():
    return Skin(CrossfadeButtons)
コード例 #20
0
def make_stop_button_skin():
    return Skin(StopButtons)
コード例 #21
0
def make_rgb_skin():
    return Skin(RgbColors)
コード例 #22
0
def make_rgb_skin():
    return merge_skins(Skin(RgbColors), Skin(Defaults))
コード例 #23
0
def make_default_skin():  #modified to use SeaPushSkin if elected.
    if SEAPUSH_SKIN:
        return Skin(SeaPushSkin.Colors)
    else:
        return Skin(Colors)