Base class representing an ARA region sequence. More...
#include <juce_ARAModelObjects.h>


Public Types | |
| using | Listener = ARARegionSequenceListener |
| using | PropertiesPtr = ARA::PlugIn::PropertiesPtr< ARA::ARARegionSequenceProperties > |
Public Member Functions | |
| void | addListener (ARARegionSequenceListener *l) |
Subscribe l to notified by changes to the object. | |
| ARAObject * | getChild (size_t index) override |
| Returns the child object associated with the given index. | |
| double | getCommonSampleRate () const |
| If all audio sources used by the playback regions in this region sequence have the same sample rate, this rate is returned here, otherwise 0.0 is returned. | |
| template<typename Document_t = ARADocument> | |
| Document_t * | getDocument () const noexcept |
| Returns the result of ARA::PlugIn::RegionSequence::getDocument() with the pointer cast to ARADocument*. | |
| template<typename MusicalContext_t = ARAMusicalContext> | |
| MusicalContext_t * | getMusicalContext () const noexcept |
| Returns the result of ARA::PlugIn::RegionSequence::getMusicalContext() with the pointer cast to ARAMusicalContext*. | |
| size_t | getNumChildren () const noexcept override |
| Returns the number of ARA model objects aggregated by this object. | |
| ARAObject * | getParent () override |
| Returns the ARA model object that aggregates this object. | |
| template<typename PlaybackRegion_t = ARAPlaybackRegion> | |
| const std::vector< PlaybackRegion_t * > & | getPlaybackRegions () const noexcept |
| Returns the result of ARA::PlugIn::RegionSequence::getPlaybackRegions() with the pointers within cast to ARAPlaybackRegion*. | |
| Range< double > | getTimeRange (ARAPlaybackRegion::IncludeHeadAndTail includeHeadAndTail=ARAPlaybackRegion::IncludeHeadAndTail::no) const |
| Returns the playback time range covered by the regions in this sequence. | |
| void | notifyListeners (Callback &&callback) |
| Call the provided callback for each of the added listeners. | |
| void | removeListener (ARARegionSequenceListener *l) |
Unsubscribe l from object notifications. | |
| template<typename Fn > | |
| void | traverse (Fn &&fn) |
| Implements a depth first traversal of the ARA model graph starting from the current object, and visiting its children recursively. | |
| void | visit (ARAObjectVisitor &visitor) override |
| Allows the retrieval of the concrete type of a model object. | |
Private Attributes | |
| ListenerList< ARARegionSequenceListener > | listeners |
| using juce::ARARegionSequence::PropertiesPtr = ARA::PlugIn::PropertiesPtr<ARA::ARARegionSequenceProperties> |
|
inlineinherited |
Subscribe l to notified by changes to the object.
| l | The listener instance. |
|
overridevirtual |
Returns the child object associated with the given index.
The index should be smaller than the value returned by getNumChildren().
Note that the index of a particular object may change when the ARA model graph is edited.
Implements juce::ARAObject.
| double juce::ARARegionSequence::getCommonSampleRate | ( | ) | const |
If all audio sources used by the playback regions in this region sequence have the same sample rate, this rate is returned here, otherwise 0.0 is returned.
If the region sequence has no playback regions, this also returns 0.0.
|
inlinenoexcept |
Returns the result of ARA::PlugIn::RegionSequence::getDocument() with the pointer cast to ARADocument*.
If you have overridden ARADocumentControllerSpecialisation::doCreateDocument(), then you can use the template parameter to cast the pointers to your subclass of ARADocument.
|
inlinenoexcept |
Returns the result of ARA::PlugIn::RegionSequence::getMusicalContext() with the pointer cast to ARAMusicalContext*.
If you have overridden ARADocumentControllerSpecialisation::doCreateMusicalContext(), then you can use the template parameter to cast the pointers to your subclass of ARAMusicalContext.
|
overridevirtualnoexcept |
Returns the number of ARA model objects aggregated by this object.
Objects that are merely referred to, but not aggregated by the current object are not included in this count, e.g. a referenced RegionSequence does not count as a child of the referring PlaybackRegion.
See the ARA documentation's ARA Model Graph Overview for more details.
Implements juce::ARAObject.
|
inlineoverridevirtual |
Returns the ARA model object that aggregates this object.
Returns nullptr for the ARADocument root object.
Implements juce::ARAObject.
|
inlinenoexcept |
Returns the result of ARA::PlugIn::RegionSequence::getPlaybackRegions() with the pointers within cast to ARAPlaybackRegion*.
If you have overridden ARADocumentControllerSpecialisation::doCreatePlaybackRegion(), then you can use the template parameter to cast the pointers to your subclass of ARAPlaybackRegion.
| Range< double > juce::ARARegionSequence::getTimeRange | ( | ARAPlaybackRegion::IncludeHeadAndTail | includeHeadAndTail = ARAPlaybackRegion::IncludeHeadAndTail::no | ) | const |
Returns the playback time range covered by the regions in this sequence.
| includeHeadAndTail | Whether or not the range includes the playback region's head and tail time. |
|
inlineinherited |
Call the provided callback for each of the added listeners.
|
inlineinherited |
Unsubscribe l from object notifications.
| l | The listener instance. |
Implements a depth first traversal of the ARA model graph starting from the current object, and visiting its children recursively.
The provided function should accept a single ARAObject& parameter.
References juce::ARAObject::getChild(), juce::ARAObject::getNumChildren(), and juce::ARAObject::traverse().
Referenced by juce::ARAObject::traverse().
|
inlineoverridevirtual |
Allows the retrieval of the concrete type of a model object.
To use this, create a new class derived from ARAObjectVisitor and override its functions depending on which concrete types you are interested in.
Calling this function inside the function passed to ARAObject::traverse() allows you to map the entire ARA model graph.
Implements juce::ARAObject.
References juce::ARAObjectVisitor::visitRegionSequence().
|
privateinherited |