package org.herac.tuxguitar.io.gervill; import java.util.ArrayList; import java.util.List; import javax.sound.midi.MidiEvent; import org.herac.tuxguitar.player.base.MidiSequenceHandler; import org.herac.tuxguitar.song.models.TGTimeSignature; public class MidiSequenceHandlerImpl extends MidiSequenceHandler { private List<MidiEvent> events; public MidiSequenceHandlerImpl(int tracks) { super(tracks); this.events = new ArrayList<MidiEvent>(); } public void addControlChange(long tick, int track, int channel, int controller, int value) { this.events.add(new MidiEvent(MidiMessageUtils.controlChange(channel, controller, value), tick)); } public void addNoteOff(long tick, int track, int channel, int note, int velocity) { this.events.add(new MidiEvent(MidiMessageUtils.noteOff(channel, note, velocity), tick)); } public void addNoteOn(long tick, int track, int channel, int note, int velocity) { this.events.add(new MidiEvent(MidiMessageUtils.noteOn(channel, note, velocity), tick)); } public void addPitchBend(long tick, int track, int channel, int value) { this.events.add(new MidiEvent(MidiMessageUtils.pitchBend(channel, value), tick)); } public void addProgramChange(long tick, int track, int channel, int instrument) { this.events.add(new MidiEvent(MidiMessageUtils.programChange(channel, instrument), tick)); } public void addTempoInUSQ(long tick, int track, int usq) { this.events.add(new MidiEvent(MidiMessageUtils.tempoInUSQ(usq), tick)); } public void addTimeSignature(long tick, int track, TGTimeSignature ts) { this.events.add(new MidiEvent(MidiMessageUtils.timeSignature(ts), tick)); } public List<MidiEvent> getEvents() { return this.events; } public void notifyFinish() { // not implemented } }