e0a6ca64fac5bd4f10139321604031816e90adb4 |
|
04-Jun-2015 |
Mike Lockwood <lockwood@google.com> |
MidiManager: proxy all requests to open devices through MidiService Previously when a MidiManager client opened a virtual or Bluetooth device, the client bound directly to the virtual device's MidiDeviceService or BluetoothMidiDevice's IMidiDeviceServer for the given BluetoothDevice. Only USB devices were opened in MidiService. Now opening any type of MIDI device is done via IMidiManager.openDevice() or IMidiManager.openBluetoothDevice(). MidiService tracks all connnections between clients and devices. Services that implement virtual devices must now require android.permission.BIND_MIDI_DEVICE_SERVICE so only MidiService can bind to these services. Bug: 21044677 Change-Id: I7172f7b1e0cbfe4a2a87dff376c32dc9b41aa563
/frameworks/base/media/java/android/media/midi/IMidiManager.aidl
|
7eb441cb4abcd3230a4d243469c5044f49e707c8 |
|
12-May-2015 |
Mike Lockwood <lockwood@google.com> |
MidiManager: Address API Council feedback: Rename MidiDeviceInfo.getPortList() to getPorts() Rename MidiManager.getDeviceList() to getDevices() Rename MidiReceiver.onReceive() to onSend() Replace MidiManager.DeviceOpenCallback and BluetoothOpenCallback with new interface MidiManager.OnDeviceOpenedListener Add MidiSender.onConnect() and onDisconnect() Add MidiReceiver.onFlush() Ensure that MidiReceiver max message size is immutable Bug: 21044677 Change-Id: I7711734a45e831e9744849a6f569e906feff9f80
/frameworks/base/media/java/android/media/midi/IMidiManager.aidl
|
f2cd8024028f602a5e4c27f3d9222e872e4e84f2 |
|
11-Mar-2015 |
Mike Lockwood <lockwood@google.com> |
MidiDeviceInfo meta-data improvements: Add property for user visible device name Add names for input and output ports Rename "model" to "product" to match USB specification. Change-Id: I8dc50da935f26825ffc73de456d34e7933aa987c
/frameworks/base/media/java/android/media/midi/IMidiManager.aidl
|
5ff9e2a1719f78cddc7a23d6572ab15ab595dafd |
|
09-Mar-2015 |
Mike Lockwood <lockwood@google.com> |
MidiManager: Add MIDI device status notifications MidiManager clients can be notified of device status changes via a new MidiDeviceStatus object. MidiDeviceStatus contains the busy status of the device's input ports and number of connections to the output ports. MidiDeviceService now has an optional callback for receiving notifications when its ports change as well. Change-Id: I1600df4464d82724bc026c27b9633ae9c412d3f0
/frameworks/base/media/java/android/media/midi/IMidiManager.aidl
|
11fd96d6ff25bc1d710448eab545fe09da55a5f5 |
|
02-Mar-2015 |
Mike Lockwood <lockwood@google.com> |
MidiManager: Virtual MIDI devices are now implemented as Services To implement a virtual MIDI device, include a subclass of MidiDeviceService in your application. This service is identified by an intent filter and meta-data in the application's manifest to allow the MIDI manager to register the virtual device without actually running the application. Instead, the application's MidiDeviceService subclass is started on demand when MIDI manager clients want to open the device. Here is an example of how the MidiDeviceService might be described in the application manifest: <service android:name="VirtualDeviceService"> <intent-filter> <action android:name="android.media.midi.MidiDeviceService" /> </intent-filter> <meta-data android:name="android.media.midi.MidiDeviceService" android:resource="@xml/device_info" /> </service> and the device_info.xml meta-data: <devices> <device manufacturer="Sample Manufacturer" model="Sample Model" private="false"> <input-port name="my input port" /> <output-port name="my output port" /> </device> </devices> (note that the <input-port> and <output-port> names are not currently used, but support for these will be added in a subsequent change) Client's of the virtual device will bind directly to the hosting application's MidiDeviceService subclass. To support this, MidiManager.openDevice() now returns the MidiDevice asynchronously via a callback. This change also adds a utility class called MidiDispatcher, which is a MidiReceiver that dispatches all data it receives to a list of other MidiReceivers. We now use this internally in MidiInputPort and MidiDeviceServer, but developers may use it for other purposes as well. Change-Id: Ic3009f06d56f3d5edbd87de3f0c330b51a1c217d
/frameworks/base/media/java/android/media/midi/IMidiManager.aidl
|
b673770f7172d4fca9bc05de1f36bc53e93eb247 |
|
20-Feb-2015 |
Mike Lockwood <lockwood@google.com> |
Add MIDI Manager API tweaks: - Change the package name from android.midi to android.media.midi - Add option for specifying a Handler for DeviceCallback notifications Change-Id: Ia9e9817a651c06299f4e02ee1da3c9666ff64cb9
/frameworks/base/media/java/android/media/midi/IMidiManager.aidl
|