Exemple #1
0
 @SuppressWarnings("rawtypes")
 private static void sortEvents(Vector evtList, Vector phrVct, SMFTools smf, Part part) {
   double startTime = 0.0;
   double[] currentLength = new double[100];
   Note[] curNote = new Note[100];
   int phrIndex = 0;
   // Go through evts
   for (int i = 0; i < evtList.size(); i++) {
     Event evt = (Event) evtList.elementAt(i);
     startTime += (double) evt.getTime() / (double) smf.getPPQN();
     if (evt.getID() == 007) {
       PChange pchg = (PChange) evt;
       part.setInstrument(pchg.getValue());
       // if this event is a NoteOn event go on
     } else if (evt.getID() == 005) {
       NoteOn noteOn = (NoteOn) evt;
       part.setChannel(noteOn.getMidiChannel());
       short pitch = noteOn.getPitch();
       int dynamic = noteOn.getVelocity();
       short midiChannel = noteOn.getMidiChannel();
       // if you're a true NoteOn
       if (dynamic > 0) {
         noteOn(
             phrIndex,
             curNote,
             smf,
             i,
             currentLength,
             startTime,
             phrVct,
             midiChannel,
             pitch,
             dynamic,
             evtList);
       }
     }
   }
 }