Version 1.5
This release incorporates fixes to two issues kindly reported by users.
Please note that CoreMIDI4J is for Java 1.7 and above. The legacy Apple Java 1.6 is not supported, as Apple has retired it.
To install
🔧This is only needed if you want to use CoreMIDI4J with a project that doesn’t embed it.
- Ensure you have Java 7 or later.
- Download the coremidi4j jar file below.
- Place it on the class path of the project with which you want to use it.
If you want to make this version available to all Java processes running on your system, you can place the jar file in /Library/Java/Extensions. You will need to authenticate as an administrator to make changes in that folder. This is not recommended unless you have a strong reason for doing it, because it can lead to version conflicts if you someday use a Java project which embeds a more recent version of CoreMidi4J.
❗If you had globally installed any older releases of CoreMIDI4J, you should remove them from
/Library/Java/Extensions.
Fixed
- It is now possible to send long SysEx payloads split across multiple messages using the Java convention of leaving out the trailing
0xF7byte on all messages except the last, and introducing continuation messages with a first byte of0xF7instead of the normal0xF0. Thanks to @eclab for identifying this in Issue 37. - Synchronization is used to protect against non-thread-safe behavior by
MidiSystem.getMidiDeviceInfo()when usingCoreMidiDeviceProvider.addNotificationListener()on non-Mac platforms. (To be protected you must always use
CoreMidiDeviceProvider.getMidiDeviceInfo()instead of the one provided byjavax.sound.midi.MidiSystem.) Thanks to Mailüfterl s.r.o. for identifying this in Issue 38.