home *** CD-ROM | disk | FTP | other *** search
/ S283 Planetary Science &n…he Search for Life DVD 2 / DVD-ROM.iso / install / jre1_3 / lib / rt.jar / javax / sound / midi / Track.class (.txt) < prev    next >
Encoding:
Java Class File  |  1979-12-31  |  1.5 KB  |  82 lines

  1. package javax.sound.midi;
  2.  
  3. import java.util.Vector;
  4.  
  5. public class Track {
  6.    protected Vector events = new Vector();
  7.  
  8.    Track() {
  9.       MetaMessage var1 = new MetaMessage();
  10.  
  11.       try {
  12.          var1.setMessage(47, new byte[0], 0);
  13.       } catch (InvalidMidiDataException var3) {
  14.       }
  15.  
  16.       MidiEvent var2 = new MidiEvent(var1, 0L);
  17.       this.events.addElement(var2);
  18.    }
  19.  
  20.    public boolean add(MidiEvent var1) {
  21.       Vector var3 = this.events;
  22.       synchronized(var3) {
  23.          if (this.events.contains(var1)) {
  24.             return false;
  25.          } else {
  26.             if (var1.getMessage().getStatus() == 255) {
  27.                MetaMessage var4 = (MetaMessage)var1.getMessage();
  28.                if (var4.getType() == 47) {
  29.                   MidiEvent var5 = (MidiEvent)this.events.elementAt(this.events.size() - 1);
  30.                   if (var1.getTick() > var5.getTick()) {
  31.                      var5.setTick(var1.getTick());
  32.                   }
  33.  
  34.                   boolean var6 = true;
  35.                   return var6;
  36.                }
  37.             }
  38.  
  39.             if (this.events.size() == 0) {
  40.                this.events.addElement(var1);
  41.                boolean var10 = true;
  42.                return var10;
  43.             } else {
  44.                int var2;
  45.                for(var2 = this.events.size(); var2 > 0 && var1.getTick() < ((MidiEvent)this.events.elementAt(var2 - 1)).getTick(); --var2) {
  46.                }
  47.  
  48.                if (var2 == this.events.size()) {
  49.                   ((MidiEvent)this.events.elementAt(var2 - 1)).setTick(var1.getTick());
  50.                   this.events.insertElementAt(var1, var2 - 1);
  51.                } else {
  52.                   this.events.insertElementAt(var1, var2);
  53.                }
  54.  
  55.                boolean var9 = true;
  56.                return var9;
  57.             }
  58.          }
  59.       }
  60.    }
  61.  
  62.    public boolean remove(MidiEvent var1) {
  63.       Vector var2 = this.events;
  64.       synchronized(var2) {
  65.          boolean var3 = this.events.removeElement(var1);
  66.          return var3;
  67.       }
  68.    }
  69.  
  70.    public MidiEvent get(int var1) throws ArrayIndexOutOfBoundsException {
  71.       return (MidiEvent)this.events.elementAt(var1);
  72.    }
  73.  
  74.    public int size() {
  75.       return this.events.size();
  76.    }
  77.  
  78.    public long ticks() {
  79.       return ((MidiEvent)this.events.lastElement()).getTick();
  80.    }
  81. }
  82.