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.