Class: TMIDITrack

Declaration: MIDISequence.h

Taxonomy Categories:

Member Functions:


Interface Category:

API.

Inherits From:

MCollectible

Inherited By:

None.

Purpose:

Collects the TMIDIPacket objects of a MIDI track. Packets are sorted in order of increasing time stamp, where the start of the track is defined as time 0, and all time stamps are measured from the start of the track.

Instantiation:

Allocate on the heap or the stack. Normally allocated on the heap so TMIDIPlayer can adopt the track.

Deriving Classes:

Override to provide additional functionality.

Concurrency:

Not multithread safe.

Resource Use:

No special requirements. Owns the storage for its TMIDIPacket objects.

Member Function: TMIDITrack::TMIDITrack

  1. TMIDITrack ()
  2. TMIDITrack (const TMIDITrack &)

Interface Category:

API.

Purpose:

  1. Default constructor.
  2. Copy constructor.

Calling Context:

  1. Called by the stream-in operators and to create an empty track.
  2. Call this function directly.

Parameters:

Return Value:

None.

Exceptions:

Throws no exceptions, passes all exceptions through.

Concurrency:

Not multithread safe.

Other Considerations:

None.

Member Function: TMIDITrack::operator=

TMIDITrack & operator =(const TMIDITrack &)

Interface Category:

API.

Purpose:

Assignment operator.

Calling Context:

Call this function directly.

Parameters:

Return Value:

A non-const reference to the left-hand side object.

Exceptions:

Throws no exceptions, passes all exceptions through.

Concurrency:

Not multithread safe.

Other Considerations:

None.

Member Function: TMIDITrack::~TMIDITrack

virtual ~ TMIDITrack ()

Interface Category:

API.

Purpose:

Destructor.

Calling Context:

Call this function directly.

Parameters:

Return Value:

None.

Exceptions:

Throws no exceptions, passes all exceptions through.

Concurrency:

Not multithread safe.

Other Considerations:

None.

Member Function: TMIDITrack::CreateSubtrack

virtual TMIDITrack * CreateSubtrack (const TMediaRange &) const

Interface Category:

API.

Purpose:

Creates a new track of packets within the given range. Does not include unpaired Note On and Note Off messages.

Calling Context:

Call this function directly.

Parameters:

Return Value:

The new track object.

Exceptions:

Throws no exceptions, passes all exceptions through.

Concurrency:

Not multithread safe.

Other Considerations:

None.

Member Function: TMIDITrack::CreateSequenceIterator

virtual TSequenceOfIterator < TMIDIPacket > * CreateSequenceIterator () const

Interface Category:

API.

Purpose:

Iterates over TMIDIPacket objects in the track.

Calling Context:

Call this function directly.

Parameters:

Return Value:

A pointer to an allocated iterator.

Exceptions:

Throws no exceptions, passes all exceptions through.

Concurrency:

Not multithread safe.

Other Considerations:

None.

Member Function: TMIDITrack::Adopt

virtual void Adopt (TMIDIPacket *)

Interface Category:

API.

Purpose:

Adopts a TMIDIPacket object in the track in its time stamp position.

Calling Context:

Call this function directly.

Parameters:

Return Value:

None.

Exceptions:

Throws no exceptions, passes all exceptions through.

Concurrency:

Not multithread safe.

Other Considerations:

None.

Member Function: TMIDITrack::Orphan

virtual void Orphan (const TMIDIPacket &)

Interface Category:

API.

Purpose:

Orphans a TMIDIPacket object from the track.

Calling Context:

Call this function directly.

Parameters:

Return Value:

None.

Exceptions:

Throws TMIDIException::kPacketNotFound if the packet is not in the track.

Concurrency:

Not multithread safe.

Other Considerations:

None.

Member Function: TMIDITrack::OrphanAll

virtual void OrphanAll ()

Interface Category:

API.

Purpose:

Orphans all TMIDIPacket objects in the track.

Calling Context:

Call this function directly.

Parameters:

Return Value:

None.

Exceptions:

Throws no exceptions, passes all exceptions through.

Concurrency:

Not multithread safe.

Other Considerations:

None.

Member Function: TMIDITrack::Count

virtual long Count () const

Interface Category:

API.

Purpose:

Counts the track's TMIDIPacket objects.

Calling Context:

Call this function directly.

Parameters:

Return Value:

The number of TMIDIPacket objects.

Exceptions:

Throws no exceptions, passes all exceptions through.

Concurrency:

Not multithread safe.

Other Considerations:

None.

Member Function: TMIDITrack::Member

virtual TMIDIPacket * Member (const TMIDIPacket &) const

Interface Category:

API.

Purpose:

Determines if the packet is in the track.

Calling Context:

Call this function directly.

Parameters:

Return Value:

A pointer to the packet if found or NIL.

Exceptions:

Throws no exceptions, passes all exceptions through.

Concurrency:

Not multithread safe.

Other Considerations:

Calls TMIDIPacket::IsEqual for comparison.

Member Function: TMIDITrack::Before

virtual TMIDIPacket * Before (const TMIDIPacket &) const

Interface Category:

API.

Purpose:

Accesses the packet before a given packet.

Calling Context:

Call this function directly.

Parameters:

Return Value:

A pointer to the packet before the reference packet or NIL if there isn't one.

Exceptions:

Throws TMIDIException::kPacketNotFound if the packet is not in the track.

Concurrency:

Not multithread safe.

Other Considerations:

Calls TMIDIPacket::IsEqual for comparison.

Member Function: TMIDITrack::After

virtual TMIDIPacket * After (const TMIDIPacket &) const

Interface Category:

API.

Purpose:

Accesses the packet after a given packet.

Calling Context:

Call this function directly.

Parameters:

Return Value:

A pointer to the packet after the reference packet or NIL if there isn't one.

Exceptions:

Throws TMIDIException::kPacketNotFound if the packet is not in the track.

Concurrency:

Not multithread safe.

Other Considerations:

Calls TMIDIPacket::IsEqual for comparison.

Member Function: TMIDITrack::First

virtual TMIDIPacket * First () const

Interface Category:

API.

Purpose:

Accesses the first packet in the track.

Calling Context:

Call this function directly.

Parameters:

Return Value:

A pointer to the first packet or NIL.

Exceptions:

Throws no exceptions, passes all exceptions through.

Concurrency:

Not multithread safe.

Other Considerations:

None.

Member Function: TMIDITrack::Last

virtual TMIDIPacket * Last () const

Interface Category:

API.

Purpose:

Accesses the last packet in the track.

Calling Context:

Call this function directly.

Parameters:

Return Value:

A pointer to the last packet in the track or NIL.

Exceptions:

Throws no exceptions, passes all exceptions through.

Concurrency:

Not multithread safe.

Other Considerations:

None.

Member Function: TMIDITrack::Hash

virtual long Hash () const

Interface Category:

API.

Purpose:

Determines a hash value for collections.

Calling Context:

Call this function directly.

Parameters:

Return Value:

The hash value.

Exceptions:

Throws no exceptions, passes all exceptions through.

Concurrency:

Not multithread safe.

Other Considerations:

None.

Member Function: TMIDITrack::operator>>=

virtual TStream & operator >>=(TStream & toWhere) const

Interface Category:

API.

Purpose:

Stream-out operator.

Calling Context:

Call this function directly.

Parameters:

Return Value:

Returns a reference to the stream the object streams itself out to.

Exceptions:

Throws no exceptions, passes all exceptions through.

Concurrency:

Not multithread safe.

Other Considerations:

None.

Member Function: TMIDITrack::operator<<=

virtual TStream & operator <<= (TStream & fromWhere)

Interface Category:

API.

Purpose:

Stream-in operator.

Calling Context:

Call this function directly.

Parameters:

Return Value:

Returns a reference to the stream the object streams itself in from.

Exceptions:

Throws TInvalidVersionError if the versions don't match.

Concurrency:

Not multithread safe.

Other Considerations:

None.
Click the icon to mail questions or corrections about this material to Taligent personnel.
Copyright©1995 Taligent,Inc. All rights reserved.