ffi-coremidi

Realtime MIDI IO with Ruby for OSX

Access the Apple Core MIDI framework API with Ruby.

Note that in the interest of allowing people on other platforms to utilize your code, please consider using UniMIDI. UniMIDI is a platform independent wrapper which implements this library and has a similar API.

Features

  • Simplified API
  • Input and output on multiple devices concurrently
  • Generalized handling of different MIDI Message types (including SysEx)
  • Timestamped input events
  • Patch MIDI via software to other programs using IAC

Requirements

Installation

If you're using Bundler, add this line to your application's Gemfile:

gem "ffi-coremidi"

Otherwise

gem install ffi-coremidi

Documentation

rdoc

Author

Ari Russo

Credits

This library began with some coremidi/ffi binding code for MIDI output by Colin Harris contained in his fork of MIDIator and a blog post.

MIDIator is (c)2008 by Ben Bleything and Topher Cyll and released under the MIT license (see LICENSE.midiator and LICENSE.prp)

Thank you to Jeremy Voorhis for some useful debugging.

Thank you to Javier Sánchez Yeste for a nice thread locking improvement.

License

Apache 2.0, See the file LICENSE

Copyright (c) 2011-2022 Ari Russo