com.frinika.sequencer.midi
Class MonitorReceiver

java.lang.Object
  extended by com.frinika.sequencer.midi.MonitorReceiver
All Implemented Interfaces:
javax.sound.midi.Receiver

public class MonitorReceiver
extends java.lang.Object
implements javax.sound.midi.Receiver

Allows to 'snoop' the data sent to a receiver, by passing data on to MidiMessageListeners. Note that instances of MidiMessageListener don't get directly connected to a MonitorReceiver (there are no addMidiMessageListener() / removeMidiMessageListener() methods on MonitorReceiver), but will be added to / removed from higher-level classes that use MonitorReceivers.

Author:
Jens Gulden
See Also:
MidiMessageListener

Field Summary
protected  javax.sound.midi.Receiver chained
           
protected  java.util.Collection<MidiMessageListener> listeners
           
 
Constructor Summary
MonitorReceiver(java.util.Collection<MidiMessageListener> listeners, javax.sound.midi.Receiver chained)
           
 
Method Summary
 void close()
           
protected  void notifyListeners(javax.sound.midi.MidiMessage message)
           
 void send(javax.sound.midi.MidiMessage message, long timeStamp)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

chained

protected javax.sound.midi.Receiver chained

listeners

protected java.util.Collection<MidiMessageListener> listeners
Constructor Detail

MonitorReceiver

public MonitorReceiver(java.util.Collection<MidiMessageListener> listeners,
                       javax.sound.midi.Receiver chained)
Method Detail

send

public void send(javax.sound.midi.MidiMessage message,
                 long timeStamp)
Specified by:
send in interface javax.sound.midi.Receiver

close

public void close()
Specified by:
close in interface javax.sound.midi.Receiver

notifyListeners

protected void notifyListeners(javax.sound.midi.MidiMessage message)