#include <Part.h>
Inheritance diagram for TSE3::Part:
Public Member Functions | |
Part () | |
Part (Clock start, Clock end) | |
Part (const Part &p) | |
virtual | ~Part () |
Part & | operator= (const Part &) |
MidiFilter * | filter () |
MidiParams * | params () |
DisplayParams * | displayParams () |
Phrase * | phrase () const |
void | setPhrase (Phrase *p) |
Track * | parent () const |
Clock | start () const |
void | setStart (Clock c) |
Clock | end () const |
void | setEnd (Clock c) |
void | setStartEnd (Clock start, Clock end) |
Clock | repeat () const |
void | setRepeat (Clock r) |
virtual void | Notifier_Deleted (Phrase *phrase) |
virtual void | Phrase_Reparented (Phrase *) |
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 | MidiFilter_Altered (MidiFilter *, int what) |
virtual void | MidiParams_Altered (MidiParams *, int what) |
virtual void | DisplayParams_Altered (DisplayParams *) |
Friends | |
class | Track |
The Part class represents a placement of a Phrase in a Track. It holds a reference to the Phrase and the realtime parameters that affect how the Phrase sounds as it is played.
A Part can only exist in one Track at once.
Each Part has a start and end time, which it manages. Before you insert a Part in a Track ensure that you have set the appropriate times with setStart() and setEnd() or with the consolidated setStartEnd().
The Part has a object associated with it which may be used by an application to redraw the Part on screen (this use is optional). If you do use it, the Part DisplayParams should superceed any Phrase DisplayParams.
|
Creates a Part that uses no Phrase. Set the Phrase with the setPhrase method. The start and end points are set to a default. Set them with setStart and setEnd. |
|
Creates a Part that uses no Phrase and the given start and end points. |
|
|
|
|
|
|
|
MidiFilter that affects how are produced by this Part.
|
|
The Part parameters that affects how are produced by this Part.
|
|
The display parameters.
|
|
Returns the Phrase this Part uses (or 0 if there is no current Phrase).
|
|
Sets the Phrase this Part uses. The Phrase must be contained in the correct PhraseList for this operation to work. If the Phrase subequently is removed from a PhraseList the Part's Phrase pointer is reset. You may specify a value of 0 for "use no @ref Phrase".
|
|
Returns a pointer to the parent Track that this Part has been inserted into. If this Part has not been inserted in a Track, this method returns zero.
|
|
Returns the start time of this Part. This is meerly held for the convenience of the parent and is not used by the Part itself. In particular, it does not alter the relative times of the MidiEvents produced through the Playable interface: they remain relative to time zero.
|
|
Sets the start time of this Part. If the Part is inserted in a Track then the end time cannot be changed to before the start time. Note that if the Part is in a Track and the change would cause an exception to be thrown by the Track's insert method then that exception will propagate from this method. However you can be assured that if this happens the Part will be left with times set as they were when you called the method.
|
|
Returns the end time of this Part. This is meerly held for the convenience of the parent and is not used by the Part itself.
|
|
Sets the end time of this Part. If the Part is inserted in a Track then the end time cannot be changed to before the start time. Note that if the Part is in a Track and the change would cause an exception to be thrown by the Track's insert method then that exception will propagate from this method. However you can be assured that if this happens the Part will be left with times set as they were when you called the method.
|
|
Sets the start and end times of this Part. You may wish to use this when the Part is inserted in a Track and you want to move the Part in such a way that calling setStart or setEnd first would throw an exception. Note that if the Part is in a Track and the change would cause an exception to be thrown by the Track's insert method then that exception will propagate from this method. However you can be assured that if this happens the Part will be left with times set as they were when you called the method.
|
|
Returns the repeat time of this Part. A repeat time of zero means no repeat.
|
|
Sets the repeat time of this Part.
|
|
|
|
Reimplemented from TSE3::PhraseListener. |
|
Implements TSE3::Playable. |
|
Implements TSE3::Playable. |
|
Reimplemented from TSE3::Serializable. |
|
Reimplemented from TSE3::Serializable. |
|
Reimplemented from TSE3::MidiFilterListener. |
|
Reimplemented from TSE3::MidiParamsListener. |
|
Reimplemented from TSE3::DisplayParamsListener. |
|
The Track class is a friend so that it can access the () method. |