diff --git a/bitwig-extensions.iml b/bitwig-extensions.iml index 6fb698cc..8e90a98a 100644 --- a/bitwig-extensions.iml +++ b/bitwig-extensions.iml @@ -1,17 +1,4 @@ - + - - - - - - - - - - - - - \ No newline at end of file diff --git a/src/main/java/com/bitwig/extensions/controllers/akai/mpkmk4/MpkMidiProcessor.java b/src/main/java/com/bitwig/extensions/controllers/akai/mpkmk4/MpkMidiProcessor.java index d0636a02..13f229a2 100644 --- a/src/main/java/com/bitwig/extensions/controllers/akai/mpkmk4/MpkMidiProcessor.java +++ b/src/main/java/com/bitwig/extensions/controllers/akai/mpkmk4/MpkMidiProcessor.java @@ -23,28 +23,25 @@ public class MpkMidiProcessor { private static final String DEVICE_INQUIRY = "F0 7E 7F 06 01 F7"; - private static final String DEVICE_RESPONSE_HEADER = "f07e7f0602475d0019"; - - private static final String IN_SYSEX_HEADER = "f0477f5d"; - - private static final String IN_MODE_SYSEX = IN_SYSEX_HEADER + "2a00"; - private static final String IN_SCREEN_OWNER_SHIP = IN_SYSEX_HEADER + "19000100f7"; - private static final String IN_DAW_MODE_SYSEX = IN_SYSEX_HEADER + "190000f7"; - private static final String IN_SCREEN_STATUS = IN_SYSEX_HEADER + "190011"; - // SYSEX = f0477f5d2d000100f7 - // SYSEX = f0477f5d2b000101f7 - - - private static final String AKAI_HEADER = "F0 47 7F 5D "; - private static final String SET_PRESET_DAW = AKAI_HEADER + "2D 00 00 F7"; - private static final String SET_SCREEN_OWNER = AKAI_HEADER + "1C 00 01 02 F7"; - private static final String SET_SCREEN_FW = AKAI_HEADER + "1C 00 01 00 F7"; - private static final String SET_MODE_CLIP = AKAI_HEADER + "2A 00 01 01 F7"; - private static final String SET_DISPLAY_STRING = AKAI_HEADER + "10 "; - private static final String SET_DISPLAY_COLOR = AKAI_HEADER + "11 00 02 %02X %02X F7"; - private static final String SET_DISPLAY_ROW = AKAI_HEADER + "14 "; - private static final String SET_PAD_NOTES_ENABLED = AKAI_HEADER + "2E 00 01 %s F7"; - private static final String DISABLE_PADS = AKAI_HEADER + "2B 00 01 01 F7"; + private static String DEVICE_RESPONSE_HEADER; + + private static String IN_MODE_SYSEX; + private static String IN_SCREEN_OWNER_SHIP; + private static String IN_DAW_MODE_SYSEX; + private static String IN_SCREEN_STATUS; + + private static byte productId; + private static String akaiHeader; + private static String set_preset_daw; + private static String set_screen_owner; + private static String set_screen_fw; + private static String set_mode_clip; + private static String set_display_string; + private static String set_display_color; + private static String set_display_row; + private static String set_pad_notes_enabled; + private static String IN_SYSEX_HEADER; + private static String disable_pads; private static final byte[] ROW_DISPLAY_COLOR = prepareFixedData(0x14, 9); private static final byte[] CLEAR_LINE_TEXT = prepareFixedData(0x15, 4); @@ -66,6 +63,26 @@ public interface NoteListener { void playNote(int note, int vel); } + public void setHeader(final byte productId) { + MpkMidiProcessor.productId = productId; + akaiHeader = "F0 47 7F %02X ".formatted(productId); + set_preset_daw = akaiHeader + "2D 00 00 F7"; + set_screen_owner = akaiHeader + "1C 00 01 02 F7"; + set_screen_fw = akaiHeader + "1C 00 01 00 F7"; + set_mode_clip = akaiHeader + "2A 00 01 01 F7"; + set_display_string = akaiHeader + "10 "; + set_display_color = akaiHeader + "11 00 02 %02X %02X F7"; + set_display_row = akaiHeader + "14 "; + set_pad_notes_enabled = akaiHeader + "2E 00 01 %s F7"; + disable_pads = akaiHeader + "2B 00 01 01 F7"; + DEVICE_RESPONSE_HEADER = "f07e7f060247%02x0019".formatted(productId); + IN_SYSEX_HEADER = "f0477f%02x".formatted(productId); + IN_MODE_SYSEX = IN_SYSEX_HEADER + "2a00"; + IN_SCREEN_OWNER_SHIP = IN_SYSEX_HEADER + "19000100f7"; + IN_DAW_MODE_SYSEX = IN_SYSEX_HEADER + "190000f7"; + IN_SCREEN_STATUS = IN_SYSEX_HEADER + "190011"; + } + public MpkMidiProcessor(final ControllerHost host, final GlobalStates globalStates) { this.host = host; this.globalStates = globalStates; @@ -74,6 +91,10 @@ public MpkMidiProcessor(final ControllerHost host, final GlobalStates globalStat noteInput.setShouldConsumeEvents(false); this.dawMidiOut = host.getMidiOutPort(0); this.playMidiIn = host.getMidiInPort(1); + switch (globalStates.getVariant()) { + case MINI -> setHeader((byte) 0x5D); + case MINI_PLUS -> setHeader((byte) 0x03); + } playMidiIn.createNoteInput("IN", "??????"); this.dawMidiIn.setSysexCallback(this::handleSysEx); @@ -85,7 +106,7 @@ private static byte[] prepareFixedData(final int commandId, final int fixedPayLo data[0] = (byte) 0xF0; data[1] = (byte) 0x47; data[2] = (byte) 0x7F; - data[3] = (byte) 0x5D; + data[3] = productId; data[4] = (byte) commandId; data[5] = (byte) 0x00; data[6] = (byte) fixedPayLoad; @@ -93,6 +114,10 @@ private static byte[] prepareFixedData(final int commandId, final int fixedPayLo return data; } + public byte getProductId() { + return productId; + } + public void init() { dawMidiOut.sendSysex(DEVICE_INQUIRY); } @@ -125,7 +150,7 @@ private void handlePing() { } final long diff = System.currentTimeMillis() - lastScreenRequest; if (diff > 5800) { - dawMidiOut.sendSysex(SET_SCREEN_OWNER); + dawMidiOut.sendSysex(set_screen_owner); lastScreenRequest = now; } host.scheduleTask(this::handlePing, 50); @@ -163,7 +188,7 @@ private void handleSysEx(final String data) { } public void setPadNotesEnabled(final boolean enabled) { - dawMidiOut.sendSysex(SET_PAD_NOTES_ENABLED.formatted(enabled ? "00" : "01")); + dawMidiOut.sendSysex(set_pad_notes_enabled.formatted(enabled ? "00" : "01")); } public void addModeChangeListener(final IntConsumer listener) { @@ -175,11 +200,11 @@ public void registerMainDisplay(final LineDisplay mainLineDisplay) { } private void startConnection() { - dawMidiOut.sendSysex(SET_PRESET_DAW); - dawMidiOut.sendSysex(SET_MODE_CLIP); - dawMidiOut.sendSysex(SET_SCREEN_OWNER); - dawMidiOut.sendSysex(AKAI_HEADER + "2B 00 00 F7"); - dawMidiOut.sendSysex(AKAI_HEADER + "3A 00 00 F7"); + dawMidiOut.sendSysex(set_preset_daw); + dawMidiOut.sendSysex(set_mode_clip); + dawMidiOut.sendSysex(set_screen_owner); + dawMidiOut.sendSysex(akaiHeader + "2B 00 00 F7"); + dawMidiOut.sendSysex(akaiHeader + "3A 00 00 F7"); setPadNotesEnabled(false); mainDisplay.updateCurrent(); host.scheduleTask(this::handlePing, 50); @@ -198,7 +223,7 @@ public void sendMidi(final int status, final int val1, final int val2) { public void configureLine(final MpkDisplayFont font, final int lineIndex, final int justification, final Color foreGround, final Color background) { - final String sb = SET_DISPLAY_ROW + "00 09 " // + final String sb = set_display_row + "00 09 " // + "%02X ".formatted(font.getValue()) // + "%02X ".formatted(lineIndex) // + "%02X ".formatted(justification) // @@ -213,7 +238,7 @@ public void configureLine(final MpkDisplayFont font, final int lineIndex, final } public void setText(final int line, final MpkDisplayFont font, final String text) { - final StringBuilder sb = new StringBuilder(SET_DISPLAY_STRING); + final StringBuilder sb = new StringBuilder(set_display_string); final String asciiText = StringUtil.toAsciiDisplay(text, 31); sb.append("%02X ".formatted(0)); final int length = asciiText.length(); @@ -229,30 +254,25 @@ public void setText(final int line, final MpkDisplayFont font, final String text } public void setRowDisplayColor(final ScreenRowState rowState) { - // ROW_DISPLAY_COLOR - // Screen State } public void clearLineText(final int lineIndex, final int red, final int green, final int blue) { - } public void sendSysEx(final byte[] data) { - //MpkMk4ControllerExtension.println(" :: %s", StringUtil.sysExString(data)); dawMidiOut.sendSysex(data); } public void setDisplayColor(final int line, final int color) { - dawMidiOut.sendSysex(SET_DISPLAY_COLOR.formatted(line, color)); + dawMidiOut.sendSysex(set_display_color.formatted(line, color)); } public void exit() { - dawMidiOut.sendSysex(SET_SCREEN_FW); + dawMidiOut.sendSysex(set_screen_fw); setPadNotesEnabled(true); } private static int getValue(final String data, final int byteOffset) { - //MpkMk4ControllerExtension.println(" ==> = %s", data); final int stringOffset = byteOffset * 2; if (stringOffset < data.length()) { final String stringValue = data.substring(stringOffset, stringOffset + 2); @@ -265,7 +285,6 @@ private static int getValue(final String data, final int byteOffset) { } private static int getPayload(final String data) { - //MpkMk4ControllerExtension.println(" ==> = %s", data); final int high = getValue(data, 5); final int low = getValue(data, 6); return high << 7 | low; diff --git a/src/main/java/com/bitwig/extensions/controllers/akai/mpkmk4/MpkMiniPlusControllerExtensionDefinition.java b/src/main/java/com/bitwig/extensions/controllers/akai/mpkmk4/MpkMiniPlusControllerExtensionDefinition.java new file mode 100644 index 00000000..85db531d --- /dev/null +++ b/src/main/java/com/bitwig/extensions/controllers/akai/mpkmk4/MpkMiniPlusControllerExtensionDefinition.java @@ -0,0 +1,89 @@ +package com.bitwig.extensions.controllers.akai.mpkmk4; + +import java.util.UUID; + +import com.bitwig.extension.api.PlatformType; +import com.bitwig.extension.controller.AutoDetectionMidiPortNamesList; +import com.bitwig.extension.controller.ControllerExtension; +import com.bitwig.extension.controller.ControllerExtensionDefinition; +import com.bitwig.extension.controller.api.ControllerHost; + +public class MpkMiniPlusControllerExtensionDefinition extends ControllerExtensionDefinition { + + private final static UUID ID = UUID.fromString("3ad31d42-81d1-a603-8719-d0462633d943"); + + @Override + public String getHardwareVendor() { + return "Akai"; + } + + @Override + public String getHardwareModel() { + return "MPK Mini Plus"; + } + + @Override + public int getNumMidiInPorts() { + return 2; + } + + @Override + public int getNumMidiOutPorts() { + return 2; + } + + @Override + public void listAutoDetectionMidiPortNames(final AutoDetectionMidiPortNamesList list, + final PlatformType platformType) { + if (platformType == PlatformType.WINDOWS) { + list.add( + new String[] {"MIDIIN2 (MPK mini Plus II)", "MPK mini Plus II"}, + new String[] {"MIDIOUT2 (MPK mini Plus II)", "MPK mini Plus II"}); + } else if (platformType == PlatformType.MAC) { + list.add( + new String[] {"MPK mini Plus II DAW Port", "MPK mini Plus II MIDI Port"}, + new String[] {"MPK mini Plus II DAW Port", "MPK mini Plus II MIDI Port"}); + } else if (platformType == PlatformType.LINUX) { + list.add( + new String[] {"MPK mini Plus II MPK mini Plus II DAW Por", "MPK mini IV MPK mini IV MIDI Po"}, + new String[] {"MPK mini Plus II DAW Port", "MPK mini Plus II MIDI Port"}); + } + } + + @Override + public ControllerExtension createInstance(final ControllerHost host) { + return new MpkMk4ControllerExtension(this, host, MpkMk4ControllerExtension.Variant.MINI_PLUS); + } + + @Override + public String getHelpFilePath() { + return "Controllers/Akai/MPK Mini Mk4.pdf"; + } + + @Override + public String getName() { + return "MPK Mini IV"; + } + + @Override + public String getAuthor() { + return "Bitwig"; + } + + @Override + public String getVersion() { + return "1.0"; + } + + @Override + public UUID getId() { + return ID; + } + + @Override + public int getRequiredAPIVersion() { + return 24; + } + + +} diff --git a/src/main/java/com/bitwig/extensions/controllers/akai/mpkmk4/MpkMk4ControllerExtension.java b/src/main/java/com/bitwig/extensions/controllers/akai/mpkmk4/MpkMk4ControllerExtension.java index 0b18d25b..487847ef 100644 --- a/src/main/java/com/bitwig/extensions/controllers/akai/mpkmk4/MpkMk4ControllerExtension.java +++ b/src/main/java/com/bitwig/extensions/controllers/akai/mpkmk4/MpkMk4ControllerExtension.java @@ -53,6 +53,7 @@ public static void println(final String format, final Object... args) { } public enum Variant { + MINI_PLUS, MINI } diff --git a/src/main/java/com/bitwig/extensions/controllers/akai/mpkmk4/display/ParameterValues.java b/src/main/java/com/bitwig/extensions/controllers/akai/mpkmk4/display/ParameterValues.java index 49e7d9ed..9c63fcc3 100644 --- a/src/main/java/com/bitwig/extensions/controllers/akai/mpkmk4/display/ParameterValues.java +++ b/src/main/java/com/bitwig/extensions/controllers/akai/mpkmk4/display/ParameterValues.java @@ -3,6 +3,7 @@ import java.util.Arrays; import com.bitwig.extensions.controllers.akai.mpkmk4.MpkMidiProcessor; +import com.bitwig.extensions.controllers.akai.mpkmk4.MpkMk4ControllerExtension; public class ParameterValues { @@ -13,11 +14,12 @@ public class ParameterValues { public ParameterValues(final MpkMidiProcessor midiProcessor) { this.midiProcessor = midiProcessor; + MpkMk4ControllerExtension.println(" PID = %s", midiProcessor.getProductId()); Arrays.fill(this.data, (byte) 0x20); data[0] = (byte) 0xF0; data[1] = (byte) 0x47; data[2] = (byte) 0x7F; - data[3] = (byte) 0x5D; + data[3] = midiProcessor.getProductId(); data[4] = (byte) 0x1D; data[5] = (byte) 0x01; data[6] = (byte) 0x00; diff --git a/src/main/java/com/bitwig/extensions/controllers/softube/console1/TrackSlot.java b/src/main/java/com/bitwig/extensions/controllers/softube/console1/TrackSlot.java index 3bebe46e..55c0b378 100644 --- a/src/main/java/com/bitwig/extensions/controllers/softube/console1/TrackSlot.java +++ b/src/main/java/com/bitwig/extensions/controllers/softube/console1/TrackSlot.java @@ -17,6 +17,7 @@ public class TrackSlot { private long lastReleased; public static final String NEG_INFINITY = "\"-Infinity\""; private static final String CONSOLE_1 = "2FF966F3A2DA4112BBB38DC29B336457"; + private static final String FLOW_MIXING_SUITE = "74D14512EBBF4BBA9F0E508E4A0EAEC6"; private String trackId; private final Channel track; @@ -363,9 +364,14 @@ private void applyChange(final String key, final Object value) { } private void loadPlugin(final String plugin) { + control.println(" LOAD <%s>", plugin); final long diff = System.currentTimeMillis() - lastConsoleLoadInvocation; if (diff > 10000) { - track.endOfDeviceChainInsertionPoint().insertVST3Device(CONSOLE_1); + switch (plugin) { + case "Console 1" -> track.endOfDeviceChainInsertionPoint().insertVST3Device(CONSOLE_1); + case "Flow Mixing Suite" -> track.endOfDeviceChainInsertionPoint().insertVST3Device(FLOW_MIXING_SUITE); + } + lastConsoleLoadInvocation = System.currentTimeMillis(); } } diff --git a/src/main/java/com/bitwig/extensions/controllers/softube/console1/ViewControl.java b/src/main/java/com/bitwig/extensions/controllers/softube/console1/ViewControl.java index 7cba39b7..6a7f9dbf 100644 --- a/src/main/java/com/bitwig/extensions/controllers/softube/console1/ViewControl.java +++ b/src/main/java/com/bitwig/extensions/controllers/softube/console1/ViewControl.java @@ -9,11 +9,11 @@ @Component public class ViewControl { - + private final Track rootTrack; private final CursorTrack cursorTrack; private final TrackBank trackBank; - + public ViewControl(final ControllerHost host) { rootTrack = host.getProject().getRootTrackGroup(); trackBank = host.createTrackBank(1024, 6, 1, true); @@ -21,18 +21,18 @@ public ViewControl(final ControllerHost host) { trackBank.setSupportsDeviceChainChannels(true); cursorTrack = host.createCursorTrack(6, 16); } - + public TrackBank getTrackBank() { return trackBank; } - + public CursorTrack getCursorTrack() { return cursorTrack; } - + public Track getRootTrack() { return rootTrack; } - - + + } diff --git a/src/main/java/com/bitwig/extensions/controllers/softube/console1/definition/Console1ChannelExtensionDefinition.java b/src/main/java/com/bitwig/extensions/controllers/softube/console1/definition/Console1ChannelExtensionDefinition.java index 85cc1a16..66f635f4 100644 --- a/src/main/java/com/bitwig/extensions/controllers/softube/console1/definition/Console1ChannelExtensionDefinition.java +++ b/src/main/java/com/bitwig/extensions/controllers/softube/console1/definition/Console1ChannelExtensionDefinition.java @@ -8,42 +8,48 @@ import com.bitwig.extensions.controllers.softube.console1.Console1Extension; public class Console1ChannelExtensionDefinition extends Console1ExtensionDefinition { - + private static final UUID DRIVER_ID = UUID.fromString("98630b94-ed23-4a11-9981-05d3995b4964"); - + public Console1ChannelExtensionDefinition() { } - + @Override public String getName() { - return "Console 1 Mk III"; + return "Direct DAW Control (1 unit)"; } - + @Override public UUID getId() { return DRIVER_ID; } - + @Override public String getHardwareModel() { - return "Console 1 Mk III"; + return "Direct DAW Control (1 unit)"; } - + @Override public void listAutoDetectionMidiPortNames(final AutoDetectionMidiPortNamesList list, final PlatformType platformType) { if (platformType == PlatformType.WINDOWS) { // list.add(new String[] {"Console 1 Channel Mk III"}, new String[] {"Console 1 Channel Mk III"}); + list.add(new String[] {"Console 1 Fader Mk III"}, new String[] {"Console 1 Fader Mk III"}); + list.add(new String[] {"Softube Flow Studio"}, new String[] {"Softube Flow Studio"}); + list.add(new String[] {"Softube Console 1 Compact"}, new String[] {"Softube Console 1 Compact"}); } else { list.add( new String[] {"Console 1 Channel Mk III DAW FA0000000073"}, new String[] {"Console 1 Channel Mk III DAW FA0000000073"}); + list.add(new String[] {"Console 1 Fader Mk III"}, new String[] {"Console 1 Fader Mk III"}); + list.add(new String[] {"Softube Flow Studio"}, new String[] {"Softube Flow Studio"}); + list.add(new String[] {"Softube Console 1 Compact"}, new String[] {"Softube Console 1 Compact"}); } } - + @Override public Console1Extension createInstance(final ControllerHost host) { return new Console1Extension(this, host); } - + } diff --git a/src/main/java/com/bitwig/extensions/controllers/softube/console1/definition/Console1ExtensionDefinition.java b/src/main/java/com/bitwig/extensions/controllers/softube/console1/definition/Console1ExtensionDefinition.java index 2e682ab9..b05f929f 100644 --- a/src/main/java/com/bitwig/extensions/controllers/softube/console1/definition/Console1ExtensionDefinition.java +++ b/src/main/java/com/bitwig/extensions/controllers/softube/console1/definition/Console1ExtensionDefinition.java @@ -17,7 +17,7 @@ public String getAuthor() { @Override public String getVersion() { - return "0.9"; + return "1.0"; } @Override @@ -42,7 +42,7 @@ public int getNumMidiOutPorts() { @Override public String getHelpFilePath() { - return "Controllers/Softube/Console 1 MkIII.pdf"; + return "Controllers/Softube/Direct DAW Control.pdf"; } @Override diff --git a/src/main/java/com/bitwig/extensions/controllers/softube/console1/definition/Console1FaderExtensionDefinition.java b/src/main/java/com/bitwig/extensions/controllers/softube/console1/definition/Console1FaderExtensionDefinition.java deleted file mode 100644 index e7937254..00000000 --- a/src/main/java/com/bitwig/extensions/controllers/softube/console1/definition/Console1FaderExtensionDefinition.java +++ /dev/null @@ -1,40 +0,0 @@ -package com.bitwig.extensions.controllers.softube.console1.definition; - -import java.util.UUID; - -import com.bitwig.extension.api.PlatformType; -import com.bitwig.extension.controller.AutoDetectionMidiPortNamesList; - -public class Console1FaderExtensionDefinition extends Console1ExtensionDefinition { - - private static final UUID DRIVER_ID = UUID.fromString("98630b94-ed23-4a11-9981-05d3995b4965"); - - @Override - public String getName() { - return "Console 1 Fader Mk III"; - } - - @Override - public UUID getId() { - return DRIVER_ID; - } - - @Override - public String getHardwareModel() { - return "Console 1 Mk III"; - } - - @Override - public void listAutoDetectionMidiPortNames(final AutoDetectionMidiPortNamesList list, - final PlatformType platformType) { - if (platformType == PlatformType.WINDOWS) { // - list.add(new String[] {"Console 1 Fader Mk III"}, new String[] {"Console 1 Fader Mk III"}); - } else { - list.add(new String[] {"Console 1 Fader Mk III"}, new String[] {"Console 1 Fader Mk III"}); - list.add( - new String[] {"Console 1 Channel Mk III DAW FA0000000073"}, - new String[] {"Console 1 Channel Mk III DAW FA0000000073"}); - } - } - -} diff --git a/src/main/java/com/bitwig/extensions/controllers/softube/console1/definition/Console1Multi2ExtensionDefinition.java b/src/main/java/com/bitwig/extensions/controllers/softube/console1/definition/Console1Multi2ExtensionDefinition.java index d1210420..0e359b60 100644 --- a/src/main/java/com/bitwig/extensions/controllers/softube/console1/definition/Console1Multi2ExtensionDefinition.java +++ b/src/main/java/com/bitwig/extensions/controllers/softube/console1/definition/Console1Multi2ExtensionDefinition.java @@ -16,7 +16,7 @@ public Console1Multi2ExtensionDefinition() { @Override public String getName() { - return "Console 1 Mk III x 2"; + return "Direct DAW Control (2 units)"; } @Override @@ -26,7 +26,7 @@ public UUID getId() { @Override public String getHardwareModel() { - return "Console 1 Mk III x 2"; + return "Direct DAW Control (2 units)"; } @Override diff --git a/src/main/java/com/bitwig/extensions/controllers/softube/console1/definition/Console1Multi3ExtensionDefinition.java b/src/main/java/com/bitwig/extensions/controllers/softube/console1/definition/Console1Multi3ExtensionDefinition.java index 26f48a00..fb18e2a0 100644 --- a/src/main/java/com/bitwig/extensions/controllers/softube/console1/definition/Console1Multi3ExtensionDefinition.java +++ b/src/main/java/com/bitwig/extensions/controllers/softube/console1/definition/Console1Multi3ExtensionDefinition.java @@ -16,7 +16,7 @@ public Console1Multi3ExtensionDefinition() { @Override public String getName() { - return "Console 1 Mk III x 3"; + return "Direct DAW Control (3 units)"; } @Override @@ -26,7 +26,7 @@ public UUID getId() { @Override public String getHardwareModel() { - return "Console 1 Mk III x 3"; + return "Direct DAW Control (3 units)"; } @Override diff --git a/src/main/java/com/bitwig/extensions/controllers/softube/console1/definition/Console1Multi4ExtensionDefinition.java b/src/main/java/com/bitwig/extensions/controllers/softube/console1/definition/Console1Multi4ExtensionDefinition.java index 3ac691f2..a71fb1c0 100644 --- a/src/main/java/com/bitwig/extensions/controllers/softube/console1/definition/Console1Multi4ExtensionDefinition.java +++ b/src/main/java/com/bitwig/extensions/controllers/softube/console1/definition/Console1Multi4ExtensionDefinition.java @@ -16,7 +16,7 @@ public Console1Multi4ExtensionDefinition() { @Override public String getName() { - return "Console 1 Mk III x 4"; + return "Direct DAW Control (4 units)"; } @Override @@ -26,7 +26,7 @@ public UUID getId() { @Override public String getHardwareModel() { - return "Console 1 Mk III x 4"; + return "Direct DAW Control (4 units)"; } @Override diff --git a/src/main/resources/Documentation/Controllers/Softube/Console 1 MkIII.pdf b/src/main/resources/Documentation/Controllers/Softube/Direct DAW Control.pdf similarity index 94% rename from src/main/resources/Documentation/Controllers/Softube/Console 1 MkIII.pdf rename to src/main/resources/Documentation/Controllers/Softube/Direct DAW Control.pdf index 0a708e8d..fd324a38 100644 Binary files a/src/main/resources/Documentation/Controllers/Softube/Console 1 MkIII.pdf and b/src/main/resources/Documentation/Controllers/Softube/Direct DAW Control.pdf differ