motiz88 / react-native-midi

[WIP] Web MIDI implementation for React Native using Expo Modules
MIT License
69 stars 1 forks source link

Does this work with MIDI BLE devices ? #3

Closed kimchouard closed 1 year ago

kimchouard commented 1 year ago

Thanks so much for putting this library together. I'm trying to see if I can make it work for BLE devices. Have you ever tried?

Happy to contribute to this repo down the line as well.

motiz88 commented 1 year ago

Hi @kimchouard - yes! I have used it with BLE devices on both Android and iOS.

On Android, a separate app (e.g. this one) is needed to initiate the BLE connection, but then the device is made available to all apps and appears in the MIDIAccess object as you'd expect. I think a similar process was also needed on iOS when I tested it but am unsure at the moment. (Note also #2 which means device connection/disconnection events aren't super reliable on iOS yet - it might be necessary to restart the React Native app after pairing.)

kimchouard commented 1 year ago

Okay great, thanks for the prompt answer. 💪 I'm going to give it a go, I'm already managing the BT aspect (connexion/pairing etc) with a separate code so that should be alright !

I'll let you know. 🧐

motiz88 commented 1 year ago

BTW I do think it's worth wrapping the platform-specific BLE MIDI APIs in a JS API. That would technically be outside the scope of a Web MIDI API polyfill, so it might be worth putting in a separate package and taking the time to figure out the best cross-platform API.

kimchouard commented 1 year ago

UPDATE: works great with BTLE in iOS ! 🙌🏻