Main Page | Namespace List | Class Hierarchy | Alphabetical List | Compound List | File List | Namespace Members | Compound Members | File Members

TSE3::Playable Class Reference

A 'playable' object interface. More...

#include <Playable.h>

Inheritance diagram for TSE3::Playable:

Inheritance graph
[legend]
Collaboration diagram for TSE3::Playable:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 Playable ()
virtual ~Playable ()
virtual PlayableIteratoriterator (Clock index)=0
virtual Clock lastClock () const=0

Protected Member Functions

Playableoperator= (const Playable &)
 Playable (const Playable &)

Detailed Description

A 'playable' object interface.

The interface that an object that can produce must implement. Playable objects allow a 'player' to get an iterator that will produce all the in the object. Each implementation of Playable will therefore also supply an implementation of PlayableIterator which is accesed via the iterator() method.

Since all Song components implement the Playable interface, this is an application of the 'Composite' pattern from the GoF book.

Author:
Pete Goodliffe
Version:
3.00
See also:
PlayableIterator


Constructor & Destructor Documentation

TSE3::Playable::Playable  )  [inline]
 

virtual TSE3::Playable::~Playable  )  [inline, virtual]
 

TSE3::Playable::Playable const Playable  )  [protected]
 


Member Function Documentation

virtual PlayableIterator* TSE3::Playable::iterator Clock  index  )  [pure virtual]
 

Creates a new PlayableIterator object and passes it to you ready to iterate over the in this object.

It is the user's responsibility to delete it.

Parameters:
index The time at which to position the iterator
Returns:
New PlayableIterator that emits MidiEvent data contained in this object - you must delete the PlayableIterator when you have finished with it.

Implemented in TSE3::FlagTrack, TSE3::KeySigTrack, TSE3::Metronome, TSE3::MidiData, TSE3::MidiFileImport, TSE3::MidiParams, TSE3::Panic, TSE3::Part, TSE3::RepeatTrack, TSE3::Song, TSE3::TempoTrack, TSE3::TimeSigTrack, and TSE3::Track.

virtual Clock TSE3::Playable::lastClock  )  const [pure virtual]
 

Returns the last Clock value that will be returned by this Playable object. Since all are delivered in strict order, this will also be the greatest Clock value returned by this Playable object.

Returns:
The last Clock value in the object

Implemented in TSE3::FlagTrack, TSE3::KeySigTrack, TSE3::Metronome, TSE3::MidiData, TSE3::MidiFileImport, TSE3::MidiParams, TSE3::Panic, TSE3::Part, TSE3::RepeatTrack, TSE3::Song, TSE3::TempoTrack, TSE3::TimeSigTrack, and TSE3::Track.

Playable& TSE3::Playable::operator= const Playable  )  [protected]
 


The documentation for this class was generated from the following file:
Generated on Wed May 25 14:46:52 2005 for TSE3 by doxygen 1.3.2