Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/halfbyte/portmidi

A simple wrapper using ffi around the portmidi library. This is hopefully easier to build than the c extension I did earlier
https://github.com/halfbyte/portmidi

Last synced: 4 days ago
JSON representation

A simple wrapper using ffi around the portmidi library. This is hopefully easier to build than the c extension I did earlier

Awesome Lists containing this project

README

        

= Portmidi-Mapper

This is a small, incomplete wrapper around the portmidi c library.

It is the successor of my portmidi-ruby project which used ordinary ruby extensions which are a pain to write.

== Requirements

* portmidi (who woulda thought) built as a dynamic library. See below for special notes for Mac OS X Snow Leopard
* ffi (which in turn needs a sane build env to be installed)

== What's missing?

The most important: Tests. I'm still pondering on how to test a library that
has hardware requirements and dependencies (= MIDI hardware). So I guess it
means I will mock away the portmidi layer to test my abstractions and add some optional integration test that will require a MIDI loopback configuration.

Implementation wise, there's a few things missing:

* Setting Channel- and Message filters
* More different exceptions, plus support for Host Errors
* A lot of safety nets like testing for open devices before reading and writing and such.

== Credits

The portmidi wrapper was thrown together by Jan Krutisch

* Portmidi C-Library: Roger B. Dannenberg / Portmedia Framework Group
* Jan 'half/byte' Krutisch (http://github.com/halfbyte)
* Patches by
* Thomas Jachmann (http://github.com/thomasjachmann)

== Installing Portmidi

* On MacOSX, there's a homebrew recipe, so $ brew install portmidi should do the trick
* On most Linuxes, portmidi should be simply a package to install by your packagemanager
* On Windows: "try this":http://sourceforge.net/apps/trac/portmedia/wiki/Installing%20portmidi%20on%20Windows