be.hogent.tarsos.midi
Class MidiSequenceBuilder

java.lang.Object
  extended by be.hogent.tarsos.midi.MidiSequenceBuilder

public final class MidiSequenceBuilder
extends java.lang.Object

Utility class to generate a sequence of MIDI events.

Author:
Joren Six

Constructor Summary
MidiSequenceBuilder()
           
 
Method Summary
 void addNote(int midiKey, int numberOfTicks)
           
 void addNoteByAbsoluteCents(double absoluteCents, int numberOfTicks)
           
 void addNoteByDeviationInCents(int midiKey, int numberOfTicks, double deviationInCents)
           
 void addNoteByFrequency(double frequency, int numberOfTicks)
           
 void addSilence(int numberOfTicks)
           
static javax.sound.midi.MidiEvent createPitchBendEvent(double deviationInCents, int channel, int startTick)
           
static javax.sound.midi.MidiEvent createPitchBendEvent(int bendFactor, int channel, long startTick)
           
 void export(java.lang.String fileName)
          Write a midi file
 int getCurrentTicks()
           
 double getCurrentTime()
           
 void play()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

MidiSequenceBuilder

public MidiSequenceBuilder()
                    throws javax.sound.midi.InvalidMidiDataException
Throws:
javax.sound.midi.InvalidMidiDataException
Method Detail

getCurrentTicks

public int getCurrentTicks()

getCurrentTime

public double getCurrentTime()

addNote

public void addNote(int midiKey,
                    int numberOfTicks)

addSilence

public void addSilence(int numberOfTicks)

addNoteByFrequency

public void addNoteByFrequency(double frequency,
                               int numberOfTicks)

addNoteByAbsoluteCents

public void addNoteByAbsoluteCents(double absoluteCents,
                                   int numberOfTicks)

addNoteByDeviationInCents

public void addNoteByDeviationInCents(int midiKey,
                                      int numberOfTicks,
                                      double deviationInCents)

createPitchBendEvent

public static javax.sound.midi.MidiEvent createPitchBendEvent(double deviationInCents,
                                                              int channel,
                                                              int startTick)

export

public void export(java.lang.String fileName)
            throws java.io.IOException
Write a midi file

Parameters:
fileName -
Throws:
java.io.IOException

play

public void play()
          throws javax.sound.midi.MidiUnavailableException,
                 javax.sound.midi.InvalidMidiDataException
Throws:
javax.sound.midi.MidiUnavailableException
javax.sound.midi.InvalidMidiDataException

createPitchBendEvent

public static javax.sound.midi.MidiEvent createPitchBendEvent(int bendFactor,
                                                              int channel,
                                                              long startTick)