motiz88 / react-native-midi

[WIP] Web MIDI implementation for React Native using Expo Modules

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

@motiz88/react-native-midi

An experimental Web MIDI API polyfill for React Native.

Features

  • Android support (via android.media.midi)
  • iOS support (via Core MIDI)
  • Web support (on browsers that support the Web MIDI API)
  • Bluetooth scanning, virtual ports, and other nonstandard capabilities

API

requestMIDIAccess(options?)

Equivalent to Navigator.requestMIDIAccess in the Web MIDI API. Respects the sysex option.

import { requestMIDIAccess } from "@motiz88/react-native-midi";

requestMIDIAccess().then((midiAccess) => {
  // Use midiAccess.inputs and midiAccess.outputs
});

Refer to the Web MIDI API docs for details.

Installation

NOTE: This package is experimental and may not work out of the box for you. Please file an issue if you encounter a problem.

If using Expo: expo install @motiz88/react-native-midi

Otherwise, add the dependency normally with npm install @motiz88/react-native-midi, and follow the guide to installing Expo modules in bare React Native projects (one-time setup).

Configure for iOS

Run npx pod-install after installing the npm package.

Configure for Android

No additional setup necessary.

Contributing

This project is in its early stages, but please feel free to look at the code and send PRs.

About

[WIP] Web MIDI implementation for React Native using Expo Modules

License:MIT License


Languages

Language:TypeScript 56.9%Language:Swift 20.2%Language:Kotlin 19.4%Language:JavaScript 2.5%Language:Ruby 1.0%