final MidiInputPort destinationInputPort, final OnPortsConnectedListener listener, final Handler handler) { mMidiManager.openDevice(sourceDeviceInfo, new MidiManager.OnDeviceOpenedListener() { @Override
public void registerDeviceCallback(DeviceCallback callback, Handler handler) { if (mUseProxy) { // Keep our own list of callbacks. mCallbacks.put(callback, handler); } else { mMidiManager.registerDeviceCallback(callback, handler); } }
public void unregisterDeviceCallback(DeviceCallback callback) { if (mUseProxy) { mCallbacks.remove(callback); } else { // This works on N or later. mMidiManager.unregisterDeviceCallback(callback); } } }
mSpinner.setAdapter(mAdapter); mMidiManager.registerDeviceCallback(this, new Handler(Looper.getMainLooper())); MidiDeviceInfo[] infos = mMidiManager.getDevices(); for (MidiDeviceInfo info : infos) { onDeviceAdded(info);
private void findMidiDevice() { MidiDeviceInfo[] infos = midiManager.getDevices(); for(MidiDeviceInfo info : infos) { String name = info.getProperties().getString(MidiDeviceInfo.PROPERTY_NAME); logger.log("Found MIDI device named " + name); if(TEENSY_MIDI_NAME.equals(name)) { logger.log("^^^ using this device ^^^"); isConnecting = true; midiManager.openDevice(info, new MidiManager.OnDeviceOpenedListener() { @Override public void onDeviceOpened(MidiDevice device) { if (device == null) { logger.log("Error, unable to open MIDI device"); } else { logger.log("Opened MIDI device successfully!"); midiDevice = device; } isConnecting = false; } }, null); break; } } }
/** * @return a device that matches the manufacturer and product or null */ public static MidiDeviceInfo findDevice(MidiManager midiManager, String manufacturer, String product) { for (MidiDeviceInfo info : midiManager.getDevices()) { String deviceManufacturer = info.getProperties() .getString(MidiDeviceInfo.PROPERTY_MANUFACTURER); if ((manufacturer != null) && manufacturer.equals(deviceManufacturer)) { String deviceProduct = info.getProperties() .getString(MidiDeviceInfo.PROPERTY_PRODUCT); if ((product != null) && product.equals(deviceProduct)) { return info; } } } return null; } }
@Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { if (requestCode == REQUEST_BLUETOOTH_SCAN && resultCode == RESULT_OK) { final BluetoothDevice fBluetoothDevice = (BluetoothDevice) data .getParcelableExtra("device"); if (fBluetoothDevice != null) { Log.i(TAG, "Bluetooth device name = " + fBluetoothDevice.getName() + ", address = " + fBluetoothDevice.getAddress()); mMidiManager.openBluetoothDevice(fBluetoothDevice, new MidiManager.OnDeviceOpenedListener() { @Override public void onDeviceOpened(MidiDevice device) { onBluetoothDeviceOpen(fBluetoothDevice, device); } }, null); } } }
mSpinner.setAdapter(mAdapter); mMidiManager.registerDeviceCallback(this, new Handler(Looper.getMainLooper())); MidiDeviceInfo[] infos = mMidiManager.getDevices(); for (MidiDeviceInfo info : infos) { onDeviceAdded(info);
/** * @return a device that matches the manufacturer and product or null */ public static MidiDeviceInfo findDevice(MidiManager midiManager, String manufacturer, String product) { for (MidiDeviceInfo info : midiManager.getDevices()) { String deviceManufacturer = info.getProperties() .getString(MidiDeviceInfo.PROPERTY_MANUFACTURER); if ((manufacturer != null) && manufacturer.equals(deviceManufacturer)) { String deviceProduct = info.getProperties() .getString(MidiDeviceInfo.PROPERTY_PRODUCT); if ((product != null) && product.equals(deviceProduct)) { return info; } } } return null; } }
final MidiInputPort destinationInputPort, final OnPortsConnectedListener listener, final Handler handler) { mMidiManager.openDevice(sourceDeviceInfo, new MidiManager.OnDeviceOpenedListener() { @Override
/** * @return a device that matches the manufacturer and product or null */ public static MidiDeviceInfo findDevice(MidiManager midiManager, String manufacturer, String product) { for (MidiDeviceInfo info : midiManager.getDevices()) { String deviceManufacturer = info.getProperties() .getString(MidiDeviceInfo.PROPERTY_MANUFACTURER); if ((manufacturer != null) && manufacturer.equals(deviceManufacturer)) { String deviceProduct = info.getProperties() .getString(MidiDeviceInfo.PROPERTY_PRODUCT); if ((product != null) && product.equals(deviceProduct)) { return info; } } } return null; } }
private MidiDeviceMonitor(MidiManager midiManager) { mMidiManager = midiManager; if (mUseProxy) { Log.i(TAG,"Running on M so we need to use the workaround."); mMyDeviceCallback = new MyDeviceCallback(); mMidiManager.registerDeviceCallback(mMyDeviceCallback, new Handler(Looper.getMainLooper())); } }
final MidiInputPort destinationInputPort, final OnPortsConnectedListener listener, final Handler handler) { mMidiManager.openDevice(sourceDeviceInfo, new MidiManager.OnDeviceOpenedListener() { @Override
new Handler(Looper.getMainLooper())); MidiDeviceInfo[] infos = mMidiManager.getDevices(); for (MidiDeviceInfo info : infos) { onDeviceAdded(info);
private void setupMidi() { // Setup MIDI mMidiManager = (MidiManager) getSystemService(MIDI_SERVICE); mMidiManager.registerDeviceCallback(new DeviceCallback() { @Override public void onDeviceRemoved(final MidiDeviceInfo info) { mOpenDeviceListAdapter.remove(info); } // Update port open counts so user knows if the device is in use. @Override public void onDeviceStatusChanged(final MidiDeviceStatus status) { MidiDeviceInfo info = status.getDeviceInfo(); BluetoothMidiDeviceTracker tracker = mOpenDeviceListAdapter .getDevice(info); if (tracker != null) { tracker.outputOpenCount = 0; for (int i = 0; i < info.getOutputPortCount(); i++) { tracker.outputOpenCount += status .getOutputPortOpenCount(i); } tracker.inputOpenCount = 0; for (int i = 0; i < info.getInputPortCount(); i++) { tracker.inputOpenCount += status.isInputPortOpen(i) ? 1 : 0; } mOpenDeviceListAdapter.notifyDataSetChanged(); } } }, new android.os.Handler(Looper.getMainLooper())); }
final OnPortsConnectedListener listener, final Handler handler) { safeClose(); mMidiManager.openDevice(destinationDeviceInfo, new MidiManager.OnDeviceOpenedListener() { @Override
final OnPortsConnectedListener listener, final Handler handler) { safeClose(); mMidiManager.openDevice(destinationDeviceInfo, new MidiManager.OnDeviceOpenedListener() { @Override
final OnPortsConnectedListener listener, final Handler handler) { safeClose(); mMidiManager.openDevice(destinationDeviceInfo, new MidiManager.OnDeviceOpenedListener() { @Override
@Override public void onPortSelected(final MidiPortWrapper wrapper) { Log.i(MidiConstants.TAG, "onPortSelected: " + wrapper); close(); final MidiDeviceInfo info = wrapper.getDeviceInfo(); if (info != null) { mMidiManager.openDevice(info, new MidiManager.OnDeviceOpenedListener() { @Override public void onDeviceOpened(MidiDevice device) { if (device == null) { Log.e(MidiConstants.TAG, "could not open " + info); } else { mOpenDevice = device; mOutputPort = device.openOutputPort(wrapper.getPortIndex()); if (mOutputPort == null) { Log.e(MidiConstants.TAG, "could not open output port for " + info); return; } mOutputPort.connect(mDispatcher); } } }, null); // Don't run the callback on the UI thread because openOutputPort might take a while. } }
@Override public void onPortSelected(final MidiPortWrapper wrapper) { Log.i(MidiConstants.TAG, "onPortSelected: " + wrapper); close(); final MidiDeviceInfo info = wrapper.getDeviceInfo(); if (info != null) { mMidiManager.openDevice(info, new MidiManager.OnDeviceOpenedListener() { @Override public void onDeviceOpened(MidiDevice device) { if (device == null) { Log.e(MidiConstants.TAG, "could not open " + info); } else { mOpenDevice = device; mOutputPort = device.openOutputPort(wrapper.getPortIndex()); if (mOutputPort == null) { Log.e(MidiConstants.TAG, "could not open output port for " + info); return; } mOutputPort.connect(mDispatcher); } } }, null); // Don't run the callback on the UI thread because openOutputPort might take a while. } }