javaDAW - Java Sequencer for MIDI File playing and manipulating

Download the Midi Engine
midiEngine.java

Download the ASIO Audio Engine
asioChannel.java

Download the JAVA Audio Engine
audioChannel.java

Download the Mixing class for ASIO
mixas.java

Download the Mixing class for JAVA sound
mixau.java

Download the VST class used in the Thread
runVST.java

Download a class for write a buffer to a WAV file
writeAudio.java

Download a class for reading a WAV file into a buffer
readAudio.java

The classes are not generic but are retreived directly from javaDAW. Howerever they give a lot of information about how things are solved.

For the midiEngine use:

midiengine.initMIDI();
midiengine.initSeq(endOfTrack);
midiengine.loadMidi();
midiengine.startMidi();
midiengine.stopMidi();