|
LMMS
|
#include <juce_ARAModelObjects.h>
Public Member Functions | |
| virtual | ~ARAObject ()=default |
| virtual size_t | getNumChildren () const noexcept=0 |
| virtual ARAObject * | getChild (size_t index)=0 |
| virtual ARAObject * | getParent ()=0 |
| template<typename Fn> | |
| void | traverse (Fn &&fn) |
| virtual void | visit (ARAObjectVisitor &visitor)=0 |
Common base class for all JUCE ARA model objects to aid with the discovery and traversal of the entire ARA model graph.
@tags{ARA}
|
virtualdefault |
Destructor.
|
pure virtual |
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.
Implemented in juce::ARAAudioModification, juce::ARAAudioSource, juce::ARADocument, juce::ARAMusicalContext, juce::ARAPlaybackRegion, and juce::ARARegionSequence.
|
pure virtualnoexcept |
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.
Implemented in juce::ARAAudioModification, juce::ARAAudioSource, juce::ARADocument, juce::ARAMusicalContext, juce::ARAPlaybackRegion, and juce::ARARegionSequence.
|
pure virtual |
Returns the ARA model object that aggregates this object.
Returns nullptr for the ARADocument root object.
Implemented in juce::ARAAudioModification, juce::ARAAudioSource, juce::ARADocument, juce::ARAMusicalContext, juce::ARAPlaybackRegion, and juce::ARARegionSequence.
|
inline |
|
pure virtual |
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.
Implemented in juce::ARAAudioModification, juce::ARAAudioSource, juce::ARADocument, juce::ARAMusicalContext, juce::ARAPlaybackRegion, and juce::ARARegionSequence.