additv wrote on Feb 20th, 2007, 12:00am:When I tried to run the promidi example it produced an ArrayIndexOutOfBoundsException on midiIO.openInput(0,0); (line 18)
Looking up through the log I found that it didn't detect any input devices (though it should have found 2 IAC loopback devices)
I decided to plug in my midi interface to see if that would change anything, and instead it produced the same exception but at the line: midiIO = MidiIO.getInstance(this); (line 11), so it never even got a chance to print the devices.
I'm trying to figure out if this is a problem with my setup right now, or if it's a more general incompatibility problem. If promidi could be made to work with mmj it would be very useful for those of us trying to develop free cross-platform midi apps who don't want to trouble users with installing mandoline.
additv,
So, I encounted the exact same things you did. Basically, I don't see any inputs, but I do see my device listed as an output option.
Here's what I get as an error when I run the "promidi" example (which does more than simply print the list of devices):
Code:
printPorts of midiIO
<< inputs: >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
<< outputs: >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
output 0 : USB Trigger Finger - USB Trigger Finger
output 1 : Java Sound Synthesizer
<<>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
java.lang.ArrayIndexOutOfBoundsException: Array index out of range: 0
at java.util.Vector.get(Vector.java:710)
java.lang.ArrayIndexOutOfBoundsException: Array index out of range: 0
at java.util.Vector.get(Vector.java:710)
at promidi.MidiIO.openInput(MidiIO.java:311)
at promidi.MidiIO.openInput(MidiIO.java:311)
at Temporary_6964_8614.setup(Temporary_6964_8614.java:18)
at processing.core.PApplet.handleDisplay(PApplet.java:1244)
at processing.core.PGraphics.requestDisplay(PGraphics.java:564)
at processing.core.PApplet.run(PApplet.java:1413)
at java.lang.Thread.run(Thread.java:613)
at Temporary_6964_8614.setup(Temporary_6964_8614.java:18)
at processing.core.PApplet.handleDisplay(PApplet.java:1244)
at processing.core.PGraphics.requestDisplay(PGraphics.java:564)
at processing.core.PApplet.run(PApplet.java:1413)
at java.lang.Thread.run(Thread.java:613)
From what I can tell, it's a problem with proMidi simply not seeing the devices as inputs. I, however, was unable to run the MandoMidiTester.jar application to see if it was able to see the devices properly.
I agree that the benefit of using mmj would be the ease in developing cross-platform apps that on the Mac side don't require a 3rd party "driver" at an additional cost to get working.
Don't have much time now to poke around in the proMIDI source to try and identify the issue, but maybe someone else does who's fluent in Java, has a MIDI device, and is using an Intel Mac?