home *** CD-ROM | disk | FTP | other *** search
- package javax.sound.midi;
-
- import java.util.Vector;
-
- public class Track {
- protected Vector events = new Vector();
-
- Track() {
- MetaMessage var1 = new MetaMessage();
-
- try {
- var1.setMessage(47, new byte[0], 0);
- } catch (InvalidMidiDataException var3) {
- }
-
- MidiEvent var2 = new MidiEvent(var1, 0L);
- this.events.addElement(var2);
- }
-
- public boolean add(MidiEvent var1) {
- Vector var3 = this.events;
- synchronized(var3) {
- if (this.events.contains(var1)) {
- return false;
- } else {
- if (var1.getMessage().getStatus() == 255) {
- MetaMessage var4 = (MetaMessage)var1.getMessage();
- if (var4.getType() == 47) {
- MidiEvent var5 = (MidiEvent)this.events.elementAt(this.events.size() - 1);
- if (var1.getTick() > var5.getTick()) {
- var5.setTick(var1.getTick());
- }
-
- boolean var6 = true;
- return var6;
- }
- }
-
- if (this.events.size() == 0) {
- this.events.addElement(var1);
- boolean var10 = true;
- return var10;
- } else {
- int var2;
- for(var2 = this.events.size(); var2 > 0 && var1.getTick() < ((MidiEvent)this.events.elementAt(var2 - 1)).getTick(); --var2) {
- }
-
- if (var2 == this.events.size()) {
- ((MidiEvent)this.events.elementAt(var2 - 1)).setTick(var1.getTick());
- this.events.insertElementAt(var1, var2 - 1);
- } else {
- this.events.insertElementAt(var1, var2);
- }
-
- boolean var9 = true;
- return var9;
- }
- }
- }
- }
-
- public boolean remove(MidiEvent var1) {
- Vector var2 = this.events;
- synchronized(var2) {
- boolean var3 = this.events.removeElement(var1);
- return var3;
- }
- }
-
- public MidiEvent get(int var1) throws ArrayIndexOutOfBoundsException {
- return (MidiEvent)this.events.elementAt(var1);
- }
-
- public int size() {
- return this.events.size();
- }
-
- public long ticks() {
- return ((MidiEvent)this.events.lastElement()).getTick();
- }
- }
-