TrackMerger


The TrackMerger class is slightly unusual in that it has no non-static members, so there's not much point in instantiating one. But the static member function of TrackMerger allows several tracks to be merged into one track.

template <class T>
class TrackMerger {
public:
  typedef UtilArray<T> TrackRep;
  typedef UtilPtr<TrackRep> TrackRepPtr;
  typedef UtilArray<TrackRepPtr> TrackRepPtrArray;
  typedef UtilPtr<TrackRepPtrArray> TrackRepPtrArrayPtr;
  static TrackRepPtr merge(TrackRepPtrArrayPtr);
};
static TrackRepPtr merge(TrackRepPtrArrayPtr)
This static member function takes a pointer to an array of pointers to arrays of T (where T should be MidiMsg or a subclass of MidiMsg) an merges them into a single track, based on the time member of each MidiMsg.

Modified 23 October 1995 pepellet@mit.edu