hochanh / cordova-plugin-midi-sender

Send and receive MIDI messages between the Cordova app and attached hardware devices.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

MIDISender

This is a fork of cordova-plugin-midi-sender.

Installation

Repository:

cordova plugin add https://github.com/hochanh/cordova-plugin-midi-sender.git

Dependencies

CoreMIDI.framework is required, and will be linked for you automatically

Methods

Listen for incoming MIDI messages on all channels:

cordova.plugins.MIDISender.getIncoming(function(msg) {
  if (msg.channel){ // Ignore msg sent on plugin initialization
  
    /* MESSAGE DATA
      msg.channel = MIDI channel (1-16)
      msg.type = Type of MIDI message: 'Program Change', 'Control Change', 'Note On', 'Note off'
      msg.data = MIDI Data: <number>
      msg.value = Not present for 'Program Change' messages
    */
    
  }
});

Send MIDI Messages:

// Send Program Change (Channel, Data)
cordova.plugins.MIDISender.sendProgramChange(1, 30);

// Send NoteOn (Channel, Data, Value)
cordova.plugins.MIDISender.sendNote(1, 60, 127); // Ch 1, NoteOn C3, Value

// Send Control Change (Channel, Data, Value)
cordova.plugins.MIDISender.sendControlChange(1, 1, 1);

Permissions

<feature name="MIDISender">
    <param name="ios-package" value="MIDISender" onload="true" />
</feature>

Debugging

Debug messages are sent to NSLog

Resources

If you're unfamiliar with MIDI, checkout this spec on MIDI messages.

Credits

Jonathan Kelly

About

Send and receive MIDI messages between the Cordova app and attached hardware devices.

License:Apache License 2.0


Languages

Language:Objective-C 85.4%Language:JavaScript 14.6%