Skip to content

Commit 2d463af

Browse files
committed
Final fixes 21.1.
1 parent 76db0b2 commit 2d463af

File tree

8 files changed

+34
-5
lines changed

8 files changed

+34
-5
lines changed

DrivenByMoss-Manual.pdf

3.54 KB
Binary file not shown.

src/main/java/de/mossgrabers/bitwig/framework/daw/HostImpl.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -81,6 +81,8 @@ public class HostImpl implements IHost
8181
CAPABILITIES.add (Capability.HAS_PARAMETER_PAGE_SECTION);
8282
CAPABILITIES.add (Capability.HAS_EFFECT_BANK);
8383
CAPABILITIES.add (Capability.HAS_BROWSER_PREVIEW);
84+
85+
CAPABILITIES.add (Capability.MPE_PITCH_RANGE);
8486
}
8587

8688
private final ControllerHost host;

src/main/java/de/mossgrabers/controller/ableton/push/controller/PushControlSurface.java

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
import de.mossgrabers.framework.daw.midi.IMidiInput;
1616
import de.mossgrabers.framework.daw.midi.IMidiOutput;
1717
import de.mossgrabers.framework.daw.midi.INoteInput;
18+
import de.mossgrabers.framework.daw.midi.MidiConstants;
1819
import de.mossgrabers.framework.featuregroup.IExpressionView;
1920
import de.mossgrabers.framework.utils.StringUtils;
2021

@@ -539,6 +540,25 @@ protected void handleMidi (final int status, final int data1, final int data2)
539540
if (status == 254)
540541
return;
541542

543+
if (this.configuration.getPushVersion () == PushVersion.VERSION_3)
544+
{
545+
final int code = status & 0xF0;
546+
final int channel = status & 0xF;
547+
548+
// Ignore all MIDI notes off on startup
549+
if (channel == 0 && code == MidiConstants.CMD_CC && data1 == 123)
550+
return;
551+
552+
// Ignore MPE messages
553+
if (channel > 0)
554+
{
555+
if (code == MidiConstants.CMD_CC && data1 == 74)
556+
return;
557+
if (code == MidiConstants.CMD_PITCHBEND)
558+
return;
559+
}
560+
}
561+
542562
super.handleMidi (status, data1, data2);
543563
}
544564

src/main/java/de/mossgrabers/controller/ableton/push/mode/MPEConfigurationMode.java

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
import de.mossgrabers.framework.controller.display.IGraphicDisplay;
1212
import de.mossgrabers.framework.controller.display.ITextDisplay;
1313
import de.mossgrabers.framework.daw.IModel;
14+
import de.mossgrabers.framework.daw.constants.Capability;
1415
import de.mossgrabers.framework.daw.data.IItem;
1516
import de.mossgrabers.framework.daw.resource.ChannelType;
1617
import de.mossgrabers.framework.featuregroup.AbstractFeatureGroup;
@@ -174,7 +175,10 @@ public void updateDisplay2 (final IGraphicDisplay display)
174175
final int slideHeight = config.getInTuneSlideHeight ();
175176

176177
display.addParameterElement ("MPE", true, "", (ChannelType) null, null, false, "MPE", isMPEEnabled ? 1023 : 0, isMPEEnabled ? "On" : "Off", this.isKnobTouched (1), -1);
177-
display.addParameterElement ("Info", false, "", (ChannelType) null, null, false, "PB Range", mpePitchBendRange * 1023 / 96, Integer.toString (mpePitchBendRange), this.isKnobTouched (2), -1);
178+
if (this.surface.getHost ().supports (Capability.MPE_PITCH_RANGE))
179+
display.addParameterElement ("Info", false, "", (ChannelType) null, null, false, "PB Range", mpePitchBendRange * 1023 / 96, Integer.toString (mpePitchBendRange), this.isKnobTouched (2), -1);
180+
else
181+
display.addOptionElement ("", "Info", false, "", "", false, true);
178182
display.addParameterElement (" ", false, "", (ChannelType) null, null, false, "Per-Pad PB", isPerPadPitchbendEnabled ? 1023 : 0, isPerPadPitchbendEnabled ? "On" : "Off", this.isKnobTouched (3), -1);
179183
display.addParameterElement (" ", false, "", (ChannelType) null, null, false, "Location", inTuneLocation == 0 ? 0 : 1023, PushConfiguration.IN_TUNE_LOCATION_OPTIONS[inTuneLocation], this.isKnobTouched (4), -1);
180184
display.addParameterElement (" ", false, "", (ChannelType) null, null, false, "Width (mm)", inTuneWidth * 1023 / (PushConfiguration.IN_TUNE_WIDTH_OPTIONS.length - 1), PushConfiguration.IN_TUNE_WIDTH_OPTIONS[inTuneWidth], this.isKnobTouched (5), -1);

src/main/java/de/mossgrabers/controller/ableton/push/view/ChordsView.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,6 @@
1313
import de.mossgrabers.framework.daw.data.IScene;
1414
import de.mossgrabers.framework.daw.data.bank.ISceneBank;
1515
import de.mossgrabers.framework.featuregroup.AbstractFeatureGroup;
16-
import de.mossgrabers.framework.featuregroup.IExpressionView;
1716
import de.mossgrabers.framework.utils.ButtonEvent;
1817
import de.mossgrabers.framework.view.AbstractChordView;
1918
import de.mossgrabers.framework.view.AbstractSessionView;
@@ -25,7 +24,7 @@
2524
*
2625
* @author Jürgen Moßgraber
2726
*/
28-
public class ChordsView extends AbstractChordView<PushControlSurface, PushConfiguration> implements IExpressionView
27+
public class ChordsView extends AbstractChordView<PushControlSurface, PushConfiguration>
2928
{
3029
/**
3130
* Constructor.

src/main/java/de/mossgrabers/controller/ableton/push/view/DrumView.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414
import de.mossgrabers.framework.daw.data.IDrumDevice;
1515
import de.mossgrabers.framework.daw.data.IDrumPad;
1616
import de.mossgrabers.framework.daw.data.bank.IDrumPadBank;
17+
import de.mossgrabers.framework.featuregroup.IExpressionView;
1718
import de.mossgrabers.framework.featuregroup.ModeManager;
1819
import de.mossgrabers.framework.mode.Modes;
1920
import de.mossgrabers.framework.utils.ButtonEvent;
@@ -26,7 +27,7 @@
2627
*
2728
* @author Jürgen Moßgraber
2829
*/
29-
public class DrumView extends AbstractDrumView<PushControlSurface, PushConfiguration>
30+
public class DrumView extends AbstractDrumView<PushControlSurface, PushConfiguration> implements IExpressionView
3031
{
3132
/**
3233
* Constructor.

src/main/java/de/mossgrabers/framework/daw/constants/Capability.java

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,5 +47,8 @@ public enum Capability
4747
/** The host has a dedicated send bank. */
4848
HAS_EFFECT_BANK,
4949
/** The host supports browser preview. */
50-
HAS_BROWSER_PREVIEW
50+
HAS_BROWSER_PREVIEW,
51+
52+
/** MPE supports pitch range. */
53+
MPE_PITCH_RANGE
5154
}
3.54 KB
Binary file not shown.

0 commit comments

Comments
 (0)