Skip to content

Commit 01fd1d5

Browse files
committed
* Electra One
* Fixed: The first page (mixer) was not selected on startup, which means that if a different one was selected it did not work. * Fixed: The 'Behaviour on Pause' setting was completely ignored. * Native Instruments Kontrol Mk3 * Fixed: Names in different mix modes are reduced to 1 line to fix overflow of the graphics.
1 parent 12a9356 commit 01fd1d5

File tree

12 files changed

+23
-40
lines changed

12 files changed

+23
-40
lines changed

DrivenByMoss-Manual.pdf

1 KB
Binary file not shown.

src/main/java/de/mossgrabers/controller/electra/one/mode/AbstractElectraOneMode.java

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,16 +4,17 @@
44

55
package de.mossgrabers.controller.electra.one.mode;
66

7+
import java.util.Optional;
8+
79
import de.mossgrabers.controller.electra.one.ElectraOneConfiguration;
810
import de.mossgrabers.controller.electra.one.controller.ElectraOneColorManager;
911
import de.mossgrabers.controller.electra.one.controller.ElectraOneControlSurface;
12+
import de.mossgrabers.framework.command.trigger.transport.PlayCommand;
1013
import de.mossgrabers.framework.controller.ButtonID;
1114
import de.mossgrabers.framework.daw.IModel;
1215
import de.mossgrabers.framework.daw.data.ICursorDevice;
1316
import de.mossgrabers.framework.mode.track.DefaultTrackMode;
1417

15-
import java.util.Optional;
16-
1718

1819
/**
1920
* Abstract base mode for all Electra One modes.
@@ -22,7 +23,8 @@
2223
*/
2324
public abstract class AbstractElectraOneMode extends DefaultTrackMode<ElectraOneControlSurface, ElectraOneConfiguration>
2425
{
25-
protected final PageCache pageCache;
26+
protected final PlayCommand<ElectraOneControlSurface, ElectraOneConfiguration> playCommand;
27+
protected final PageCache pageCache;
2628

2729

2830
/**
@@ -37,6 +39,7 @@ protected AbstractElectraOneMode (final int pageIndex, final String name, final
3739
{
3840
super (name, surface, model, false, ElectraOneControlSurface.KNOB_IDS);
3941

42+
this.playCommand = new PlayCommand<> (model, surface);
4043
this.pageCache = new PageCache (pageIndex, surface);
4144
}
4245

src/main/java/de/mossgrabers/controller/electra/one/mode/DeviceMode.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -120,7 +120,7 @@ public void onButton (final int row, final int column, final ButtonEvent event)
120120
this.model.getTransport ().startRecording ();
121121
break;
122122
case 5:
123-
this.model.getTransport ().play ();
123+
this.playCommand.execute (ButtonEvent.UP, 127);
124124
break;
125125
default:
126126
// Not used

src/main/java/de/mossgrabers/controller/electra/one/mode/EqualizerMode.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,8 @@
44

55
package de.mossgrabers.controller.electra.one.mode;
66

7+
import java.util.Optional;
8+
79
import de.mossgrabers.controller.electra.one.controller.ElectraOneColorManager;
810
import de.mossgrabers.controller.electra.one.controller.ElectraOneControlSurface;
911
import de.mossgrabers.framework.daw.IModel;
@@ -23,8 +25,6 @@
2325
import de.mossgrabers.framework.utils.ButtonEvent;
2426
import de.mossgrabers.framework.utils.StringUtils;
2527

26-
import java.util.Optional;
27-
2828

2929
/**
3030
* The equalizer mode.
@@ -104,7 +104,7 @@ public void onButton (final int row, final int column, final ButtonEvent event)
104104
break;
105105
// Play
106106
case 5:
107-
this.transport.play ();
107+
this.playCommand.execute (ButtonEvent.UP, 127);
108108
break;
109109

110110
default:

src/main/java/de/mossgrabers/controller/electra/one/mode/MixerMode.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -87,7 +87,7 @@ public void onButton (final int row, final int column, final ButtonEvent event)
8787
break;
8888
// Play
8989
case 5:
90-
this.transport.play ();
90+
this.playCommand.execute (ButtonEvent.UP, 127);
9191
break;
9292

9393
default:

src/main/java/de/mossgrabers/controller/electra/one/mode/ProjectTrackMode.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -95,7 +95,7 @@ public void onButton (final int row, final int column, final ButtonEvent event)
9595

9696
case 5:
9797
if (column == 5)
98-
this.transport.play ();
98+
this.playCommand.execute (ButtonEvent.UP, 127);
9999
break;
100100

101101
default:

src/main/java/de/mossgrabers/controller/electra/one/mode/SendsMode.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -91,7 +91,7 @@ public void onButton (final int row, final int index, final ButtonEvent event)
9191
break;
9292
// Play
9393
case 5:
94-
this.transport.play ();
94+
this.playCommand.execute (ButtonEvent.UP, 127);
9595
break;
9696

9797
default:

src/main/java/de/mossgrabers/controller/electra/one/mode/SessionMode.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -143,7 +143,7 @@ public void onButton (final int row, final int index, final ButtonEvent event)
143143
break;
144144
// Play
145145
case 5:
146-
this.transport.play ();
146+
this.playCommand.execute (ButtonEvent.UP, 127);
147147
break;
148148

149149
default:

src/main/java/de/mossgrabers/controller/electra/one/mode/TransportMode.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -197,7 +197,7 @@ else if (column < 5)
197197
this.launchMarkers = !this.launchMarkers;
198198
break;
199199
case 5:
200-
this.transport.play ();
200+
this.playCommand.execute (ButtonEvent.UP, 127);
201201
break;
202202
default:
203203
// Not used

src/main/java/de/mossgrabers/controller/ni/kontrol/mkii/KontrolProtocolControllerSetup.java

Lines changed: 2 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -103,7 +103,6 @@ public class KontrolProtocolControllerSetup extends AbstractControllerSetup<Kont
103103

104104
private ModeMultiSelectCommand<KontrolProtocolControlSurface, KontrolProtocolConfiguration> switcher;
105105
private final int version;
106-
private String kompleteInstance = "";
107106
private long lastTriggerTime = -1;
108107

109108

@@ -143,19 +142,9 @@ public void init ()
143142
@Override
144143
public void flush ()
145144
{
146-
final KontrolProtocolControlSurface surface = this.getSurface ();
147-
148145
// Do not flush until handshake has finished
149-
if (!surface.isConnectedToNIHIA ())
150-
return;
151-
152-
final String kompleteInstanceNew = this.getKompleteInstance ();
153-
if (!this.kompleteInstance.equals (kompleteInstanceNew))
154-
{
155-
this.kompleteInstance = kompleteInstanceNew;
156-
surface.sendKontrolSysEx (KontrolProtocolControlSurface.SYSEX_TRACK_INSTANCE, 0, 0, kompleteInstanceNew);
157-
}
158-
super.flush ();
146+
if (this.getSurface ().isConnectedToNIHIA ())
147+
super.flush ();
159148
}
160149

161150

@@ -572,19 +561,6 @@ public void startup ()
572561
}
573562

574563

575-
/**
576-
* Get the name of an Komplete Kontrol instance on the current track.
577-
*
578-
* @return The instance name, which is the actual label of the first parameter (e.g. NIKB01). An
579-
* empty string if none is present
580-
*/
581-
private String getKompleteInstance ()
582-
{
583-
final ISpecificDevice kkDevice = this.model.getSpecificDevice (DeviceID.NI_KOMPLETE);
584-
return kkDevice.doesExist () ? kkDevice.getID () : "";
585-
}
586-
587-
588564
// This is encoder left/right
589565
private void moveTrack (final ButtonEvent event, final boolean isLeft)
590566
{

0 commit comments

Comments
 (0)