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 tickPosition
           
 
Constructor Summary
MidiPlayer()
           
 
Method Summary
 void addPortProvider(MidiPortProvider provider)
           
 void addSecuence()
          Agrega la Secuencia
 void addSequencerProvider(MidiSequencerProvider provider)
           
protected  void changeTickPosition()
           
 void close()
          Cierra el Secuenciador y Sintetizador
 void closePort()
           
 void closeSequencer()
           
protected  void finish()
           
 MidiInstrument[] getInstruments()
          Retorna una lista de instrumentos
 MidiPort getMidiPort()
          Retorna el Puerto Midi
 MidiPlayerMode getMode()
           
 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 isMidiPortOpen(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 listPorts()
           
 java.util.List listSequencers()
           
 boolean loadPort(MidiPort port)
           
 boolean loadSequencer(MidiSequencer sequencer)
           
 void openPort(java.util.List ports, boolean tryFirst)
           
 void openPort(java.lang.String key)
           
 void openSequencer(java.util.List sequencers, boolean tryFirst)
           
 void openSequencer(java.lang.String key)
           
 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 removePortProvider(MidiPortProvider 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

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()

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()

getMidiPort

public MidiPort getMidiPort()
Retorna el Puerto Midi


getSequencer

public MidiSequencer getSequencer()
Retorna el Sequenciador


loadSequencer

public boolean loadSequencer(MidiSequencer sequencer)

loadPort

public boolean loadPort(MidiPort port)

openPort

public void openPort(java.lang.String key)

openPort

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

openSequencer

public void openSequencer(java.lang.String key)

openSequencer

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

listPorts

public java.util.List listPorts()

listSequencers

public java.util.List listSequencers()

closeSequencer

public void closeSequencer()
                    throws MidiPlayerException
Throws:
MidiPlayerException

closePort

public void closePort()

isSequencerOpen

public boolean isSequencerOpen(java.lang.String key)

isMidiPortOpen

public boolean isMidiPortOpen(java.lang.String key)

addPortProvider

public void addPortProvider(MidiPortProvider provider)
                     throws MidiPlayerException
Throws:
MidiPlayerException

addSequencerProvider

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

removePortProvider

public void removePortProvider(MidiPortProvider provider)
                        throws MidiPlayerException
Throws:
MidiPlayerException

removeSequencerProvider

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