osxmidi4j provides the Java MIDI API including Sysex messages for the Mac OS X platform.
##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.