273 lines
23 KiB
Python
273 lines
23 KiB
Python
from midi_controller import BasicControl, Button, ModeButton, Knob, Led, MultiLed, MidiMsg
|
|
|
|
|
|
class StepKnobButton(BasicControl):
|
|
STEP_CLOCKWISE = 1
|
|
STEP_COUNTERCLOCKWISE = 127
|
|
|
|
EVENT_TYPE_STEP = MidiMsg.EVENT_TYPE_CTRL_CHANGE
|
|
EVENT_TYPE_BUTTON = Button.EVENT_TYPE
|
|
|
|
def __init__(self, name: str, chan: int, ctrl_id: int, button: Button):
|
|
super().__init__(name, chan, ctrl_id)
|
|
self.button = button
|
|
|
|
|
|
class RolandDj202:
|
|
def __init__(self):
|
|
self.shiftButton = Button('SHIFT', chan=16, ctrl_id=0, led_class=Led) # both sides; LED might not work
|
|
|
|
# middle section
|
|
self.songSelectorKnob = StepKnobButton(
|
|
'SONG SELECTOR',
|
|
chan=16,
|
|
ctrl_id=0,
|
|
button=Button('SONG SELECTOR, BUTTON', chan=16, ctrl_id=6))
|
|
|
|
self.songSelectorKnobShift = StepKnobButton(
|
|
'SONG SELECTOR (SHIFT)',
|
|
chan=16,
|
|
ctrl_id=1,
|
|
button=Button('SONG SELECTOR, BUTTON (SHIFT)', chan=16, ctrl_id=7))
|
|
|
|
self.mixingKnob = Knob('MIXING', chan=16, ctrl_id=13, mid_=64)
|
|
self.phonesLevelKnob = Knob('PHONES LEVEL', chan=16, ctrl_id=12)
|
|
self.samplerLevelKnob = Knob('SAMPLER LEVEL', chan=16, ctrl_id=26)
|
|
self.cueMiddleButton = Button('CUE (MIDDLE)', chan=16, ctrl_id=29, led_class=Led)
|
|
self.sequencerSyncButton = Button('SEQUENCER: SYNC', chan=16, ctrl_id=83, led_class=Led)
|
|
self.sequencerSyncButtonShift = Button('SEQUENCER: SYNC', chan=16, ctrl_id=85, led_class=Led)
|
|
# SEQUENCER: START/STOP / TAP -> not assigned yet
|
|
# SEQUENCER: START/STOP / TAP -> sequencer event not assigned yet
|
|
self.crossfaderKnob = Knob('CROSSFADER', chan=16, ctrl_id=8, mid_=64)
|
|
|
|
# middle section (left and right), deck 1 and 2
|
|
self.loadBpmButtonLeft = Button('LOAD/BPM, LEFT', chan=16, ctrl_id=2, led_class=Led)
|
|
self.loadBpmButtonLeftShift = Button('LOAD/BPM, LEFT', chan=16, ctrl_id=19, led_class=Led)
|
|
self.trimKnobLeft = Knob('TRIM, LEFT', chan=1, ctrl_id=22, ctrl_id2=52)
|
|
self.hiKnobLeft = Knob('HI, LEFT', chan=1, ctrl_id=23, ctrl_id2=53)
|
|
self.midKnobLeft = Knob('MID, LEFT', chan=1, ctrl_id=24, ctrl_id2=54)
|
|
self.lowKnobLeft = Knob('LOW, LEFT', chan=1, ctrl_id=25, ctrl_id2=55)
|
|
self.filterKnobLeft = Knob('FILTER, LEFT', chan=1, ctrl_id=26, ctrl_id2=None)
|
|
self.cueTapButtonLeft = Button('CUE/TAP, LEFT', chan=1, ctrl_id=27, led_class=Led)
|
|
self.cueTapButtonLeftShift = Button('CUE/TAP, LEFT, SHIFT', chan=1, ctrl_id=18, led_class=Led)
|
|
self.faderKnobLeft = Knob('FADER, LEFT', chan=1, ctrl_id=28, ctrl_id2=58)
|
|
|
|
self.loadBpmButtonRight = Button('LOAD/BPM, RIGHT', chan=16, ctrl_id=3, led_class=Led)
|
|
self.loadBpmButtonRightShift = Button('LOAD/BPM, RIGHT', chan=16, ctrl_id=18, led_class=Led)
|
|
self.trimKnobRight = Knob('TRIM, RIGHT', chan=2, ctrl_id=22, ctrl_id2=52)
|
|
self.hiKnobRight = Knob('HI, RIGHT', chan=2, ctrl_id=23, ctrl_id2=53)
|
|
self.midKnobRight = Knob('MID, RIGHT', chan=2, ctrl_id=24, ctrl_id2=54)
|
|
self.lowKnobRight = Knob('LOW, RIGHT', chan=2, ctrl_id=25, ctrl_id2=55)
|
|
self.filterKnobRight = Knob('FILTER, RIGHT', chan=2, ctrl_id=26, ctrl_id2=None)
|
|
self.cueTapButtonRight = Button('CUE/TAP, RIGHT', chan=2, ctrl_id=27, led_class=Led)
|
|
self.cueTapButtonRightShift = Button('CUE/TAP, RIGHT, SHIFT', chan=2, ctrl_id=18, led_class=Led)
|
|
self.faderKnobRight = Knob('FADER, RIGHT', chan=2, ctrl_id=28, ctrl_id2=58)
|
|
|
|
# fx section (left and right), deck 1 and 2
|
|
self.fx1LevelBeatsKnobLeft = Knob('LEVEL/BEATS (FX 1), LEFT', chan=9, ctrl_id=0, ctrl_id2=None)
|
|
self.fx2LevelBeatsKnobLeft = Knob('LEVEL/BEATS (FX 2), LEFT', chan=9, ctrl_id=1, ctrl_id2=None)
|
|
self.fx3LevelBeatsKnobLeft = Knob('LEVEL/BEATS (FX 3), LEFT', chan=9, ctrl_id=2, ctrl_id2=None)
|
|
self.fx4LevelBeatsKnobLeft = Knob('LEVEL/BEATS (FX 4), LEFT, SHIFT', chan=9, ctrl_id=3, ctrl_id2=None)
|
|
self.fx1ButtonLeft = Button('FX 1, LEFT', chan=9, ctrl_id=0, led_class=Led)
|
|
self.fx2ButtonLeft = Button('FX 2, LEFT', chan=9, ctrl_id=1, led_class=Led)
|
|
self.fx3ButtonLeft = Button('FX 3, LEFT', chan=9, ctrl_id=2, led_class=Led)
|
|
self.tapFxModeButtonLeft = Button('TAP/FX MODE, LEFT', chan=9, ctrl_id=4, led_class=Led)
|
|
self.fx1ButtonLeftShift = Button('FX 1, LEFT, SHIFT', chan=9, ctrl_id=11, led_class=Led)
|
|
self.fx2ButtonLeftShift = Button('FX 2, LEFT, SHIFT', chan=9, ctrl_id=12, led_class=Led)
|
|
self.fx3ButtonLeftShift = Button('FX 3, LEFT, SHIFT', chan=9, ctrl_id=13, led_class=Led)
|
|
self.tapFxModeButtonLeftShift = Button('TAP/FX MODE, LEFT, SHIFT', chan=9, ctrl_id=10, led_class=Led)
|
|
|
|
self.fx1LevelBeatsKnobRight = Knob('LEVEL/BEATS (FX 1), RIGHT', chan=10, ctrl_id=0, ctrl_id2=None)
|
|
self.fx2LevelBeatsKnobRight = Knob('LEVEL/BEATS (FX 2), RIGHT', chan=10, ctrl_id=1, ctrl_id2=None)
|
|
self.fx3LevelBeatsKnobRight = Knob('LEVEL/BEATS (FX 3), RIGHT', chan=10, ctrl_id=2, ctrl_id2=None)
|
|
self.fx4LevelBeatsKnobRight = Knob('LEVEL/BEATS (FX 4), RIGHT, SHIFT', chan=10, ctrl_id=3, ctrl_id2=None)
|
|
self.fx1ButtonRight = Button('FX 1, RIGHT', chan=10, ctrl_id=0, led_class=Led)
|
|
self.fx2ButtonRight = Button('FX 2, RIGHT', chan=10, ctrl_id=1, led_class=Led)
|
|
self.fx3ButtonRight = Button('FX 3, RIGHT', chan=10, ctrl_id=2, led_class=Led)
|
|
self.tapFxModeButtonRight = Button('TAP/FX MODE, RIGHT', chan=10, ctrl_id=4, led_class=Led)
|
|
self.fx1ButtonRightShift = Button('FX 1, RIGHT, SHIFT', chan=10, ctrl_id=11, led_class=Led)
|
|
self.fx2ButtonRightShift = Button('FX 2, RIGHT, SHIFT', chan=10, ctrl_id=12, led_class=Led)
|
|
self.fx3ButtonRightShift = Button('FX 3, RIGHT, SHIFT', chan=10, ctrl_id=13, led_class=Led)
|
|
self.tapFxModeButtonRightShift = Button('TAP/FX MODE, RIGHT, SHIFT', chan=10, ctrl_id=10, led_class=Led)
|
|
|
|
# general deck section (left and right), deck 1 and 2
|
|
self.tempoKnobLeft = Knob('TEMPO, LEFT', chan=1, ctrl_id=9, ctrl_id2=59, mid_=64)
|
|
self.vinylSlipButtonLeft = Button('VYNIL/SLIP, LEFT', chan=1, ctrl_id=7, led_class=Led)
|
|
# JOG WHEELS not yet assigned
|
|
self.syncButtonLeft = Button('SYNC, LEFT', chan=1, ctrl_id=2, led_class=Led)
|
|
self.syncButtonLeftShift = Button('SYNC, LEFT, SHIFT', chan=1, ctrl_id=3, led_class=Led)
|
|
self.cueButtonLeft = Button('CUE, LEFT', chan=1, ctrl_id=1, led_class=Led)
|
|
self.cueButtonLeftShift = Button('CUE, LEFT, SHIFT', chan=1, ctrl_id=5, led_class=Led)
|
|
self.playButtonLeft = Button('PLAY/PAUSE, LEFT', chan=1, ctrl_id=0, led_class=Led)
|
|
self.playButtonLeftShift = Button('PLAY/PAUSE, LEFT, SHIFT', chan=1, ctrl_id=4, led_class=Led)
|
|
self.keyLockRangeLeft = Button('KEY LOCK/RANGE, LEFT', chan=1, ctrl_id=13, led_class=Led)
|
|
self.keyLockRangeLeftShift = Button('KEY LOCK/RANGE, LEFT, SHIFT', chan=1, ctrl_id=14, led_class=Led)
|
|
|
|
self.tempoKnobRight = Knob('TEMPO, RIGHT', chan=2, ctrl_id=9, ctrl_id2=59, mid_=64)
|
|
self.vinylSlipButtonRight = Button('VYNIL/SLIP, RIGHT', chan=2, ctrl_id=7, led_class=Led)
|
|
# JOG WHEELS not yet assigned
|
|
self.syncButtonRight = Button('SYNC, RIGHT', chan=2, ctrl_id=2, led_class=Led)
|
|
self.syncButtonRightShift = Button('SYNC, RIGHT, SHIFT', chan=2, ctrl_id=3, led_class=Led)
|
|
self.cueButtonRight = Button('CUE, RIGHT', chan=2, ctrl_id=1, led_class=Led)
|
|
self.cueButtonRightShift = Button('CUE, RIGHT, SHIFT', chan=2, ctrl_id=5, led_class=Led)
|
|
self.playButtonRight = Button('PLAY/PAUSE, RIGHT', chan=2, ctrl_id=0, led_class=Led)
|
|
self.playButtonRightShift = Button('PLAY/PAUSE, RIGHT, SHIFT', chan=2, ctrl_id=4, led_class=Led)
|
|
self.keyLockRangeRight = Button('KEY LOCK/RANGE, RIGHT', chan=2, ctrl_id=13, led_class=Led)
|
|
self.keyLockRangeRightShift = Button('KEY LOCK/RANGE, RIGHT, SHIFT', chan=2, ctrl_id=14, led_class=Led)
|
|
|
|
# pads mode section (left and right), deck 1 and 2
|
|
self.padModeHotCueLeft = ModeButton('PAD MODE: HOT CUE / CUE LOOP, LEFT', chan=5, ctrl_id=0, value=3)
|
|
self.padModeLoopRollLeft = ModeButton('PAD MODE: LOOP / ROLL, LEFT', chan=5, ctrl_id=0, value=19)
|
|
self.padModeSequencerPattern1Left = ModeButton('PAD MODE: SEQUENCER / PATTERN (1), LEFT', chan=5, ctrl_id=0, value=32)
|
|
self.padModeSequencerPattern2Left = ModeButton('PAD MODE: SEQUENCER / PATTERN (2), LEFT', chan=5, ctrl_id=0, value=34)
|
|
self.padModeSequencerPattern1LeftShift = ModeButton('PAD MODE: SEQUENCER / PATTERN (1), LEFT, SHIFT', chan=5, ctrl_id=0, value=33)
|
|
self.padModeSequencerPattern2LeftShift = ModeButton('PAD MODE: SEQUENCER / PATTERN (2), LEFT, SHIFT', chan=5, ctrl_id=0, value=35)
|
|
self.padModeSamplerSlicerLeft = ModeButton('PAD MODE: SAMPLER / SLICER, LEFT', chan=5, ctrl_id=0, value=51)
|
|
|
|
self.padModeHotCueRight = ModeButton('PAD MODE: HOT CUE / CUE LOOP, RIGHT', chan=6, ctrl_id=0, value=3)
|
|
self.padModeLoopRollRight = ModeButton('PAD MODE: LOOP / ROLL, RIGHT', chan=6, ctrl_id=0, value=19)
|
|
self.padModeSequencerPattern1Right = ModeButton('PAD MODE: SEQUENCER / PATTERN (1), RIGHT', chan=6, ctrl_id=0, value=32)
|
|
self.padModeSequencerPattern2Right = ModeButton('PAD MODE: SEQUENCER / PATTERN (2), RIGHT', chan=6, ctrl_id=0, value=34)
|
|
self.padModeSequencerPattern1RightShift = ModeButton('PAD MODE: SEQUENCER / PATTERN (1), RIGHT, SHIFT', chan=6, ctrl_id=0, value=33)
|
|
self.padModeSequencerPattern2RightShift = ModeButton('PAD MODE: SEQUENCER / PATTERN (2), RIGHT, SHIFT', chan=6, ctrl_id=0, value=35)
|
|
self.padModeSamplerSlicerRight = ModeButton('PAD MODE: SAMPLER / SLICER, RIGHT', chan=6, ctrl_id=0, value=51)
|
|
|
|
# pads mode 3 (HOT CUE / CUE LOOP) -> deck 1 and 2
|
|
self.mode3ParamMinusButtonLeft = Button('MODE 3: PARAM MINUS, LEFT', chan=5, ctrl_id=67, led_class=Led)
|
|
self.mode3ParamPlusButtonLeft = Button('MODE 3: PARAM PLUS, LEFT', chan=5, ctrl_id=68, led_class=Led)
|
|
self.mode3Pad1ButtonLeft = Button('MODE 3: PAD 1, LEFT', chan=5, ctrl_id=1, led_class=MultiLed)
|
|
self.mode3Pad2ButtonLeft = Button('MODE 3: PAD 2, LEFT', chan=5, ctrl_id=2, led_class=MultiLed)
|
|
self.mode3Pad3ButtonLeft = Button('MODE 3: PAD 3, LEFT', chan=5, ctrl_id=3, led_class=MultiLed)
|
|
self.mode3Pad4ButtonLeft = Button('MODE 3: PAD 4, LEFT', chan=5, ctrl_id=4, led_class=MultiLed)
|
|
self.mode3Pad5ButtonLeft = Button('MODE 3: PAD 5, LEFT', chan=5, ctrl_id=5, led_class=MultiLed)
|
|
self.mode3Pad6ButtonLeft = Button('MODE 3: PAD 6, LEFT', chan=5, ctrl_id=6, led_class=MultiLed)
|
|
self.mode3Pad7ButtonLeft = Button('MODE 3: PAD 7, LEFT', chan=5, ctrl_id=7, led_class=MultiLed)
|
|
self.mode3Pad8ButtonLeft = Button('MODE 3: PAD 8, LEFT', chan=5, ctrl_id=8, led_class=MultiLed)
|
|
|
|
self.mode3ParamMinusButtonLeftShift = Button('MODE 3: PARAM MINUS, LEFT, SHIFT', chan=5, ctrl_id=75, led_class=Led)
|
|
self.mode3ParamPlusButtonLeftShift = Button('MODE 3: PARAM PLUS, LEFT, SHIFT', chan=5, ctrl_id=76, led_class=Led)
|
|
self.mode3Pad1ButtonLeftShift = Button('MODE 3: PAD 1, LEFT, SHIFT', chan=5, ctrl_id=9, led_class=MultiLed)
|
|
self.mode3Pad2ButtonLeftShift = Button('MODE 3: PAD 2, LEFT, SHIFT', chan=5, ctrl_id=10, led_class=MultiLed)
|
|
self.mode3Pad3ButtonLeftShift = Button('MODE 3: PAD 3, LEFT, SHIFT', chan=5, ctrl_id=11, led_class=MultiLed)
|
|
self.mode3Pad4ButtonLeftShift = Button('MODE 3: PAD 4, LEFT, SHIFT', chan=5, ctrl_id=12, led_class=MultiLed)
|
|
self.mode3Pad5ButtonLeftShift = Button('MODE 3: PAD 5, LEFT, SHIFT', chan=5, ctrl_id=13, led_class=MultiLed)
|
|
self.mode3Pad6ButtonLeftShift = Button('MODE 3: PAD 6, LEFT, SHIFT', chan=5, ctrl_id=14, led_class=MultiLed)
|
|
self.mode3Pad7ButtonLeftShift = Button('MODE 3: PAD 7, LEFT, SHIFT', chan=5, ctrl_id=15, led_class=MultiLed)
|
|
self.mode3Pad8ButtonLeftShift = Button('MODE 3: PAD 8, LEFT, SHIFT', chan=5, ctrl_id=16, led_class=MultiLed)
|
|
|
|
self.mode3ParamMinusButtonRight = Button('MODE 3: PARAM MINUS, RIGHT', chan=6, ctrl_id=67, led_class=Led)
|
|
self.mode3ParamPlusButtonRight = Button('MODE 3: PARAM PLUS, RIGHT', chan=6, ctrl_id=68, led_class=Led)
|
|
self.mode3Pad1ButtonRight = Button('MODE 3: PAD 1, RIGHT', chan=6, ctrl_id=1, led_class=MultiLed)
|
|
self.mode3Pad2ButtonRight = Button('MODE 3: PAD 2, RIGHT', chan=6, ctrl_id=2, led_class=MultiLed)
|
|
self.mode3Pad3ButtonRight = Button('MODE 3: PAD 3, RIGHT', chan=6, ctrl_id=3, led_class=MultiLed)
|
|
self.mode3Pad4ButtonRight = Button('MODE 3: PAD 4, RIGHT', chan=6, ctrl_id=4, led_class=MultiLed)
|
|
self.mode3Pad5ButtonRight = Button('MODE 3: PAD 5, RIGHT', chan=6, ctrl_id=5, led_class=MultiLed)
|
|
self.mode3Pad6ButtonRight = Button('MODE 3: PAD 6, RIGHT', chan=6, ctrl_id=6, led_class=MultiLed)
|
|
self.mode3Pad7ButtonRight = Button('MODE 3: PAD 7, RIGHT', chan=6, ctrl_id=7, led_class=MultiLed)
|
|
self.mode3Pad8ButtonRight = Button('MODE 3: PAD 8, RIGHT', chan=6, ctrl_id=8, led_class=MultiLed)
|
|
|
|
self.mode3ParamMinusButtonRightShift = Button('MODE 3: PARAM MINUS, RIGHT, SHIFT', chan=6, ctrl_id=75, led_class=Led)
|
|
self.mode3ParamPlusButtonRightShift = Button('MODE 3: PARAM PLUS, RIGHT, SHIFT', chan=6, ctrl_id=76, led_class=Led)
|
|
self.mode3Pad1ButtonRightShift = Button('MODE 3: PAD 1, RIGHT, SHIFT', chan=6, ctrl_id=9, led_class=MultiLed)
|
|
self.mode3Pad2ButtonRightShift = Button('MODE 3: PAD 2, RIGHT, SHIFT', chan=6, ctrl_id=10, led_class=MultiLed)
|
|
self.mode3Pad3ButtonRightShift = Button('MODE 3: PAD 3, RIGHT, SHIFT', chan=6, ctrl_id=11, led_class=MultiLed)
|
|
self.mode3Pad4ButtonRightShift = Button('MODE 3: PAD 4, RIGHT, SHIFT', chan=6, ctrl_id=12, led_class=MultiLed)
|
|
self.mode3Pad5ButtonRightShift = Button('MODE 3: PAD 5, RIGHT, SHIFT', chan=6, ctrl_id=13, led_class=MultiLed)
|
|
self.mode3Pad6ButtonRightShift = Button('MODE 3: PAD 6, RIGHT, SHIFT', chan=6, ctrl_id=14, led_class=MultiLed)
|
|
self.mode3Pad7ButtonRightShift = Button('MODE 3: PAD 7, RIGHT, SHIFT', chan=6, ctrl_id=15, led_class=MultiLed)
|
|
self.mode3Pad8ButtonRightShift = Button('MODE 3: PAD 8, RIGHT, SHIFT', chan=6, ctrl_id=16, led_class=MultiLed)
|
|
|
|
# pads mode 19 (LOOP / ROLL) -> deck 1 and 2
|
|
self.mode19ParamMinusButtonLeft = Button('MODE 19: PARAM MINUS, LEFT', chan=5, ctrl_id=65, led_class=Led)
|
|
self.mode19ParamPlusButtonLeft = Button('MODE 19: PARAM PLUS, LEFT', chan=5, ctrl_id=66, led_class=Led)
|
|
self.mode19Pad1ButtonLeft = Button('MODE 19: PAD 1, LEFT', chan=5, ctrl_id=17, led_class=MultiLed)
|
|
self.mode19Pad2ButtonLeft = Button('MODE 19: PAD 2, LEFT', chan=5, ctrl_id=18, led_class=MultiLed)
|
|
self.mode19Pad3ButtonLeft = Button('MODE 19: PAD 3, LEFT', chan=5, ctrl_id=19, led_class=MultiLed)
|
|
self.mode19Pad4ButtonLeft = Button('MODE 19: PAD 4, LEFT', chan=5, ctrl_id=20, led_class=MultiLed)
|
|
self.mode19Pad5ButtonLeft = Button('MODE 19: PAD 5, LEFT', chan=5, ctrl_id=21, led_class=MultiLed)
|
|
self.mode19Pad6ButtonLeft = Button('MODE 19: PAD 6, LEFT', chan=5, ctrl_id=22, led_class=MultiLed)
|
|
self.mode19Pad7ButtonLeft = Button('MODE 19: PAD 7, LEFT', chan=5, ctrl_id=23, led_class=MultiLed)
|
|
self.mode19Pad8ButtonLeft = Button('MODE 19: PAD 8, LEFT', chan=5, ctrl_id=24, led_class=MultiLed)
|
|
|
|
self.mode19ParamMinusButtonLeftShift = Button('MODE 19: PARAM MINUS, LEFT, SHIFT', chan=5, ctrl_id=73, led_class=Led)
|
|
self.mode19ParamPlusButtonLeftShift = Button('MODE 19: PARAM PLUS, LEFT, SHIFT', chan=5, ctrl_id=74, led_class=Led)
|
|
self.mode19Pad1ButtonLeftShift = Button('MODE 19: PAD 1, LEFT, SHIFT', chan=5, ctrl_id=25, led_class=MultiLed)
|
|
self.mode19Pad2ButtonLeftShift = Button('MODE 19: PAD 2, LEFT, SHIFT', chan=5, ctrl_id=26, led_class=MultiLed)
|
|
self.mode19Pad3ButtonLeftShift = Button('MODE 19: PAD 3, LEFT, SHIFT', chan=5, ctrl_id=27, led_class=MultiLed)
|
|
self.mode19Pad4ButtonLeftShift = Button('MODE 19: PAD 4, LEFT, SHIFT', chan=5, ctrl_id=28, led_class=MultiLed)
|
|
self.mode19Pad5ButtonLeftShift = Button('MODE 19: PAD 5, LEFT, SHIFT', chan=5, ctrl_id=29, led_class=MultiLed)
|
|
self.mode19Pad6ButtonLeftShift = Button('MODE 19: PAD 6, LEFT, SHIFT', chan=5, ctrl_id=30, led_class=MultiLed)
|
|
self.mode19Pad7ButtonLeftShift = Button('MODE 19: PAD 7, LEFT, SHIFT', chan=5, ctrl_id=31, led_class=MultiLed)
|
|
self.mode19Pad8ButtonLeftShift = Button('MODE 19: PAD 8, LEFT, SHIFT', chan=5, ctrl_id=32, led_class=MultiLed)
|
|
|
|
self.mode19ParamMinusButtonRight = Button('MODE 19: PARAM MINUS, RIGHT', chan=6, ctrl_id=65, led_class=Led)
|
|
self.mode19ParamPlusButtonRight = Button('MODE 19: PARAM PLUS, RIGHT', chan=6, ctrl_id=66, led_class=Led)
|
|
self.mode19Pad1ButtonRight = Button('MODE 19: PAD 1, RIGHT', chan=6, ctrl_id=17, led_class=MultiLed)
|
|
self.mode19Pad2ButtonRight = Button('MODE 19: PAD 2, RIGHT', chan=6, ctrl_id=18, led_class=MultiLed)
|
|
self.mode19Pad3ButtonRight = Button('MODE 19: PAD 3, RIGHT', chan=6, ctrl_id=19, led_class=MultiLed)
|
|
self.mode19Pad4ButtonRight = Button('MODE 19: PAD 4, RIGHT', chan=6, ctrl_id=20, led_class=MultiLed)
|
|
self.mode19Pad5ButtonRight = Button('MODE 19: PAD 5, RIGHT', chan=6, ctrl_id=21, led_class=MultiLed)
|
|
self.mode19Pad6ButtonRight = Button('MODE 19: PAD 6, RIGHT', chan=6, ctrl_id=22, led_class=MultiLed)
|
|
self.mode19Pad7ButtonRight = Button('MODE 19: PAD 7, RIGHT', chan=6, ctrl_id=23, led_class=MultiLed)
|
|
self.mode19Pad8ButtonRight = Button('MODE 19: PAD 8, RIGHT', chan=6, ctrl_id=24, led_class=MultiLed)
|
|
|
|
self.mode19ParamMinusButtonRightShift = Button('MODE 19: PARAM MINUS, RIGHT, SHIFT', chan=6, ctrl_id=73, led_class=Led)
|
|
self.mode19ParamPlusButtonRightShift = Button('MODE 19: PARAM PLUS, RIGHT, SHIFT', chan=6, ctrl_id=74, led_class=Led)
|
|
self.mode19Pad1ButtonRightShift = Button('MODE 19: PAD 1, RIGHT, SHIFT', chan=6, ctrl_id=25, led_class=MultiLed)
|
|
self.mode19Pad2ButtonRightShift = Button('MODE 19: PAD 2, RIGHT, SHIFT', chan=6, ctrl_id=26, led_class=MultiLed)
|
|
self.mode19Pad3ButtonRightShift = Button('MODE 19: PAD 3, RIGHT, SHIFT', chan=6, ctrl_id=27, led_class=MultiLed)
|
|
self.mode19Pad4ButtonRightShift = Button('MODE 19: PAD 4, RIGHT, SHIFT', chan=6, ctrl_id=28, led_class=MultiLed)
|
|
self.mode19Pad5ButtonRightShift = Button('MODE 19: PAD 5, RIGHT, SHIFT', chan=6, ctrl_id=29, led_class=MultiLed)
|
|
self.mode19Pad6ButtonRightShift = Button('MODE 19: PAD 6, RIGHT, SHIFT', chan=6, ctrl_id=30, led_class=MultiLed)
|
|
self.mode19Pad7ButtonRightShift = Button('MODE 19: PAD 7, RIGHT, SHIFT', chan=6, ctrl_id=31, led_class=MultiLed)
|
|
self.mode19Pad8ButtonRightShift = Button('MODE 19: PAD 8, RIGHT, SHIFT', chan=6, ctrl_id=32, led_class=MultiLed)
|
|
|
|
# pads mode 51 (SAMPLER / SLICER) -> deck 1 and 2
|
|
self.mode51ParamMinusButtonLeft = Button('MODE 51: PARAM MINUS, LEFT', chan=5, ctrl_id=69, led_class=Led)
|
|
self.mode51ParamPlusButtonLeft = Button('MODE 51: PARAM PLUS, LEFT', chan=5, ctrl_id=70, led_class=Led)
|
|
self.mode51Pad1ButtonLeft = Button('MODE 51: PAD 1, LEFT', chan=5, ctrl_id=33, led_class=MultiLed)
|
|
self.mode51Pad2ButtonLeft = Button('MODE 51: PAD 2, LEFT', chan=5, ctrl_id=34, led_class=MultiLed)
|
|
self.mode51Pad3ButtonLeft = Button('MODE 51: PAD 3, LEFT', chan=5, ctrl_id=35, led_class=MultiLed)
|
|
self.mode51Pad4ButtonLeft = Button('MODE 51: PAD 4, LEFT', chan=5, ctrl_id=36, led_class=MultiLed)
|
|
self.mode51Pad5ButtonLeft = Button('MODE 51: PAD 5, LEFT', chan=5, ctrl_id=37, led_class=MultiLed)
|
|
self.mode51Pad6ButtonLeft = Button('MODE 51: PAD 6, LEFT', chan=5, ctrl_id=38, led_class=MultiLed)
|
|
self.mode51Pad7ButtonLeft = Button('MODE 51: PAD 7, LEFT', chan=5, ctrl_id=39, led_class=MultiLed)
|
|
self.mode51Pad8ButtonLeft = Button('MODE 51: PAD 8, LEFT', chan=5, ctrl_id=40, led_class=MultiLed)
|
|
|
|
self.mode51ParamMinusButtonLeftShift = Button('MODE 51: PARAM MINUS, LEFT, SHIFT', chan=5, ctrl_id=77, led_class=Led)
|
|
self.mode51ParamPlusButtonLeftShift = Button('MODE 51: PARAM PLUS, LEFT, SHIFT', chan=5, ctrl_id=78, led_class=Led)
|
|
self.mode51Pad1ButtonLeftShift = Button('MODE 51: PAD 1, LEFT, SHIFT', chan=5, ctrl_id=41, led_class=MultiLed)
|
|
self.mode51Pad2ButtonLeftShift = Button('MODE 51: PAD 2, LEFT, SHIFT', chan=5, ctrl_id=42, led_class=MultiLed)
|
|
self.mode51Pad3ButtonLeftShift = Button('MODE 51: PAD 3, LEFT, SHIFT', chan=5, ctrl_id=43, led_class=MultiLed)
|
|
self.mode51Pad4ButtonLeftShift = Button('MODE 51: PAD 4, LEFT, SHIFT', chan=5, ctrl_id=44, led_class=MultiLed)
|
|
self.mode51Pad5ButtonLeftShift = Button('MODE 51: PAD 5, LEFT, SHIFT', chan=5, ctrl_id=45, led_class=MultiLed)
|
|
self.mode51Pad6ButtonLeftShift = Button('MODE 51: PAD 6, LEFT, SHIFT', chan=5, ctrl_id=46, led_class=MultiLed)
|
|
self.mode51Pad7ButtonLeftShift = Button('MODE 51: PAD 7, LEFT, SHIFT', chan=5, ctrl_id=47, led_class=MultiLed)
|
|
self.mode51Pad8ButtonLeftShift = Button('MODE 51: PAD 8, LEFT, SHIFT', chan=5, ctrl_id=48, led_class=MultiLed)
|
|
|
|
self.mode51ParamMinusButtonRight = Button('MODE 51: PARAM MINUS, RIGHT', chan=6, ctrl_id=69, led_class=Led)
|
|
self.mode51ParamPlusButtonRight = Button('MODE 51: PARAM PLUS, RIGHT', chan=6, ctrl_id=70, led_class=Led)
|
|
self.mode51Pad1ButtonRight = Button('MODE 51: PAD 1, RIGHT', chan=6, ctrl_id=33, led_class=MultiLed)
|
|
self.mode51Pad2ButtonRight = Button('MODE 51: PAD 2, RIGHT', chan=6, ctrl_id=34, led_class=MultiLed)
|
|
self.mode51Pad3ButtonRight = Button('MODE 51: PAD 3, RIGHT', chan=6, ctrl_id=35, led_class=MultiLed)
|
|
self.mode51Pad4ButtonRight = Button('MODE 51: PAD 4, RIGHT', chan=6, ctrl_id=36, led_class=MultiLed)
|
|
self.mode51Pad5ButtonRight = Button('MODE 51: PAD 5, RIGHT', chan=6, ctrl_id=37, led_class=MultiLed)
|
|
self.mode51Pad6ButtonRight = Button('MODE 51: PAD 6, RIGHT', chan=6, ctrl_id=38, led_class=MultiLed)
|
|
self.mode51Pad7ButtonRight = Button('MODE 51: PAD 7, RIGHT', chan=6, ctrl_id=39, led_class=MultiLed)
|
|
self.mode51Pad8ButtonRight = Button('MODE 51: PAD 8, RIGHT', chan=6, ctrl_id=40, led_class=MultiLed)
|
|
|
|
self.mode51ParamMinusButtonRightShift = Button('MODE 51: PARAM MINUS, RIGHT, SHIFT', chan=6, ctrl_id=77, led_class=Led)
|
|
self.mode51ParamPlusButtonRightShift = Button('MODE 51: PARAM PLUS, RIGHT, SHIFT', chan=6, ctrl_id=78, led_class=Led)
|
|
self.mode51Pad1ButtonRightShift = Button('MODE 51: PAD 1, RIGHT, SHIFT', chan=6, ctrl_id=41, led_class=MultiLed)
|
|
self.mode51Pad2ButtonRightShift = Button('MODE 51: PAD 2, RIGHT, SHIFT', chan=6, ctrl_id=42, led_class=MultiLed)
|
|
self.mode51Pad3ButtonRightShift = Button('MODE 51: PAD 3, RIGHT, SHIFT', chan=6, ctrl_id=43, led_class=MultiLed)
|
|
self.mode51Pad4ButtonRightShift = Button('MODE 51: PAD 4, RIGHT, SHIFT', chan=6, ctrl_id=44, led_class=MultiLed)
|
|
self.mode51Pad5ButtonRightShift = Button('MODE 51: PAD 5, RIGHT, SHIFT', chan=6, ctrl_id=45, led_class=MultiLed)
|
|
self.mode51Pad6ButtonRightShift = Button('MODE 51: PAD 6, RIGHT, SHIFT', chan=6, ctrl_id=46, led_class=MultiLed)
|
|
self.mode51Pad7ButtonRightShift = Button('MODE 51: PAD 7, RIGHT, SHIFT', chan=6, ctrl_id=47, led_class=MultiLed)
|
|
self.mode51Pad8ButtonRightShift = Button('MODE 51: PAD 8, RIGHT, SHIFT', chan=6, ctrl_id=48, led_class=MultiLed)
|
|
|
|
# deck switch buttons
|
|
self.deck3Button = Button('DECK 3', chan=1, ctrl_id=8, led_class=Led)
|
|
self.deck4Button = Button('DECK 4', chan=2, ctrl_id=8, led_class=Led)
|