1 package org.herac.tuxguitar.io.midi.base;
2 
3 import java.util.ArrayList;
4 import java.util.Collections;
5 import java.util.Comparator;
6 import java.util.List;
7 
8 public class MidiTrack {
9 
10 	private long ticks;
11 	private List events = new ArrayList();
12 
add(MidiEvent event)13 	public void add(MidiEvent event) {
14 		this.events.add(event);
15 		this.ticks = Math.max(this.ticks,event.getTick());
16 	}
17 
get(int index)18 	public MidiEvent get(int index){
19 		return (MidiEvent)this.events.get(index);
20 	}
21 
size()22 	public int size(){
23 		return this.events.size();
24 	}
25 
ticks()26 	public long ticks(){
27 		return this.ticks;
28 	}
29 
sort()30 	public void sort(){
31 		final Comparator comparator = new Comparator() {
32 			public int compare(Object o1, Object o2) {
33 				if(o1 instanceof MidiEvent && o2 instanceof MidiEvent){
34 					MidiEvent e1 = (MidiEvent)o1;
35 					MidiEvent e2 = (MidiEvent)o2;
36 					if(e1.getTick() == e2.getTick()){
37 						return 0;
38 					}
39 					return (e1.getTick() > e2.getTick() ? 1 : -1);
40 				}
41 				return 0;
42 			}
43 		};
44 		Collections.sort(this.events,comparator);
45 	}
46 }
47