package com.PP.MidiServer; import jp.kshoji.driver.midi.activity.AbstractSingleMidiActivity; import jp.kshoji.driver.midi.device.MidiInputDevice; import android.hardware.usb.UsbDevice; public abstract class AbstractMidiServerActivity extends AbstractSingleMidiActivity { //post midi event to midi server queue for processing. @Override public void onMidiNoteOn(final MidiInputDevice sender, int cable, int channel, int note, int velocity) { long timestamp = System.currentTimeMillis(); final org.jfugue.Note noteObj = new org.jfugue.Note((byte)note,0L,(byte)velocity,(byte)0); NoteEvent noteEvent = new NoteEvent(timestamp,noteObj); MidiServer.getInstance().addNoteEvent(noteEvent); } //unused MiDi controller methods @Override public void onDeviceDetached(UsbDevice usbDevice) {} @Override public void onDeviceAttached(UsbDevice usbDevice) {} @Override public void onMidiMiscellaneousFunctionCodes(MidiInputDevice sender, int cable, int byte1, int byte2, int byte3) {} @Override public void onMidiCableEvents(MidiInputDevice sender, int cable, int byte1, int byte2, int byte3) {} @Override public void onMidiSystemCommonMessage(MidiInputDevice sender, int cable, byte[] bytes) {} @Override public void onMidiSystemExclusive(MidiInputDevice sender, int cable, byte[] systemExclusive) {} @Override public void onMidiNoteOff(MidiInputDevice sender, int cable, int channel, int note, int velocity) {} @Override public void onMidiPolyphonicAftertouch(MidiInputDevice sender, int cable, int channel, int note, int pressure) {} @Override public void onMidiControlChange(MidiInputDevice sender, int cable, int channel, int function, int value) {} @Override public void onMidiProgramChange(MidiInputDevice sender, int cable, int channel, int program) {} @Override public void onMidiChannelAftertouch(MidiInputDevice sender, int cable, int channel, int pressure) {} @Override public void onMidiPitchWheel(MidiInputDevice sender, int cable, int channel, int amount) {} @Override public void onMidiSingleByte(MidiInputDevice sender, int cable, int byte1) {} }