From ec5f54a93d6dadf5c2de6b672507d32cb9b95815 Mon Sep 17 00:00:00 2001 From: ericahrens Date: Sun, 5 Jul 2026 23:08:26 +0200 Subject: [PATCH] NKS Connect integrated --- .../komplete/KontrolSMk3Extension.java | 16 ++--- .../KontrolSMk3ExtensionDefinition.java | 2 +- .../NksConnectExtensionDefinition.java | 59 +++++++++++++++++++ .../komplete/midi/MidiProcessor.java | 2 +- .../com.bitwig.extension.ExtensionDefinition | 1 + 5 files changed, 71 insertions(+), 9 deletions(-) create mode 100644 src/main/java/com/bitwig/extensions/controllers/nativeinstruments/komplete/definition/NksConnectExtensionDefinition.java diff --git a/src/main/java/com/bitwig/extensions/controllers/nativeinstruments/komplete/KontrolSMk3Extension.java b/src/main/java/com/bitwig/extensions/controllers/nativeinstruments/komplete/KontrolSMk3Extension.java index 3db6528a..9e67ce91 100644 --- a/src/main/java/com/bitwig/extensions/controllers/nativeinstruments/komplete/KontrolSMk3Extension.java +++ b/src/main/java/com/bitwig/extensions/controllers/nativeinstruments/komplete/KontrolSMk3Extension.java @@ -25,10 +25,12 @@ public class KontrolSMk3Extension extends KompleteKontrolExtension { protected ScrollbarModel horizontalScrollbarModel; protected double scrubDistance; protected Arranger arranger; + private final boolean isNksConnect; - public KontrolSMk3Extension(final AbstractKompleteKontrolExtensionDefinition definition, - final ControllerHost host) { + public KontrolSMk3Extension(final AbstractKompleteKontrolExtensionDefinition definition, final ControllerHost host, + final boolean isNksConnect) { super(definition, host); + this.isNksConnect = isNksConnect; } @Override @@ -52,13 +54,13 @@ public void init() { navigationLayer = new Layer(layers, "NavigationLayer"); clipSceneCursor = viewControl.getClipSceneCursor(); - final MidiIn midiIn2 = host.getMidiInPort(1); - final NoteInput noteInput = - midiIn2.createNoteInput( + if (!isNksConnect) { + final MidiIn midiIn2 = host.getMidiInPort(1); + final NoteInput noteInput = midiIn2.createNoteInput( "MIDI", "80????", "90????", "A0????", "D0????", "E0????", "B001??", "B00B??", "B040??", "B042??", "B1????"); - noteInput.setShouldConsumeEvents(true); - + noteInput.setShouldConsumeEvents(true); + } initTrackBank(); setUpTransport(); diff --git a/src/main/java/com/bitwig/extensions/controllers/nativeinstruments/komplete/definition/KontrolSMk3ExtensionDefinition.java b/src/main/java/com/bitwig/extensions/controllers/nativeinstruments/komplete/definition/KontrolSMk3ExtensionDefinition.java index a3543e08..7540c092 100644 --- a/src/main/java/com/bitwig/extensions/controllers/nativeinstruments/komplete/definition/KontrolSMk3ExtensionDefinition.java +++ b/src/main/java/com/bitwig/extensions/controllers/nativeinstruments/komplete/definition/KontrolSMk3ExtensionDefinition.java @@ -75,6 +75,6 @@ public String getHelpFilePath() { @Override public KontrolSMk3Extension createInstance(final ControllerHost host) { - return new KontrolSMk3Extension(this, host); + return new KontrolSMk3Extension(this, host, false); } } diff --git a/src/main/java/com/bitwig/extensions/controllers/nativeinstruments/komplete/definition/NksConnectExtensionDefinition.java b/src/main/java/com/bitwig/extensions/controllers/nativeinstruments/komplete/definition/NksConnectExtensionDefinition.java new file mode 100644 index 00000000..d95852a2 --- /dev/null +++ b/src/main/java/com/bitwig/extensions/controllers/nativeinstruments/komplete/definition/NksConnectExtensionDefinition.java @@ -0,0 +1,59 @@ +package com.bitwig.extensions.controllers.nativeinstruments.komplete.definition; + +import java.util.UUID; + +import com.bitwig.extension.api.PlatformType; +import com.bitwig.extension.controller.AutoDetectionMidiPortNamesList; +import com.bitwig.extension.controller.api.ControllerHost; +import com.bitwig.extensions.controllers.nativeinstruments.komplete.KontrolSMk3Extension; + +public class NksConnectExtensionDefinition extends AbstractKompleteKontrolExtensionDefinition { + + private static final UUID DRIVER_ID = UUID.fromString("8b07a8e9-886c-f35b-e133-da9210306ce4"); + private static final String MODEL = "NKS Connect"; + + public NksConnectExtensionDefinition() { + super(MODEL); + } + + @Override + public String getName() { + return MODEL; + } + + @Override + public String getHardwareModel() { + return MODEL; + } + + @Override + public UUID getId() { + return DRIVER_ID; + } + + @Override + public int getNumMidiInPorts() { + return 1; + } + + @Override + public int getNumMidiOutPorts() { + return 1; + } + + @Override + public void listAutoDetectionMidiPortNames(final AutoDetectionMidiPortNamesList list, + final PlatformType platformType) { + list.add(new String[] {"NKS Connect"}, new String[] {"NKS Connect"}); + } + + @Override + public String getHelpFilePath() { + return "Controllers/Native Instruments/Kontrol S-Series/Kontrol S-Series Mk3.pdf"; + } + + @Override + public KontrolSMk3Extension createInstance(final ControllerHost host) { + return new KontrolSMk3Extension(this, host, true); + } +} diff --git a/src/main/java/com/bitwig/extensions/controllers/nativeinstruments/komplete/midi/MidiProcessor.java b/src/main/java/com/bitwig/extensions/controllers/nativeinstruments/komplete/midi/MidiProcessor.java index a892cfd6..1fd43fb3 100644 --- a/src/main/java/com/bitwig/extensions/controllers/nativeinstruments/komplete/midi/MidiProcessor.java +++ b/src/main/java/com/bitwig/extensions/controllers/nativeinstruments/komplete/midi/MidiProcessor.java @@ -88,7 +88,7 @@ public void intoDawMode(final int protocol) { private void initProcess() { final long diff = System.currentTimeMillis() - initStartTime; - KompleteKontrolExtension.println(" Running Init Process %d kk=%s", diff, lastReportedKKInstance); + //KompleteKontrolExtension.println(" Running Init Process %d kk=%s", diff, lastReportedKKInstance); if (diff < 20000) { host.scheduleTask(this::initProcess, 1000); } diff --git a/src/main/resources/META-INF/services/com.bitwig.extension.ExtensionDefinition b/src/main/resources/META-INF/services/com.bitwig.extension.ExtensionDefinition index e8f1ee2b..0eb7ee9a 100644 --- a/src/main/resources/META-INF/services/com.bitwig.extension.ExtensionDefinition +++ b/src/main/resources/META-INF/services/com.bitwig.extension.ExtensionDefinition @@ -74,6 +74,7 @@ com.bitwig.extensions.controllers.nativeinstruments.komplete.definition.Komplete com.bitwig.extensions.controllers.nativeinstruments.komplete.definition.KompleteKontrolASeriesExtensionDefinition com.bitwig.extensions.controllers.nativeinstruments.komplete.definition.KompleteKontrolMSeriesExtensionDefinition com.bitwig.extensions.controllers.nativeinstruments.komplete.definition.KontrolSMk3ExtensionDefinition +com.bitwig.extensions.controllers.nativeinstruments.komplete.definition.NksConnectExtensionDefinition com.bitwig.extensions.controllers.neuzeitinstruments.DropExtensionDefinition