fi.jyu.mit.Music
Class ThreadedMidiPlayer

java.lang.Object
  extended by fi.jyu.mit.Music.MidiPlayer
      extended by fi.jyu.mit.Music.ThreadedMidiPlayer
All Implemented Interfaces:
BasicMidiPlayer

public class ThreadedMidiPlayer
extends MidiPlayer
implements BasicMidiPlayer

Tarjoaa nuottien rinnakkaisen toistomahdollisuuden, jossa toistot tapahtuvat eri säikeissä, mikä mahdollistaa ns. ääniraitojen teon kutsumalla montaa eri play-komentoa samanaikaisesti.


Nested Class Summary
 
Nested classes/interfaces inherited from class fi.jyu.mit.Music.MidiPlayer
MidiPlayer.NoteDuration
 
Field Summary
 
Fields inherited from class fi.jyu.mit.Music.MidiPlayer
ALLNOTES, basicNotes, basicNotes2, channels, currentChannel, DEFOCTAVE, DEFVELOCITY, DELAYST, instruments, synth
 
Constructor Summary
ThreadedMidiPlayer()
           
 
Method Summary
 void begin()
          Käynnistää soittajan.
 void end()
          Lopettaa soiton ja pysäyttää kaikki säikeet.
protected  fi.jyu.mit.Music.ThreadedMidiPlayer.SoundProducer getFreeProducer()
           
 void play(String sequence, double length, int octave, int velocity)
          Toistaa saamansa nuotit samanaikaisesti.
 void playChord(String chord, double length, int octave, int velocity)
          Toistaa kaiken samanaikaisesti kuten play-metodissa mutta tauot jätetään huomioimatta.
 void rest()
           
 
Methods inherited from class fi.jyu.mit.Music.MidiPlayer
channelOff, channelOn, checkSynth, error, getBeatLength, getDefOctave, getInstrument, getInstrumentIndex, getNotes, getTempo, getVelocity, init, isVerbose, makeNote, makeNote, message, midiEndNote, midiSoundNote, midiStartNote, play, play, play, play, playAsciiFile, playMidiFile, playMidiFileAsync, playSingleNote, playSingleNote, playSingleNote, playSingleNote, printInstruments, printSequence, rest, selectChannel, setDefOctave, setInstrument, setInstrument, setTempo, setVelocity, setVerbose
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface fi.jyu.mit.Music.BasicMidiPlayer
play, play, play, play, playSingleNote, playSingleNote, playSingleNote, playSingleNote, setTempo
 

Constructor Detail

ThreadedMidiPlayer

public ThreadedMidiPlayer()
Method Detail

begin

public void begin()
Käynnistää soittajan. Tämän kutsuminen on välttämätäntä, jotta nuotit soisivat.


end

public void end()
Lopettaa soiton ja pysäyttää kaikki säikeet.


play

public void play(String sequence,
                 double length,
                 int octave,
                 int velocity)
Toistaa saamansa nuotit samanaikaisesti. Parametrilla "AAA AAA" soitetaan ensiksi kolme samanaikaista A-nuottia jonka jälkeen on pituuden määräämä tauko, jonka jälkeen soitetaan loput AAA. Soitto aloitetaan heti.

Specified by:
play in interface BasicMidiPlayer
Overrides:
play in class MidiPlayer
Parameters:
sequence - Nuotit merkkijonona, jonossa olevat välilyönnit ja | eivät haittaa kunhan niitä ei laiteta nuotin sisälle
length - Yksittäisen nuotin kesto, tähän suhteutetaan muut jonon nuotit
octave - Oletusoktaavi. Jos nuotille ei ole omaa oktaavia, käytettään tätä
velocity - voimakkuus, 64 on normaali

playChord

public void playChord(String chord,
                      double length,
                      int octave,
                      int velocity)
Toistaa kaiken samanaikaisesti kuten play-metodissa mutta tauot jätetään huomioimatta.

Parameters:
chord - Sointu, esim. "C5E5G5"
length - Soinnun pituus tahdin desimaaliosana (0.25 = neljäsosanuotti)
octave - Soinnun oletusoktaavi. Jos chord-parametrissä on nuotteja, joissa ei ole oktaavia määriteltynä, käyttää soitin tätä oktaavia.
velocity - voimakkuus

rest

public void rest()

getFreeProducer

protected fi.jyu.mit.Music.ThreadedMidiPlayer.SoundProducer getFreeProducer()