>
Java and Midi Programs by Gerrit Gehnen
Based on the program "Wire" by Niels Gorisse and the "tritonus"-package by Matthias Pfisterer (see links) I wrote my own service provider for the Java Platform.

The service provider integrates seamless into the JRE. Simply copy two files to different directorys and additional devices will show up in the list returned by MidiSystem.GetDeviceInfo().

The sources of the JAR are developed with the free Netbeans IDE. The additional files are for the JAR-packager of Netbeans.

The sources of the DLL can be compiled with any C++ compiler for Windows. The free Borland C++-compiler will do the job.

UPDATE 05.Dec.2000: After the first release some people and I by myself found some bugs in the package. These caused some hangups at application termination, wrong sysex-communication and other problems. 
UPDATE 18.Dec.2000: Another improvement: Now it's possible to transfer large sysex-messages to external devices.
UPDATE 23.Jan.2001: Timestamps for incoming messages!
UPDATE 24.Apr.2001:
Thanks to Brian Klock for his contribution. Now WireProvider handles fragmented sysex-communication. See the his JSynthLib about it.
UPDATE 23.Oct.2002: The JDK1.4.1 delivers for the first time MIDI I/O under Windows. Unfortuneatly it has still some bugs, they will fixed with 1.4.2. See the following entries in the Bug Parade: ShortMessage may return bogus status byte
MIDI Input fails for large system exclusive messages
UPDATE 11.Jan.2004: Well, a long time since the last update. Actually the implementation in 1.4.2 has gotten much better, but some bugs are still there. So we have to wait for tiger (1.5.0) and still further for dragon (for the second bug....).
MidiMessage.getLength and .getData return wrong values.
override equals() method in info classes
There are workarounds avaliable, so I think, that WireProvider can retire someday.....

The Files
Binary package of the provider
Sources of the JAR-File for Netbeans
Sources of the DLL
Demo program: A simple patchbay
Links to other Sites handling Midi and Java
Wire - the base of the WireProvider
tritonus - another Provider (esp. for Linux)
Netbeans Java IDE
Borland Free C++
JSynthLib - the Synthesizer Patch Editor in Java
About me:
Name: Gerrit Gehnen
Email: Gerrit.Gehnen@gmx.de
1