package org.herac.tuxguitar.io.midi.base; import java.util.ArrayList; import java.util.Collections; import java.util.Comparator; import java.util.List; public class MidiTrack { private long ticks; private List events = new ArrayList(); public void add(MidiEvent event) { this.events.add(event); this.ticks = Math.max(this.ticks,event.getTick()); } public MidiEvent get(int index){ return (MidiEvent)this.events.get(index); } public int size(){ return this.events.size(); } public long ticks(){ return this.ticks; } public void sort(){ final Comparator comparator = new Comparator() { @Override public int compare(Object o1, Object o2) { if(o1 instanceof MidiEvent && o2 instanceof MidiEvent){ MidiEvent e1 = (MidiEvent)o1; MidiEvent e2 = (MidiEvent)o2; if(e1.getTick() == e2.getTick()){ return 0; } return (e1.getTick() > e2.getTick() ? 1 : -1); } return 0; } }; Collections.sort(this.events,comparator); } }