Installation and Configuration of an.factory

an.factory is downloaded as a self installing file, so installation is automatic, and for most users little else, if anything, needs to be done to get up and running.

A native installer for Windows is also available.

This section is only relevant to installing additional items not included as part of the an.factory installer.

Installing MIDI Extensions for MacOS X

If you wish to use the MIDI support provided on Mac OSX, then a Java MIDI Service Provider extension is required.

The extensions provide MacOS X Java programs access to all CoreMIDI devices

An extension is required because, historically, the Java implementation on OS X is not able to access external MIDI devices. Apple/Oracle claim to have fixed the external MIDI device access problem in its Java implementation. However, it appears that only "simple" MIDI messages are now supported. SYSEX data transfer (essential for transferring synth data) is not supported.

an.factory now embeds CoreMIDI4J in the application package, so you no longer need to download and install it separately. However, if you still require an SPI for other Java MIDI software then you will need to ensure that you have the latest compatible version of CoreMIDI4J, as if an SPI is installed in the /Library/Java/Extensions folder then this will override the version of CoreMIDI4J embedded in an.factory.

If you are not using any other Java software that requires MIDI access, it is best to remove any existing version of CoreMIDI4J from the /Library/Java/Extensions folder so that an.factory can access the CoreMIDI4J version embedded in the package. That way you can ensure that an.factory is always using the latest compatible version of CoreMIDI4J.

an.factory will warn you if it detects an earlier version of CoreMIDI4J. It will still function, but will not benefit from recent CoreMIDI4J bug fixes or enhancements.

If you need to retain a version of CoreMIDI4J in the /Library/Java/Extensions folder then you can always download the latest version of CoreMIDI4J.jar from  CoreMIDI4J Releases

Once you have downloaded CoreMIDI4J.jar it needs to be copied to the /Library/Java/Extensions folder. You will need to provide administrator permissions to copy the files.

Once installed, when running the librarians and selecting the MIDI ports to use, select the ports prefixed with CoreMIDI4J -. For example my Edirol UA-25 interface that I use for testing on OS X is listed as CoreMIDI4J - UA-25. The latest version of an.factory will only list CoreMIDI4J devices.