dguitar.players.sound.midi
Class MidiPlayer

java.lang.Object
  extended bydguitar.players.sound.midi.MidiPlayer
All Implemented Interfaces:
EventSettings, EventSoundPlayer, RealtimeSoundPlayer, SoundPlayer, TimerSettings

public class MidiPlayer
extends java.lang.Object
implements SoundPlayer, RealtimeSoundPlayer, EventSoundPlayer

Author:
crnash

Field Summary
private  java.lang.String className
           
(package private)  java.util.List listeners
           
(package private)  PerformanceLive live
           
private  java.util.logging.Logger logger
           
private  boolean noteEventsEnabled
           
(package private)  javax.sound.midi.Sequencer sequencer
           
private  int timerFrequency
           
 
Constructor Summary
MidiPlayer()
           
 
Method Summary
 void addEventListener(PerformanceEventListener listener)
           
 void addTimerListener(PerformanceTimerListener listener)
           
 void close()
           
 Performance createPerformance(int tracks, Tempo tempo, int resolution)
          Create a performance object that is compatible with this class of SoundPlayer.
 void enableNoteEvents(boolean enable)
           
 void setPerformance(Performance performance)
           
 void setTimerFrequency(int ppq)
           
 void start()
           
 void stop()
           
 void waitForCompletion()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

className

private java.lang.String className

logger

private java.util.logging.Logger logger

sequencer

javax.sound.midi.Sequencer sequencer

live

PerformanceLive live

listeners

java.util.List listeners

timerFrequency

private int timerFrequency

noteEventsEnabled

private boolean noteEventsEnabled
Constructor Detail

MidiPlayer

public MidiPlayer()
Method Detail

createPerformance

public Performance createPerformance(int tracks,
                                     Tempo tempo,
                                     int resolution)
Description copied from interface: SoundPlayer
Create a performance object that is compatible with this class of SoundPlayer.

Specified by:
createPerformance in interface SoundPlayer
Parameters:
tracks - the number of physical tracks in this performance
tempo - the tempo at which to play it
resolution - the resolution (in ticks per quarter note)
Returns:
the Performance object that was created

start

public void start()
Specified by:
start in interface SoundPlayer

stop

public void stop()
Specified by:
stop in interface RealtimeSoundPlayer

waitForCompletion

public void waitForCompletion()
Specified by:
waitForCompletion in interface RealtimeSoundPlayer

setPerformance

public void setPerformance(Performance performance)
Specified by:
setPerformance in interface SoundPlayer
Parameters:
performance -

close

public void close()
Specified by:
close in interface SoundPlayer

addTimerListener

public void addTimerListener(PerformanceTimerListener listener)
Specified by:
addTimerListener in interface RealtimeSoundPlayer
Parameters:
listener -

addEventListener

public void addEventListener(PerformanceEventListener listener)
Specified by:
addEventListener in interface EventSoundPlayer
Parameters:
listener -

setTimerFrequency

public void setTimerFrequency(int ppq)
Specified by:
setTimerFrequency in interface TimerSettings

enableNoteEvents

public void enableNoteEvents(boolean enable)
Specified by:
enableNoteEvents in interface EventSettings