Search in sources :

Example 6 with LaunchkeyMk3ControlSurface

use of de.mossgrabers.controller.novation.launchkey.maxi.controller.LaunchkeyMk3ControlSurface in project DrivenByMoss by git-moss.

the class LaunchkeyMk3ControllerSetup method startup.

/**
 * {@inheritDoc}
 */
@Override
public void startup() {
    final LaunchkeyMk3ControlSurface surface = this.getSurface();
    surface.getPadGrid().setView(Views.SESSION);
    surface.getViewManager().setActive(Views.SESSION);
    surface.getModeManager().setActive(Modes.PAN);
    surface.getFaderModeManager().setActive(Modes.VOLUME);
    surface.setKnobMode(LaunchkeyMk3ControlSurface.KNOB_MODE_VOLUME);
    surface.setPadMode(LaunchkeyMk3ControlSurface.PAD_MODE_SESSION);
    // Switch the Launchkey to DAW mode and wait until it is ready
    this.host.scheduleTask(() -> {
        surface.setLaunchpadToDAW(true);
        this.waitForConnection();
    }, 1000);
}
Also used : LaunchkeyMk3ControlSurface(de.mossgrabers.controller.novation.launchkey.maxi.controller.LaunchkeyMk3ControlSurface)

Example 7 with LaunchkeyMk3ControlSurface

use of de.mossgrabers.controller.novation.launchkey.maxi.controller.LaunchkeyMk3ControlSurface in project DrivenByMoss by git-moss.

the class LaunchkeyMk3ControllerSetup method createModeButton.

private void createModeButton(final ButtonID buttonID, final OutputID outputID, final String label, final Modes mode, final int modeIndex) {
    final LaunchkeyMk3ControlSurface surface = this.getSurface();
    final ModeSelectCommand<LaunchkeyMk3ControlSurface, LaunchkeyMk3Configuration> modeSelectCommand = new ModeSelectCommand<>(this.model, surface, mode);
    this.addButton(surface, buttonID, label, (event, velocity) -> modeSelectCommand.executeNormal(event), 15, LaunchkeyMk3ControlSurface.LAUNCHKEY_MODE_SELECT, modeIndex, false, null);
    final IHwLight light = surface.createLight(outputID, () -> surface.getModeManager().isActive(mode) ? ColorEx.GREEN : ColorEx.DARK_GREEN, color -> {
    // Intentionally empty
    });
    surface.getButton(buttonID).addLight(light);
}
Also used : LaunchkeyMk3ControlSurface(de.mossgrabers.controller.novation.launchkey.maxi.controller.LaunchkeyMk3ControlSurface) IHwLight(de.mossgrabers.framework.controller.hardware.IHwLight) ModeSelectCommand(de.mossgrabers.framework.command.trigger.mode.ModeSelectCommand)

Example 8 with LaunchkeyMk3ControlSurface

use of de.mossgrabers.controller.novation.launchkey.maxi.controller.LaunchkeyMk3ControlSurface in project DrivenByMoss by git-moss.

the class LaunchkeyMk3ControllerSetup method registerTriggerCommands.

/**
 * {@inheritDoc}
 */
@Override
protected void registerTriggerCommands() {
    final LaunchkeyMk3ControlSurface surface = this.getSurface();
    final ITransport t = this.model.getTransport();
    final ViewManager viewManager = surface.getViewManager();
    this.addButton(ButtonID.SHIFT, "Shift", NopCommand.INSTANCE, LaunchkeyMk3ControlSurface.LAUNCHKEY_SHIFT);
    this.addButton(ButtonID.PLAY, "Play", new LaunchkeyMk3PlayCommand(this.model, surface), 15, LaunchkeyMk3ControlSurface.LAUNCHKEY_PLAY, t::isPlaying);
    this.addButton(ButtonID.STOP, "Stop", new StopCommand<>(this.model, surface), 15, LaunchkeyMk3ControlSurface.LAUNCHKEY_STOP, () -> !t.isPlaying());
    final ConfiguredRecordCommand<LaunchkeyMk3ControlSurface, LaunchkeyMk3Configuration> recordCommand = new ConfiguredRecordCommand<>(this.model, surface);
    this.addButton(ButtonID.RECORD, "Record", recordCommand, 15, LaunchkeyMk3ControlSurface.LAUNCHKEY_RECORD, recordCommand::isLit);
    this.addButton(ButtonID.REPEAT, "Repeat", new ToggleLoopCommand<>(this.model, surface), 15, LaunchkeyMk3ControlSurface.LAUNCHKEY_LOOP, t::isLoop);
    this.addButton(ButtonID.NEW, "Capture MIDI", new NewCommand<>(this.model, surface), 15, LaunchkeyMk3ControlSurface.LAUNCHKEY_CAPTURE_MIDI);
    this.addButton(ButtonID.QUANTIZE, "Quantize", new QuantizeCommand<>(this.model, surface), 15, LaunchkeyMk3ControlSurface.LAUNCHKEY_QUANTIZE);
    this.addButton(ButtonID.METRONOME, "Metronome", new MetronomeCommand<>(this.model, surface, true), 15, LaunchkeyMk3ControlSurface.LAUNCHKEY_CLICK, t::isMetronomeOn);
    this.addButton(ButtonID.UNDO, "Undo", new UndoCommand<>(this.model, surface), 15, LaunchkeyMk3ControlSurface.LAUNCHKEY_UNDO);
    this.addDummyButton(ButtonID.F3, 15, LaunchkeyMk3ControlSurface.LAUNCHKEY_DEVICE_SELECT);
    this.addButton(ButtonID.TOGGLE_DEVICE, "Device Lock", new DeviceLockCommand(this.model, surface), 15, LaunchkeyMk3ControlSurface.LAUNCHKEY_DEVICE_LOCK, () -> this.model.getCursorDevice().isPinned() ? 127 : 40);
    this.addButton(ButtonID.MOVE_TRACK_LEFT, "Previous", new SelectPrevNextTrackCommand<>(this.model, surface, true), 15, LaunchkeyMk3ControlSurface.LAUNCHKEY_TRACK_LEFT);
    this.addButton(ButtonID.MOVE_TRACK_RIGHT, "Next", new SelectPrevNextTrackCommand<>(this.model, surface, false), 15, LaunchkeyMk3ControlSurface.LAUNCHKEY_TRACK_RIGHT);
    // Scene buttons
    this.addButton(ButtonID.SCENE1, "Scene 1", new ViewButtonCommand<>(ButtonID.SCENE1, surface), LaunchkeyMk3ControlSurface.LAUNCHKEY_SCENE1, new FeatureGroupButtonColorSupplier(viewManager, ButtonID.SCENE1));
    this.addButton(ButtonID.SCENE2, "Scene 2", new ViewButtonCommand<>(ButtonID.SCENE2, surface), LaunchkeyMk3ControlSurface.LAUNCHKEY_SCENE2, new FeatureGroupButtonColorSupplier(viewManager, ButtonID.SCENE2));
    this.addButton(surface, ButtonID.ARROW_UP, "Up", new ViewButtonCommand<>(ButtonID.ARROW_UP, surface), 15, 0, LaunchkeyMk3ControlSurface.LAUNCHKEY_ARROW_UP, -1, true, new FeatureGroupButtonColorSupplier(viewManager, ButtonID.ARROW_UP));
    this.addButton(surface, ButtonID.ARROW_DOWN, "Down", new ViewButtonCommand<>(ButtonID.ARROW_DOWN, surface), 15, 0, LaunchkeyMk3ControlSurface.LAUNCHKEY_ARROW_DOWN, -1, true, new FeatureGroupButtonColorSupplier(viewManager, ButtonID.ARROW_DOWN));
    // Ignore redundant messages sent by arrow up/down buttons
    this.addDummyButton(ButtonID.F1, 15, LaunchkeyMk3ControlSurface.LAUNCHKEY_SCENE1);
    this.addDummyButton(ButtonID.F2, 15, LaunchkeyMk3ControlSurface.LAUNCHKEY_SCENE2);
    // View selection with Pads in Shift mode
    this.createViewButton(ButtonID.ROW2_1, OutputID.LED_RING1, "Session", Views.SESSION, LaunchkeyMk3ControlSurface.PAD_MODE_SESSION);
    this.createViewButton(ButtonID.ROW2_2, OutputID.LED_RING2, "Drum", Views.DRUM, LaunchkeyMk3ControlSurface.PAD_MODE_DRUM);
    this.createViewButton(ButtonID.ROW2_3, OutputID.LED_RING3, "Scale Chords", Views.DUMMY1, LaunchkeyMk3ControlSurface.PAD_MODE_SCALE_CHORDS);
    this.createViewButton(ButtonID.ROW2_4, OutputID.LED_RING4, "User Chords", Views.DUMMY2, LaunchkeyMk3ControlSurface.PAD_MODE_USER_CHORDS);
    this.createViewButton(ButtonID.ROW2_5, OutputID.LED_RING5, NAME_CUSTOM_1, Views.DUMMY3, LaunchkeyMk3ControlSurface.PAD_MODE_CUSTOM_MODE0);
    this.createViewButton(ButtonID.ROW2_6, OutputID.LED_RING6, NAME_CUSTOM_2, Views.DUMMY4, LaunchkeyMk3ControlSurface.PAD_MODE_CUSTOM_MODE1);
    this.createViewButton(ButtonID.ROW2_7, OutputID.LED_RING7, NAME_CUSTOM_3, Views.DUMMY5, LaunchkeyMk3ControlSurface.PAD_MODE_CUSTOM_MODE2);
    this.createViewButton(ButtonID.ROW2_8, OutputID.LED_RING8, NAME_CUSTOM_4, Views.DUMMY6, LaunchkeyMk3ControlSurface.PAD_MODE_CUSTOM_MODE3);
    this.createViewButton(ButtonID.DEVICE, OutputID.LED_RING9, "Device Select", Views.DEVICE, LaunchkeyMk3ControlSurface.PAD_MODE_DEVICE_SELECT);
    this.createViewButton(ButtonID.BROWSE, OutputID.LED_RING10, "Browser", Views.BROWSER, LaunchkeyMk3ControlSurface.PAD_MODE_NAVIGATION);
    // Knob mode selection with Pads in Shift mode
    this.createModeButton(ButtonID.ROW1_1, OutputID.LED1, "Device", Modes.DEVICE_PARAMS, LaunchkeyMk3ControlSurface.KNOB_MODE_PARAMS);
    this.createModeButton(ButtonID.ROW1_2, OutputID.LED2, "Volume", Modes.VOLUME, LaunchkeyMk3ControlSurface.KNOB_MODE_VOLUME);
    this.createModeButton(ButtonID.ROW1_3, OutputID.LED3, "Pan", Modes.PAN, LaunchkeyMk3ControlSurface.KNOB_MODE_PAN);
    this.createModeButton(ButtonID.ROW1_4, OutputID.LED4, "Send 1", Modes.SEND1, LaunchkeyMk3ControlSurface.KNOB_MODE_SEND1);
    this.createModeButton(ButtonID.ROW1_5, OutputID.LED5, "Send 2", Modes.SEND2, LaunchkeyMk3ControlSurface.KNOB_MODE_SEND2);
    this.createModeButton(ButtonID.ROW1_6, OutputID.LED6, NAME_CUSTOM_1, Modes.DEVICE_LAYER_SEND1, LaunchkeyMk3ControlSurface.KNOB_MODE_CUSTOM1);
    this.createModeButton(ButtonID.ROW1_7, OutputID.LED7, NAME_CUSTOM_2, Modes.DEVICE_LAYER_SEND2, LaunchkeyMk3ControlSurface.KNOB_MODE_CUSTOM2);
    this.createModeButton(ButtonID.ROW1_8, OutputID.LED8, NAME_CUSTOM_3, Modes.DEVICE_LAYER_SEND3, LaunchkeyMk3ControlSurface.KNOB_MODE_CUSTOM3);
    this.createModeButton(ButtonID.USER, OutputID.LED9, NAME_CUSTOM_4, Modes.DEVICE_LAYER_SEND4, LaunchkeyMk3ControlSurface.KNOB_MODE_CUSTOM4);
    // Fader mode selection with fader buttons in Shift mode
    this.createFaderModeButton(ButtonID.ROW3_1, OutputID.LIGHT_GUIDE1, "Device", Modes.DEVICE_PARAMS, LaunchkeyMk3ControlSurface.FADER_MODE_PARAMS);
    this.createFaderModeButton(ButtonID.ROW3_2, OutputID.LIGHT_GUIDE2, "Volume", Modes.VOLUME, LaunchkeyMk3ControlSurface.FADER_MODE_VOLUME);
    this.createFaderModeButton(ButtonID.ROW3_3, OutputID.LIGHT_GUIDE3, "Send 1", Modes.SEND1, LaunchkeyMk3ControlSurface.FADER_MODE_SEND1);
    this.createFaderModeButton(ButtonID.ROW3_4, OutputID.LIGHT_GUIDE4, "Send 2", Modes.SEND2, LaunchkeyMk3ControlSurface.FADER_MODE_SEND2);
    this.createFaderModeButton(ButtonID.ROW3_5, OutputID.LIGHT_GUIDE5, NAME_CUSTOM_1, Modes.DEVICE_LAYER_SEND1, LaunchkeyMk3ControlSurface.FADER_MODE_CUSTOM1);
    this.createFaderModeButton(ButtonID.ROW3_6, OutputID.LIGHT_GUIDE6, NAME_CUSTOM_2, Modes.DEVICE_LAYER_SEND2, LaunchkeyMk3ControlSurface.FADER_MODE_CUSTOM2);
    this.createFaderModeButton(ButtonID.ROW3_7, OutputID.LIGHT_GUIDE7, NAME_CUSTOM_3, Modes.DEVICE_LAYER_SEND3, LaunchkeyMk3ControlSurface.FADER_MODE_CUSTOM3);
    this.createFaderModeButton(ButtonID.ROW3_8, OutputID.LIGHT_GUIDE8, NAME_CUSTOM_4, Modes.DEVICE_LAYER_SEND4, LaunchkeyMk3ControlSurface.FADER_MODE_CUSTOM4);
    // Fader mode buttons
    for (int i = 0; i < 8; i++) {
        final ButtonID row1ButtonID = ButtonID.get(ButtonID.ROW_SELECT_1, i);
        final IHwButton button = surface.createButton(row1ButtonID, "Select " + (i + 1));
        final ButtonAreaCommand command = new ButtonAreaCommand(i, this.model, surface);
        button.bind(command);
        final IMidiInput midiInput = surface.getMidiInput();
        final BindType triggerBindType = this.getTriggerBindType(row1ButtonID);
        final int midiControl = LaunchkeyMk3ControlSurface.LAUNCHKEY_SELECT1 + i;
        button.bind(midiInput, triggerBindType, 15, midiControl);
        final IntSupplier supplier = command::getButtonColor;
        surface.createLight(null, supplier::getAsInt, color -> surface.setTrigger(color >= 0x1000 ? 2 : 0, midiControl, color >= 0x1000 ? color - 0x1000 : color), state -> this.colorManager.getColor(state >= 0x1000 ? state - 0x1000 : state, row1ButtonID), button);
    }
    this.addButton(surface, ButtonID.MASTERTRACK, "Toggle Select/RecArm", (event, velocity) -> {
        if (event == ButtonEvent.DOWN)
            ButtonAreaCommand.toggleSelect();
    }, 15, 0, LaunchkeyMk3ControlSurface.LAUNCHKEY_TOGGLE_SELECT, -1, true, () -> ButtonAreaCommand.isSelect() ? 40 : 127);
    // Online state
    this.addButton(ButtonID.CONTROL, "DAW Online", (event, velocity) -> surface.setDAWConnected(velocity > 0), 15, LaunchkeyMk3ControlSurface.LAUNCHKEY_DAW_ONLINE, surface::isDAWConnected);
}
Also used : LaunchkeyMk3ControlSurface(de.mossgrabers.controller.novation.launchkey.maxi.controller.LaunchkeyMk3ControlSurface) IntSupplier(java.util.function.IntSupplier) ITransport(de.mossgrabers.framework.daw.ITransport) ViewManager(de.mossgrabers.framework.featuregroup.ViewManager) ConfiguredRecordCommand(de.mossgrabers.framework.command.trigger.transport.ConfiguredRecordCommand) IMidiInput(de.mossgrabers.framework.daw.midi.IMidiInput) LaunchkeyMk3PlayCommand(de.mossgrabers.controller.novation.launchkey.maxi.command.trigger.LaunchkeyMk3PlayCommand) ButtonID(de.mossgrabers.framework.controller.ButtonID) BindType(de.mossgrabers.framework.controller.hardware.BindType) IHwButton(de.mossgrabers.framework.controller.hardware.IHwButton) ButtonAreaCommand(de.mossgrabers.controller.novation.launchkey.maxi.command.trigger.ButtonAreaCommand) DeviceLockCommand(de.mossgrabers.controller.novation.launchkey.maxi.command.trigger.DeviceLockCommand) ButtonEvent(de.mossgrabers.framework.utils.ButtonEvent) List(java.util.List) IMidiInput(de.mossgrabers.framework.daw.midi.IMidiInput) ArrayList(java.util.ArrayList) ITransport(de.mossgrabers.framework.daw.ITransport) IHost(de.mossgrabers.framework.daw.IHost) IHwLight(de.mossgrabers.framework.controller.hardware.IHwLight) IMidiOutput(de.mossgrabers.framework.daw.midi.IMidiOutput) FeatureGroupButtonColorSupplier(de.mossgrabers.framework.command.trigger.view.FeatureGroupButtonColorSupplier)

Example 9 with LaunchkeyMk3ControlSurface

use of de.mossgrabers.controller.novation.launchkey.maxi.controller.LaunchkeyMk3ControlSurface in project DrivenByMoss by git-moss.

the class LaunchkeyMk3ControllerSetup method createViewButton.

private void createViewButton(final ButtonID buttonID, final OutputID outputID, final String label, final Views view, final int viewIndex) {
    final LaunchkeyMk3ControlSurface surface = this.getSurface();
    final ViewMultiSelectCommand<LaunchkeyMk3ControlSurface, LaunchkeyMk3Configuration> viewSelectCommand = new ViewMultiSelectCommand<>(this.model, surface, true, view);
    this.addButton(surface, buttonID, label, (event, velocity) -> {
        viewSelectCommand.executeNormal(event);
        if (event == ButtonEvent.DOWN)
            surface.getPadGrid().setView(view);
    }, 15, LaunchkeyMk3ControlSurface.LAUNCHKEY_VIEW_SELECT, viewIndex, false, null);
    final IHwLight light = surface.createLight(outputID, () -> surface.getViewManager().isActive(view) ? ColorEx.ORANGE : ColorEx.DARK_ORANGE, color -> {
    // Intentionally empty
    });
    surface.getButton(buttonID).addLight(light);
}
Also used : ViewMultiSelectCommand(de.mossgrabers.framework.command.trigger.view.ViewMultiSelectCommand) LaunchkeyMk3ControlSurface(de.mossgrabers.controller.novation.launchkey.maxi.controller.LaunchkeyMk3ControlSurface) IHwLight(de.mossgrabers.framework.controller.hardware.IHwLight)

Example 10 with LaunchkeyMk3ControlSurface

use of de.mossgrabers.controller.novation.launchkey.maxi.controller.LaunchkeyMk3ControlSurface in project DrivenByMoss by git-moss.

the class LaunchkeyMk3ControllerSetup method layoutControls.

/**
 * {@inheritDoc}
 */
@Override
protected void layoutControls() {
    final LaunchkeyMk3ControlSurface surface = this.getSurface();
    surface.getButton(ButtonID.PAD1).setBounds(193.25, 114.75, 47.0, 46.5);
    surface.getButton(ButtonID.PAD2).setBounds(246.75, 114.75, 47.0, 46.5);
    surface.getButton(ButtonID.PAD3).setBounds(300.75, 114.75, 47.0, 46.5);
    surface.getButton(ButtonID.PAD4).setBounds(354.5, 114.75, 47.0, 46.5);
    surface.getButton(ButtonID.PAD5).setBounds(407.75, 114.75, 47.0, 46.5);
    surface.getButton(ButtonID.PAD6).setBounds(462.25, 114.75, 47.0, 46.5);
    surface.getButton(ButtonID.PAD7).setBounds(516.0, 114.75, 47.0, 46.5);
    surface.getButton(ButtonID.PAD8).setBounds(569.75, 114.75, 47.0, 46.5);
    surface.getButton(ButtonID.PAD9).setBounds(193.25, 62.5, 47.0, 46.5);
    surface.getButton(ButtonID.PAD10).setBounds(246.75, 62.5, 47.0, 46.5);
    surface.getButton(ButtonID.PAD11).setBounds(300.75, 62.5, 47.0, 46.5);
    surface.getButton(ButtonID.PAD12).setBounds(354.5, 62.5, 47.0, 46.5);
    surface.getButton(ButtonID.PAD13).setBounds(407.75, 62.5, 47.0, 46.5);
    surface.getButton(ButtonID.PAD14).setBounds(462.25, 62.5, 47.0, 46.5);
    surface.getButton(ButtonID.PAD15).setBounds(516.0, 62.5, 47.0, 46.5);
    surface.getButton(ButtonID.PAD16).setBounds(569.75, 62.5, 47.0, 46.5);
    surface.getButton(ButtonID.PAD17).setBounds(192.0, 228.75, 47.0, 46.5);
    surface.getButton(ButtonID.PAD18).setBounds(245.5, 228.75, 47.0, 46.5);
    surface.getButton(ButtonID.PAD19).setBounds(299.5, 228.75, 47.0, 46.5);
    surface.getButton(ButtonID.PAD20).setBounds(353.25, 228.75, 47.0, 46.5);
    surface.getButton(ButtonID.PAD21).setBounds(406.5, 228.75, 47.0, 46.5);
    surface.getButton(ButtonID.PAD22).setBounds(461.0, 228.75, 47.0, 46.5);
    surface.getButton(ButtonID.PAD23).setBounds(514.75, 228.75, 47.0, 46.5);
    surface.getButton(ButtonID.PAD24).setBounds(568.5, 228.75, 47.0, 46.5);
    surface.getButton(ButtonID.PAD25).setBounds(192.0, 175.0, 47.0, 46.5);
    surface.getButton(ButtonID.PAD26).setBounds(245.5, 175.0, 47.0, 46.5);
    surface.getButton(ButtonID.PAD27).setBounds(299.5, 175.0, 47.0, 46.5);
    surface.getButton(ButtonID.PAD28).setBounds(353.25, 175.0, 47.0, 46.5);
    surface.getButton(ButtonID.PAD29).setBounds(406.5, 175.0, 47.0, 46.5);
    surface.getButton(ButtonID.PAD30).setBounds(461.0, 175.0, 47.0, 46.5);
    surface.getButton(ButtonID.PAD31).setBounds(514.75, 175.0, 47.0, 46.5);
    surface.getButton(ButtonID.PAD32).setBounds(568.5, 175.0, 47.0, 46.5);
    surface.getButton(ButtonID.PAD33).setBounds(192.0, 342.75, 47.0, 46.5);
    surface.getButton(ButtonID.PAD34).setBounds(245.5, 342.75, 47.0, 46.5);
    surface.getButton(ButtonID.PAD35).setBounds(299.5, 342.75, 47.0, 46.5);
    surface.getButton(ButtonID.PAD36).setBounds(353.25, 342.75, 47.0, 46.5);
    surface.getButton(ButtonID.PAD37).setBounds(406.5, 342.75, 47.0, 46.5);
    surface.getButton(ButtonID.PAD38).setBounds(461.0, 342.75, 47.0, 46.5);
    surface.getButton(ButtonID.PAD39).setBounds(514.75, 342.75, 47.0, 46.5);
    surface.getButton(ButtonID.PAD40).setBounds(568.5, 342.75, 47.0, 46.5);
    surface.getButton(ButtonID.PAD41).setBounds(192.0, 287.5, 47.0, 46.5);
    surface.getButton(ButtonID.PAD42).setBounds(245.5, 287.5, 47.0, 46.5);
    surface.getButton(ButtonID.PAD43).setBounds(299.5, 287.5, 47.0, 46.5);
    surface.getButton(ButtonID.PAD44).setBounds(353.25, 287.5, 47.0, 46.5);
    surface.getButton(ButtonID.PAD45).setBounds(406.5, 287.5, 47.0, 46.5);
    surface.getButton(ButtonID.PAD46).setBounds(461.0, 287.5, 47.0, 46.5);
    surface.getButton(ButtonID.PAD47).setBounds(514.75, 287.5, 47.0, 46.5);
    surface.getButton(ButtonID.PAD48).setBounds(568.5, 287.5, 47.0, 46.5);
    surface.getButton(ButtonID.SHIFT).setBounds(131.0, 410.75, 38.5, 19.25);
    surface.getButton(ButtonID.MOVE_TRACK_LEFT).setBounds(131.0, 438.25, 38.5, 19.25);
    surface.getButton(ButtonID.MOVE_TRACK_RIGHT).setBounds(180.75, 438.0, 38.5, 19.25);
    surface.getButton(ButtonID.BROWSE).setBounds(180.75, 410.75, 38.5, 19.25);
    surface.getButton(ButtonID.PLAY).setBounds(1096.0, 366.5, 62.5, 24.0);
    surface.getButton(ButtonID.STOP).setBounds(1171.75, 366.5, 62.5, 24.0);
    surface.getButton(ButtonID.RECORD).setBounds(1247.5, 366.5, 62.5, 24.0);
    surface.getButton(ButtonID.REPEAT).setBounds(1323.0, 366.5, 62.5, 24.0);
    surface.getButton(ButtonID.NEW).setBounds(1096.0, 330.0, 62.5, 24.0);
    surface.getButton(ButtonID.QUANTIZE).setBounds(1171.75, 330.0, 62.5, 24.0);
    surface.getButton(ButtonID.METRONOME).setBounds(1247.5, 330.0, 62.5, 24.0);
    surface.getButton(ButtonID.UNDO).setBounds(1323.0, 330.0, 62.5, 24.0);
    surface.getButton(ButtonID.SCENE1).setBounds(623.5, 62.5, 47.0, 46.5);
    surface.getButton(ButtonID.SCENE2).setBounds(623.5, 114.75, 47.0, 46.5);
    surface.getButton(ButtonID.ARROW_UP).setBounds(137.75, 62.5, 47.0, 46.5);
    surface.getButton(ButtonID.ARROW_DOWN).setBounds(137.75, 114.75, 47.0, 46.5);
    surface.getButton(ButtonID.ROW3_1).setBounds(647.5, 213.0, 47.0, 46.5);
    surface.getButton(ButtonID.ROW3_2).setBounds(699.5, 213.0, 47.0, 46.5);
    surface.getButton(ButtonID.ROW3_3).setBounds(755.5, 213.0, 47.0, 46.5);
    surface.getButton(ButtonID.ROW3_4).setBounds(807.5, 213.0, 47.0, 46.5);
    surface.getButton(ButtonID.ROW3_5).setBounds(861.5, 213.0, 47.0, 46.5);
    surface.getButton(ButtonID.ROW3_6).setBounds(915.5, 213.0, 47.0, 46.5);
    surface.getButton(ButtonID.ROW3_7).setBounds(969.5, 213.0, 47.0, 46.5);
    surface.getButton(ButtonID.ROW3_8).setBounds(1023.5, 213.0, 47.0, 46.5);
    surface.getButton(ButtonID.ROW1_1).setBounds(647.5, 277.0, 47.0, 46.5);
    surface.getButton(ButtonID.ROW1_2).setBounds(699.5, 277.0, 47.0, 46.5);
    surface.getButton(ButtonID.ROW1_3).setBounds(755.5, 277.0, 47.0, 46.5);
    surface.getButton(ButtonID.ROW1_4).setBounds(807.5, 277.0, 47.0, 46.5);
    surface.getButton(ButtonID.ROW1_5).setBounds(861.5, 277.0, 47.0, 46.5);
    surface.getButton(ButtonID.ROW1_6).setBounds(915.5, 277.0, 47.0, 46.5);
    surface.getButton(ButtonID.ROW1_7).setBounds(969.5, 277.0, 47.0, 46.5);
    surface.getButton(ButtonID.ROW1_8).setBounds(1023.5, 277.0, 47.0, 46.5);
    surface.getButton(ButtonID.USER).setBounds(1077.5, 277.0, 47.0, 46.5);
    surface.getButton(ButtonID.ROW2_1).setBounds(647.5, 341.0, 47.0, 46.5);
    surface.getButton(ButtonID.ROW2_2).setBounds(699.5, 341.0, 47.0, 46.5);
    surface.getButton(ButtonID.ROW2_3).setBounds(755.5, 341.0, 47.0, 46.5);
    surface.getButton(ButtonID.ROW2_4).setBounds(807.5, 341.0, 47.0, 46.5);
    surface.getButton(ButtonID.ROW2_5).setBounds(861.5, 341.0, 47.0, 46.5);
    surface.getButton(ButtonID.ROW2_6).setBounds(915.5, 341.0, 47.0, 46.5);
    surface.getButton(ButtonID.ROW2_7).setBounds(969.5, 341.0, 47.0, 46.5);
    surface.getButton(ButtonID.ROW2_8).setBounds(1023.5, 341.0, 47.0, 46.5);
    surface.getButton(ButtonID.CONTROL).setBounds(1337.25, 14.0, 49.75, 29.0);
    surface.getButton(ButtonID.TOGGLE_DEVICE).setBounds(625.0, 16.25, 116.0, 23.75);
    surface.getButton(ButtonID.DEVICE).setBounds(755.75, 16.25, 116.0, 23.75);
    surface.getButton(ButtonID.ROW_SELECT_1).setBounds(730, 166.5, 38.5, 27.5);
    surface.getButton(ButtonID.ROW_SELECT_2).setBounds(779, 166.5, 38.5, 27.5);
    surface.getButton(ButtonID.ROW_SELECT_3).setBounds(828, 166.5, 38.5, 27.5);
    surface.getButton(ButtonID.ROW_SELECT_4).setBounds(877, 166.5, 38.5, 27.5);
    surface.getButton(ButtonID.ROW_SELECT_5).setBounds(926, 166.5, 38.5, 27.5);
    surface.getButton(ButtonID.ROW_SELECT_6).setBounds(975, 166.5, 38.5, 27.5);
    surface.getButton(ButtonID.ROW_SELECT_7).setBounds(1024.25, 166.5, 38.5, 27.5);
    surface.getButton(ButtonID.ROW_SELECT_8).setBounds(1073.25, 166.5, 38.5, 27.5);
    surface.getButton(ButtonID.MASTERTRACK).setBounds(1122.25, 166.5, 38.5, 27.5);
    surface.getContinuous(ContinuousID.FADER1).setBounds(730.0, 64.25, 38.5, 92.25);
    surface.getContinuous(ContinuousID.FADER2).setBounds(779.0, 64.25, 38.5, 92.25);
    surface.getContinuous(ContinuousID.FADER3).setBounds(828.0, 64.25, 38.5, 92.25);
    surface.getContinuous(ContinuousID.FADER4).setBounds(877.0, 64.25, 38.5, 92.25);
    surface.getContinuous(ContinuousID.FADER5).setBounds(926.0, 64.25, 38.5, 92.25);
    surface.getContinuous(ContinuousID.FADER6).setBounds(975.0, 64.25, 38.5, 92.25);
    surface.getContinuous(ContinuousID.FADER7).setBounds(1024.25, 64.25, 38.5, 92.25);
    surface.getContinuous(ContinuousID.FADER8).setBounds(1073.25, 64.25, 38.5, 92.25);
    surface.getContinuous(ContinuousID.FADER_MASTER).setBounds(1122.25, 64.25, 38.5, 92.25);
    surface.getContinuous(ContinuousID.KNOB1).setBounds(201.25, 15.0, 25.5, 25.0);
    surface.getContinuous(ContinuousID.KNOB2).setBounds(255.0, 15.0, 25.5, 25.0);
    surface.getContinuous(ContinuousID.KNOB3).setBounds(309.0, 15.0, 25.5, 25.0);
    surface.getContinuous(ContinuousID.KNOB4).setBounds(362.75, 15.0, 25.5, 25.0);
    surface.getContinuous(ContinuousID.KNOB5).setBounds(416.75, 15.0, 25.5, 25.0);
    surface.getContinuous(ContinuousID.KNOB6).setBounds(470.5, 15.0, 25.5, 25.0);
    surface.getContinuous(ContinuousID.KNOB7).setBounds(524.5, 15.0, 25.5, 25.0);
    surface.getContinuous(ContinuousID.KNOB8).setBounds(578.25, 15.0, 25.5, 25.0);
    surface.getContinuous(ContinuousID.MODULATION_WHEEL).setBounds(187.25, 485.5, 31.75, 98.0);
    surface.getContinuous(ContinuousID.PITCHBEND_WHEEL).setBounds(134.25, 485.5, 31.75, 98.0);
    surface.getPianoKeyboard().setBounds(277.0, 414.25, 726.75, 175.75);
    surface.getTextDisplay().getHardwareDisplay().setBounds(4.25, 14.0, 106.0, 562.75);
}
Also used : LaunchkeyMk3ControlSurface(de.mossgrabers.controller.novation.launchkey.maxi.controller.LaunchkeyMk3ControlSurface)

Aggregations

LaunchkeyMk3ControlSurface (de.mossgrabers.controller.novation.launchkey.maxi.controller.LaunchkeyMk3ControlSurface)11 IHwLight (de.mossgrabers.framework.controller.hardware.IHwLight)4 IMidiOutput (de.mossgrabers.framework.daw.midi.IMidiOutput)3 ModeSelectCommand (de.mossgrabers.framework.command.trigger.mode.ModeSelectCommand)2 IMidiInput (de.mossgrabers.framework.daw.midi.IMidiInput)2 ViewManager (de.mossgrabers.framework.featuregroup.ViewManager)2 ArrayList (java.util.ArrayList)2 ButtonAreaCommand (de.mossgrabers.controller.novation.launchkey.maxi.command.trigger.ButtonAreaCommand)1 DeviceLockCommand (de.mossgrabers.controller.novation.launchkey.maxi.command.trigger.DeviceLockCommand)1 LaunchkeyMk3PlayCommand (de.mossgrabers.controller.novation.launchkey.maxi.command.trigger.LaunchkeyMk3PlayCommand)1 LaunchkeyMk3Display (de.mossgrabers.controller.novation.launchkey.maxi.controller.LaunchkeyMk3Display)1 CustomMode (de.mossgrabers.controller.novation.launchkey.maxi.mode.CustomMode)1 LaunchkeyMk3PanoramaMode (de.mossgrabers.controller.novation.launchkey.maxi.mode.LaunchkeyMk3PanoramaMode)1 LaunchkeyMk3ParameterMode (de.mossgrabers.controller.novation.launchkey.maxi.mode.LaunchkeyMk3ParameterMode)1 LaunchkeyMk3SendMode (de.mossgrabers.controller.novation.launchkey.maxi.mode.LaunchkeyMk3SendMode)1 LaunchkeyMk3VolumeMode (de.mossgrabers.controller.novation.launchkey.maxi.mode.LaunchkeyMk3VolumeMode)1 BrowserView (de.mossgrabers.controller.novation.launchkey.maxi.view.BrowserView)1 DeviceConfigView (de.mossgrabers.controller.novation.launchkey.maxi.view.DeviceConfigView)1 DrumConfigView (de.mossgrabers.controller.novation.launchkey.maxi.view.DrumConfigView)1 DrumView (de.mossgrabers.controller.novation.launchkey.maxi.view.DrumView)1