Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view

This file was deleted.

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,7 @@ public void init() {
mLauncherClip.exists().markInterested();

mButtonUndo.pressedAction().addBinding(mApplication.undoAction());
mButtonRedo.pressedAction().addBinding(mApplication.undoAction());
mButtonRedo.pressedAction().addBinding(mApplication.redoAction());

final HardwareActionBindable quantizeAction = mHost.createAction(() -> {
this.quantizeCurrentClip();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,13 +5,13 @@

public class SynthPreferences {

private SettableBooleanValue mhakenInAllInputs;
private SettableBooleanValue mSoundEngineInAllInputs;

public SynthPreferences(ControllerHost host) {
mhakenInAllInputs = host.getPreferences().getBooleanSetting("Include in all inputs", "Osmose Haken", false);
mSoundEngineInAllInputs = host.getPreferences().getBooleanSetting("Include in all inputs", "Osmose Sound Engine", false);
}

public boolean hakenInAllInputs() {
return mhakenInAllInputs.get();
public boolean soundEngineInAllInputs() {
return mSoundEngineInAllInputs.get();
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ public class TrackManager extends Manager {
// *=============================================*//

private static final int TRACK_SENDS_COUNT = 2;
private static final int TRACK_SCENES_COUNT = 8;
private static final int TRACK_SCENES_COUNT = 128;

private static final String CTRL_E_ID = "ABCDEF019182FAEB4578707243747265";
private static final String INSTRUMENT_LAYER_ID = "5024be2e-65d6-4d40-bbfe-8b2ea993c445";
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,75 @@
package com.bitwig.extensions.controllers.expressivee.osmose49;

import com.bitwig.extension.api.util.midi.ShortMidiMessage;
import com.bitwig.extension.callback.ShortMidiMessageReceivedCallback;
import com.bitwig.extension.controller.api.ControllerHost;
import com.bitwig.extension.controller.api.NoteInput;
import com.bitwig.extension.controller.ControllerExtension;
import com.bitwig.extension.controller.api.HardwareSurface;

import com.bitwig.extensions.controllers.expressivee.common.ApplicationManager;
import com.bitwig.extensions.controllers.expressivee.common.Manager;
import com.bitwig.extensions.controllers.expressivee.common.SynthPreferences;
import com.bitwig.extensions.controllers.expressivee.common.TrackManager;
import com.bitwig.extensions.controllers.expressivee.common.TransportManager;
import com.bitwig.extensions.controllers.expressivee.common.ExternalMidiPreferences;


public class Osmose49Extension extends ControllerExtension
{
private TrackManager mTrackManager;
private ApplicationManager mApplicationManager;
private TransportManager mTransportManager;
private ExternalMidiPreferences mExternalMidiPreference;
private SynthPreferences mSynthPreferences;

protected Osmose49Extension(final Osmose49ExtensionDefinition definition, final ControllerHost host)
{
super(definition, host);
}

@Override
public void init() {
final ControllerHost host = getHost();

final HardwareSurface surface = host.createHardwareSurface();

mSynthPreferences = new SynthPreferences(host);
mExternalMidiPreference = new ExternalMidiPreferences(host);
mTransportManager = new TransportManager(host, surface, host.getMidiInPort(2), host.getMidiOutPort(2));
mTrackManager = new TrackManager(host, surface, host.getMidiInPort(2), host.getMidiOutPort(2), false);
mApplicationManager = new ApplicationManager(host, surface, host.getMidiInPort(2), host.getMidiOutPort(2));

final NoteInput soundEngineNoteInput = host.getMidiInPort(1).createNoteInput("Osmose 49 sound engine", "??????");
soundEngineNoteInput.setShouldConsumeEvents(true);
soundEngineNoteInput.setUseExpressiveMidi(true, 0, 48);

final NoteInput playNoteInput = host.getMidiInPort(0).createNoteInput("Osmose 49 play", "??????");
playNoteInput.setShouldConsumeEvents(true);
playNoteInput.setUseExpressiveMidi(true, 0, 48);

if (mSynthPreferences.soundEngineInAllInputs()) {
soundEngineNoteInput.includeInAllInputs();
}

if (mExternalMidiPreference.playInAllInputs()) {
playNoteInput.includeInAllInputs();
}

mTransportManager.sendSysexConnectionInfos(true);

mTransportManager.init();
mTrackManager.init();
mApplicationManager.init();
}

@Override
public void exit() {
mTransportManager.sendSysexConnectionInfos(false);
}

@Override
public void flush() {
}

}
Original file line number Diff line number Diff line change
@@ -0,0 +1,81 @@
package com.bitwig.extensions.controllers.expressivee.osmose49;
import java.util.UUID;

import com.bitwig.extension.api.PlatformType;
import com.bitwig.extension.controller.AutoDetectionMidiPortNamesList;
import com.bitwig.extension.controller.ControllerExtensionDefinition;
import com.bitwig.extension.controller.api.ControllerHost;

public class Osmose49ExtensionDefinition extends ControllerExtensionDefinition
{
private static final UUID DRIVER_ID = UUID.fromString("a3c9f4b2-7e1d-4f3a-9c8e-12f4b6d9a8c1");

public Osmose49ExtensionDefinition() {
}

@Override
public String getName() {
return "Osmose 49";
}

@Override
public String getAuthor() {
return "Expressive E";
}

@Override
public String getVersion() {
return "0.4";
}

@Override
public UUID getId() {
return DRIVER_ID;
}

@Override
public String getHardwareVendor() {
return "Expressive E";
}

@Override
public String getHardwareModel() {
return "Osmose 49";
}

@Override
public int getRequiredAPIVersion() {
return 22;
}

@Override
public int getNumMidiInPorts() {
return 3;
}

@Override
public int getNumMidiOutPorts() {
return 3;
}

@Override
public void listAutoDetectionMidiPortNames(final AutoDetectionMidiPortNamesList list,
final PlatformType platformType) {
if (platformType == PlatformType.WINDOWS) {
list.add(new String[]{ "Osmose 49", "MIDIIN2 (Osmose 49)", "MIDIIN4 (Osmose 49)" },
new String[]{ "Osmose 49 play", "MIDIOUT2 (Osmose 49)", "MIDIOUT4 (Osmose 49)" });
} else if (platformType == PlatformType.MAC) {
list.add(new String[]{ "Osmose 49 play", "Osmose 49 sound engine", "Osmose 49 daw control" },
new String[]{ "Osmose 49 play", "Osmose 49 sound engine", "Osmose 49 daw control" });
}
else if (platformType == PlatformType.LINUX) {
list.add(new String[]{ "Osmose 49 play", "Osmose 49 sound engine", "Osmose 49 daw control" },
new String[]{ "Osmose 49 play", "Osmose 49 sound engine", "Osmose 49 daw control" });
}
}

@Override
public Osmose49Extension createInstance(final ControllerHost host) {
return new Osmose49Extension(this, host);
}
}
Loading