/osxmidi4j

osxmidi4j provides the Java MIDI API including Sysex messages for the Mac OS X platform.

Primary LanguageJavaGNU General Public License v2.0GPL-2.0

osxmidi4j

osxmidi4j provides the Java MIDI API including Sysex messages for the Mac OS X platform.

Donate

##Release Notes

###Version 1.0

  • Works with Mac OS X 10.8.5

##Usage

###Maven

Add this dependency to your pom:

<dependencies>
  <dependency>
    <groupId>com.locurasoft</groupId>
    <artifactId>osxmidi4j</artifactId>
    <version>1.0</version>
  </dependency>
</dependencies>

###Java Extensions

Download and copy the osxmidi4j-1.0-jar-with-dependencies.jar to the /Library/Java/Extensions/ folder. Any Java application executed on the machine will then get access to osxmidi4j

###Jar File

Put osxmidi4j-1.0-jar-with-dependencies.jar on your classpath Make sure that the folder is writable for the Java process as osxmidi4j will try to copy the librococoa.dylib to its folder and add it to the java.library.path. If the application doesn't have write access to its own folder you need to add librococoa.dylib to the java.library.path manually

##Project info

As long as the CoreMidi API and the Java MIDI API remain the same the library will probably work as expected. Therefore there is currently no planned roadmap. Instead a dot version update will be released every time the library has been verified on a new version of Mac OS X.

Don't hesitate to submit issues if you find bugs or come up with improvment suggestions.

##Technical description

osxmidi4j will register itself automatically to the Java runtime as a MIDI device provider. Call the standard Java MIDI API All osxmidi4j devices will be prefixed with "CoreMidi - "

This library works in two ways

  • Bundled inside an application
  • A Java extension residing on a single machine.

###CoreMidi services API

The interface net.sourceforge.osxmidi4j.midiservices.CoreMidiLibrary provides the Mac OS X CoreMidi services API for Java. It is (partly) generated by JNAerator and relies heavily on the Rococoa library and JNA.