summaryrefslogtreecommitdiffstatshomepage
path: root/3rdparty/portmidi/pm_java/jportmidi/JPortMidiApi.java
diff options
context:
space:
mode:
Diffstat (limited to '3rdparty/portmidi/pm_java/jportmidi/JPortMidiApi.java')
-rw-r--r--3rdparty/portmidi/pm_java/jportmidi/JPortMidiApi.java117
1 files changed, 117 insertions, 0 deletions
diff --git a/3rdparty/portmidi/pm_java/jportmidi/JPortMidiApi.java b/3rdparty/portmidi/pm_java/jportmidi/JPortMidiApi.java
new file mode 100644
index 00000000000..45dd9d98b28
--- /dev/null
+++ b/3rdparty/portmidi/pm_java/jportmidi/JPortMidiApi.java
@@ -0,0 +1,117 @@
+package jportmidi;
+
+public class JPortMidiApi {
+ public static class PortMidiStream {
+ private long address;
+ }
+ public static class PmEvent {
+ public int message;
+ public int timestamp;
+ }
+
+ // PmError bindings
+ public final int pmNoError = 0;
+ public final int pmNoData = 0;
+ public final int pmGotData = -1;
+ public final int pmHostError = -10000;
+ public final int pmInvalidDeviceId = -9999;
+ public final int pmInsufficientMemory = -9998;
+ public final int pmBufferTooSmall = -9997;
+ public final int pmBufferOverflow = -9996;
+ public final int pmBadPtr = -9995;
+ public final int pmBadData = -9994;
+ public final int pmInternalError = -9993;
+ public final int pmBufferMaxSize = -9992;
+
+ static public native int Pm_Initialize();
+ static public native int Pm_Terminate();
+ static public native int Pm_HasHostError(PortMidiStream stream);
+ static public native String Pm_GetErrorText(int errnum);
+ static public native String Pm_GetHostErrorText();
+ final int pmNoDevice = -1;
+ static public native int Pm_CountDevices();
+ static public native int Pm_GetDefaultInputDeviceID();
+ static public native int Pm_GetDefaultOutputDeviceID();
+ static public native String Pm_GetDeviceInterf(int i);
+ static public native String Pm_GetDeviceName(int i);
+ static public native boolean Pm_GetDeviceInput(int i);
+ static public native boolean Pm_GetDeviceOutput(int i);
+ static public native int Pm_OpenInput(PortMidiStream stream,
+ int inputDevice,
+ String inputDriverInfo,
+ int bufferSize);
+ static public native int Pm_OpenOutput(PortMidiStream stream,
+ int outputDevice,
+ String outnputDriverInfo,
+ int bufferSize,
+ int latency);
+ final static public int PM_FILT_ACTIVE = (1 << 0x0E);
+ final static public int PM_FILT_SYSEX = (1 << 0x00);
+ final static public int PM_FILT_CLOCK = (1 << 0x08);
+ final static public int PM_FILT_PLAY =
+ (1 << 0x0A) | (1 << 0x0C) | (1 << 0x0B);
+ final static public int PM_FILT_TICK = (1 << 0x09);
+ final static public int PM_FILT_FD = (1 << 0x0D);
+ final static public int PM_FILT_UNDEFINED = PM_FILT_FD;
+ final static public int PM_FILT_RESET = (1 << 0x0F);
+ final static public int PM_FILT_REALTIME =
+ PM_FILT_ACTIVE | PM_FILT_SYSEX | PM_FILT_CLOCK;
+ final static public int PM_FILT_NOTE = (1 << 0x19) | (1 << 0x18);
+ final static public int PM_FILT_CHANNEL_AFTERTOUCH = (1 << 0x1D);
+ final static public int PM_FILT_POLY_AFTERTOUCH = (1 << 0x1A);
+ final static public int PM_FILT_AFTERTOUCH =
+ (PM_FILT_CHANNEL_AFTERTOUCH | PM_FILT_POLY_AFTERTOUCH);
+ final static public int PM_FILT_PROGRAM = (1 << 0x1C);
+ final static public int PM_FILT_CONTROL = (1 << 0x1B);
+ final static public int PM_FILT_PITCHBEND = (1 << 0x1E);
+ final static public int PM_FILT_MTC = (1 << 0x01);
+ final static public int PM_FILT_SONG_POSITION = (1 << 0x02);
+ final static public int PM_FILT_SONG_SELECT = (1 << 0x03);
+ final static public int PM_FILT_TUNE = (1 << 0x06);
+ final static public int PM_FILT_SYSTEMCOMMON =
+ (PM_FILT_MTC | PM_FILT_SONG_POSITION |
+ PM_FILT_SONG_SELECT | PM_FILT_TUNE);
+ static public native int Pm_SetFilter(PortMidiStream stream, int filters);
+ static public int Pm_Channel(int channel) { return 1 << channel; }
+ final static public native int Pm_SetChannelMask(PortMidiStream stream,
+ int mask);
+ final static public native int Pm_Abort(PortMidiStream stream);
+ final static public native int Pm_Close(PortMidiStream stream);
+ static public int Pm_Message(int status, int data1, int data2) {
+ return (((data2 << 16) & 0xFF0000) |
+ ((data1 << 8) & 0xFF00) |
+ (status & 0xFF));
+ }
+ static public int Pm_MessageStatus(int msg) {
+ return msg & 0xFF;
+ }
+ static public int Pm_MessageData1(int msg) {
+ return (msg >> 8) & 0xFF;
+ }
+ static public int Pm_MessageData2(int msg) {
+ return (msg >> 16) & 0xFF;
+ }
+ // only supports reading one buffer at a time
+ static public native int Pm_Read(PortMidiStream stream, PmEvent buffer);
+ static public native int Pm_Poll(PortMidiStream stream);
+ // only supports writing one buffer at a time
+ static public native int Pm_Write(PortMidiStream stream, PmEvent buffer);
+ static public native int Pm_WriteShort(PortMidiStream stream,
+ int when, int msg);
+ static public native int Pm_WriteSysEx(PortMidiStream stream,
+ int when, byte msg[]);
+
+ public final int ptNoError = 0;
+ public final int ptAlreadyStarted = -10000;
+ public final int ptAlreadyStopped = -9999;
+ public final int PtInsufficientMemory = -9998;
+ static public native int Pt_TimeStart(int resolution);
+ static public native int Pt_TimeStop();
+ static public native int Pt_Time();
+ static public native boolean Pt_TimeStarted();
+ static {
+ System.out.println("Loading pmjni");
+ System.loadLibrary("pmjni");
+ System.out.println("done loading pmjni");
+ }
+}