#include <MidiData.h>
Inheritance diagram for TSE3::MidiData:
Public Member Functions | |
size_t | size () const |
MidiEvent const & | operator[] (size_t n) const |
size_t | index (Clock c) const |
virtual PlayableIterator * | iterator (Clock index) |
virtual Clock | lastClock () const |
Protected Member Functions | |
MidiData (int noEvents) | |
virtual | ~MidiData ()=0 |
MidiData & | operator= (const MidiData &) |
MidiData (const MidiData &) | |
Protected Attributes | |
std::vector< MidiEvent > | data |
Friends | |
class | PhraseEdit |
The MidiData class represents a list of in time order. It is an abstract base class, notably implemented by Phrase and PhraseEdit.
MidiData objects are not designed to be editable. Only the PhraseEdit class defines an editable MidiData object.
MidiData does not implement the Playable interface. This is for a very good reason: more than one Part may be using a given Phrase at the same time. The Playable interface doesn't provide an 'iterator' type so only one client can play a Playable at once. Therefore MidiData doesn't implement Playable. It's a piece of cake to use, anyway.
|
MidiData objects can only be created by PhraseEdit objects. |
|
|
|
|
|
Returns the number of in this MidiData object.
|
|
Returns the nth MidiEvent in this MidiData object. The value returned for an index that is out of range is undefined. The size method describes the valid values.
|
|
Returns the index of the first event that occurs after the given Clock.
|
|
Implements TSE3::Playable. |
|
Implements TSE3::Playable. |
|
|
|
Reimplemented in TSE3::Phrase. |
|
|