--- /dev/null
+import java.util.PriorityQueue;\r
+import javax.sound.midi.*;\r
+import javax.sound.midi.MidiMessage.*;\r
+\r
+class MIDIMessageReceiver implements Receiver\r
+{\r
+ private PriorityQueue<MidiMessage> messages;\r
+ \r
+ MIDIMessageReceiver()\r
+ {\r
+ messages = new PriorityQueue<MidiMessage>();\r
+ }\r
+ \r
+ public void send(MidiMessage message, long timeStamp)\r
+ {\r
+ messages.add(message);\r
+ }\r
+ \r
+ public boolean hasReceived()\r
+ {\r
+ return (messages.size() != 0);\r
+ }\r
+\r
+ public MidiMessage receive()\r
+ {\r
+ return messages.poll();\r
+ }\r
+ \r
+ public void close()\r
+ {\r
+ \r
+ }\r
+}\r