#include <Playable.h>
Inheritance diagram for TSE3::Playable:
Public Member Functions | |
Playable () | |
virtual | ~Playable () |
virtual PlayableIterator * | iterator (Clock index)=0 |
virtual Clock | lastClock () const=0 |
Protected Member Functions | |
Playable & | operator= (const Playable &) |
Playable (const Playable &) |
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.
|
|
|
|
|
|
|
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.
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. |
|
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.
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. |
|
|