#include <Track.h>
Inheritance diagram for TSE3::Track:
Public Member Functions | |
Track () | |
virtual | ~Track () |
const std::string & | title () const |
void | setTitle (const std::string &s) |
MidiFilter * | filter () |
MidiParams * | params () |
DisplayParams * | displayParams () |
Song * | parent () const |
size_t | size () const |
Part * | operator[] (size_t n) const |
Part * | insert (Clock start, Clock end) |
void | insert (Part *part) |
void | remove (Part *part) |
void | remove (size_t index) |
size_t | numPartsBetween (Clock start, Clock end) |
int | operator< (const Track &t) const |
size_t | index (Clock c) const |
size_t | index (Part *part) const |
virtual void | Notifier_Deleted (Part *) |
virtual PlayableIterator * | iterator (Clock index) |
virtual Clock | lastClock () const |
virtual void | save (std::ostream &o, int i) const |
virtual void | load (std::istream &in, SerializableLoadInfo &info) |
virtual void | DisplayParams_Altered (DisplayParams *) |
Friends | |
class | Song |
A Track is a subunit of a Song. Many Tracks can exist in a Song and are played concurrently. You can imagine them to correspond to the different members of a band or orchestra.
Tracks contain a number of parameters that effect the way the musical data they contain is produced.
Tracks contain . They 'own' them, and so a Part's lifetime is bound to it's parent Track. are created by external agents - the user of the TSE3 library. Each Part has a well defined start and end time, and the Part objects in the Track may not overlap.
|
|
|
|
|
Read the Track title.
|
|
Set the Track title.
|
|
MidiFilter that affects how are produced by this Track.
|
|
The Track parameters.
|
|
The display parameters.
|
|
Returns a pointer to the parent Song that this Track has been inserted into. If this Track has not been inserted in a Song, this method returns zero.
|
|
The number of in this Track.
|
|
Return the Part at the given index The value returned for an index that is out of range is undefined. The size method describes the valid values.
|
|
Inserts a Part between the given times. The Track 'owns' this Part and will delete it when it is deleted. If the Part cannot be inserted (due to Part overlap) a TrackError will be thrown.
|
|
Inserts the given Part into the Track at the Part's times. This causes the Part to be 'owned' by the Track, it will be deleted when the Track is deleted. You may not pass a Part that has already been inserted into a different (or indeed the same) Track (the TrackError exception will be thrown). If the Part cannot be inserted (due to Part overlap) a TrackError will be thrown. If the Part has invalid times (i.e. start after end) then a TrackError will be thrown.
|
|
Remove the given Part. The Part will not be deleted, it is no longer considered to be 'owned' by the Track. If the Part is not in the Track then nothing will happen.
|
|
Remove the Part with the given index. The Part will not be deleted, it is no longer considered to be 'owned' by the Track. If the index is invalid then nothing will happen.
|
|
Returns the number of Part objects (or bits of Part objects) that exist in the Track between the given times.
|
|
This less than operation compares the Tracks' title strings. |
|
Returns the index of the first Part that occurs after the given Clock.
|
|
Returns the index of the specified Part (or size if not in this Track).
|
|
|
|
Implements TSE3::Playable. |
|
Implements TSE3::Playable. |
|
Reimplemented from TSE3::Serializable. |
|
Reimplemented from TSE3::Serializable. |
|
Reimplemented from TSE3::DisplayParamsListener. |
|
The Song class is a friend so that it can access the () method. |