org.herac.tuxguitar.player.base
Class MidiPlayer

java.lang.Object
  extended by org.herac.tuxguitar.player.base.MidiPlayer

public class MidiPlayer
extends java.lang.Object


Field Summary
protected  TGLock lock
           
static int MAX_VOLUME
           
protected  boolean starting
           
protected  long tickLength
           
protected  long tickPosition
           
 
Constructor Summary
MidiPlayer()
           
 
Method Summary
 void addOutputPortProvider(MidiOutputPortProvider provider)
           
 void addOutputPortProvider(MidiOutputPortProvider provider, boolean tryFirst)
           
 void addSecuence()
          Agrega la Secuencia
 void addSequencerProvider(MidiSequencerProvider provider)
           
 void addSequencerProvider(MidiSequencerProvider provider, boolean tryFirst)
           
protected  void changeTickPosition()
           
 void checkOutput()
           
 void close()
          Cierra el Secuenciador y Sintetizador
 void closeOutputPort()
           
 void closeSequencer()
           
protected  void finish()
           
 MidiInstrument[] getInstruments()
          Retorna una lista de instrumentos
 MidiPlayerMode getMode()
           
 MidiOutputPort getOutputPort()
          Retorna el Puerto Midi
 MidiTransmitter getOutputTransmitter()
           
 MidiPercussion[] getPercussions()
          Retorna una lista de instrumentos
 MidiSequencer getSequencer()
          Retorna el Sequenciador
 long getTickPosition()
          Retorna el tick de la nota que esta reproduciendo
 int getVolume()
           
 void init(TGSongManager songManager)
          Inicia el Secuenciador y Sintetizador
protected  boolean isChangeTickPosition()
          Retorna True si hay cambios en la posicion
 boolean isMetronomeEnabled()
           
 boolean isOutputPortOpen(java.lang.String key)
           
 boolean isPaused()
           
 boolean isRunning()
          Retorna True si esta reproduciendo
 boolean isSequencerOpen(java.lang.String key)
           
protected  boolean isStarting()
           
 java.util.List listOutputPorts()
           
 java.util.List listSequencers()
           
 boolean loadOutputPort(MidiOutputPort port)
           
 boolean loadSequencer(MidiSequencer sequencer)
           
 void openOutputPort(java.util.List ports, boolean tryFirst)
           
 void openOutputPort(java.lang.String key)
           
 void openOutputPort(java.lang.String key, boolean tryFirst)
           
 void openSequencer(java.util.List sequencers, boolean tryFirst)
           
 void openSequencer(java.lang.String key)
           
 void openSequencer(java.lang.String key, boolean tryFirst)
           
 void pause()
           
 void play()
          Inicia la reproduccion
 void playBeat(int channel, int program, int volume, int balance, int chorus, int reverb, int phaser, int tremolo, int[][] beat)
           
 void playBeat(int channel, int program, int volume, int balance, int chorus, int reverb, int phaser, int tremolo, int[][] beat, long duration, int interval)
           
 void playBeat(TGTrack track, java.util.List notes)
           
 void removeOutputPortProvider(MidiOutputPortProvider provider)
           
 void removeSequencerProvider(MidiSequencerProvider provider)
           
 void reset()
          Resetea los valores
 void setMetronomeEnabled(boolean metronomeEnabled)
           
 void setPaused(boolean paused)
           
 void setRunning(boolean running)
          Asigna el valor a running
protected  void setStarting(boolean starting)
           
 void setTickPosition(long position)
          Indica la posicion del secuenciador
 void setVolume(int volume)
           
 void stop()
          Para la reproduccion
 void stop(boolean paused)
          Para la reproduccion
 void systemReset()
           
 void updateControllers()
           
 void updatePrograms()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

MAX_VOLUME

public static final int MAX_VOLUME
See Also:
Constant Field Values

tickLength

protected long tickLength

tickPosition

protected long tickPosition

starting

protected boolean starting

lock

protected TGLock lock
Constructor Detail

MidiPlayer

public MidiPlayer()
Method Detail

init

public void init(TGSongManager songManager)
Inicia el Secuenciador y Sintetizador

Throws:
MidiUnavailableException

getInstruments

public MidiInstrument[] getInstruments()
Retorna una lista de instrumentos


getPercussions

public MidiPercussion[] getPercussions()
Retorna una lista de instrumentos


reset

public void reset()
Resetea los valores


close

public void close()
Cierra el Secuenciador y Sintetizador

Throws:
MidiUnavailableException

stop

public void stop(boolean paused)
Para la reproduccion

Throws:
MidiUnavailableException

stop

public void stop()
Para la reproduccion

Throws:
MidiUnavailableException

pause

public void pause()

play

public void play()
          throws MidiPlayerException
Inicia la reproduccion

Throws:
MidiPlayerException
MidiUnavailableException

finish

protected void finish()

checkOutput

public void checkOutput()
                 throws java.lang.Throwable
Throws:
java.lang.Throwable

getVolume

public int getVolume()

setVolume

public void setVolume(int volume)

isStarting

protected boolean isStarting()

setStarting

protected void setStarting(boolean starting)

setRunning

public void setRunning(boolean running)
Asigna el valor a running


isRunning

public boolean isRunning()
Retorna True si esta reproduciendo


isPaused

public boolean isPaused()

setPaused

public void setPaused(boolean paused)

isChangeTickPosition

protected boolean isChangeTickPosition()
Retorna True si hay cambios en la posicion


setTickPosition

public void setTickPosition(long position)
Indica la posicion del secuenciador

Throws:
MidiUnavailableException

getTickPosition

public long getTickPosition()
Retorna el tick de la nota que esta reproduciendo


changeTickPosition

protected void changeTickPosition()

systemReset

public void systemReset()

addSecuence

public void addSecuence()
Agrega la Secuencia

Throws:
MidiUnavailableException

updatePrograms

public void updatePrograms()

updateControllers

public void updateControllers()

isMetronomeEnabled

public boolean isMetronomeEnabled()

setMetronomeEnabled

public void setMetronomeEnabled(boolean metronomeEnabled)

playBeat

public void playBeat(TGTrack track,
                     java.util.List notes)

playBeat

public void playBeat(int channel,
                     int program,
                     int volume,
                     int balance,
                     int chorus,
                     int reverb,
                     int phaser,
                     int tremolo,
                     int[][] beat)

playBeat

public void playBeat(int channel,
                     int program,
                     int volume,
                     int balance,
                     int chorus,
                     int reverb,
                     int phaser,
                     int tremolo,
                     int[][] beat,
                     long duration,
                     int interval)

getMode

public MidiPlayerMode getMode()

getOutputTransmitter

public MidiTransmitter getOutputTransmitter()

getOutputPort

public MidiOutputPort getOutputPort()
Retorna el Puerto Midi


getSequencer

public MidiSequencer getSequencer()
Retorna el Sequenciador


loadSequencer

public boolean loadSequencer(MidiSequencer sequencer)

loadOutputPort

public boolean loadOutputPort(MidiOutputPort port)

openOutputPort

public void openOutputPort(java.lang.String key)

openOutputPort

public void openOutputPort(java.lang.String key,
                           boolean tryFirst)

openOutputPort

public void openOutputPort(java.util.List ports,
                           boolean tryFirst)

openSequencer

public void openSequencer(java.lang.String key)

openSequencer

public void openSequencer(java.lang.String key,
                          boolean tryFirst)

openSequencer

public void openSequencer(java.util.List sequencers,
                          boolean tryFirst)
                   throws MidiPlayerException
Throws:
MidiPlayerException

listOutputPorts

public java.util.List listOutputPorts()

listSequencers

public java.util.List listSequencers()

closeSequencer

public void closeSequencer()
                    throws MidiPlayerException
Throws:
MidiPlayerException

closeOutputPort

public void closeOutputPort()

isSequencerOpen

public boolean isSequencerOpen(java.lang.String key)

isOutputPortOpen

public boolean isOutputPortOpen(java.lang.String key)

addOutputPortProvider

public void addOutputPortProvider(MidiOutputPortProvider provider)
                           throws MidiPlayerException
Throws:
MidiPlayerException

addOutputPortProvider

public void addOutputPortProvider(MidiOutputPortProvider provider,
                                  boolean tryFirst)
                           throws MidiPlayerException
Throws:
MidiPlayerException

addSequencerProvider

public void addSequencerProvider(MidiSequencerProvider provider)
                          throws MidiPlayerException
Throws:
MidiPlayerException

addSequencerProvider

public void addSequencerProvider(MidiSequencerProvider provider,
                                 boolean tryFirst)
                          throws MidiPlayerException
Throws:
MidiPlayerException

removeOutputPortProvider

public void removeOutputPortProvider(MidiOutputPortProvider provider)
                              throws MidiPlayerException
Throws:
MidiPlayerException

removeSequencerProvider

public void removeSequencerProvider(MidiSequencerProvider provider)
                             throws MidiPlayerException
Throws:
MidiPlayerException