LMMS
Loading...
Searching...
No Matches
juce::ARARegionSequence Class Reference

#include <juce_ARAModelObjects.h>

Inheritance diagram for juce::ARARegionSequence:
juce::ARAListenableModelClass< ARARegionSequenceListener > juce::ARAObject

Public Types

using PropertiesPtr = ARA::PlugIn::PropertiesPtr<ARA::ARARegionSequenceProperties>
using Listener = ARARegionSequenceListener

Public Member Functions

template<typename Document_t = ARADocument>
Document_t * getDocument () const noexcept
template<typename MusicalContext_t = ARAMusicalContext>
MusicalContext_t * getMusicalContext () const noexcept
template<typename PlaybackRegion_t = ARAPlaybackRegion>
const std::vector< PlaybackRegion_t * > & getPlaybackRegions () const noexcept
size_t getNumChildren () const noexcept override
ARAObjectgetChild (size_t index) override
ARAObjectgetParent () override
void visit (ARAObjectVisitor &visitor) override
Range< double > getTimeRange (ARAPlaybackRegion::IncludeHeadAndTail includeHeadAndTail=ARAPlaybackRegion::IncludeHeadAndTail::no) const
double getCommonSampleRate () const
Public Member Functions inherited from juce::ARAListenableModelClass< ARARegionSequenceListener >
 ARAListenableModelClass ()=default
virtual ~ARAListenableModelClass ()=default
void addListener (ARARegionSequenceListener *l)
void removeListener (ARARegionSequenceListener *l)
void notifyListeners (Callback &&callback)
Public Member Functions inherited from juce::ARAObject
virtual ~ARAObject ()=default
template<typename Fn>
void traverse (Fn &&fn)

Detailed Description

Base class representing an ARA region sequence.

@tags{ARA}

Member Typedef Documentation

◆ Listener

using juce::ARARegionSequence::Listener = ARARegionSequenceListener

◆ PropertiesPtr

using juce::ARARegionSequence::PropertiesPtr = ARA::PlugIn::PropertiesPtr<ARA::ARARegionSequenceProperties>

Member Function Documentation

◆ getChild()

ARAObject * juce::ARARegionSequence::getChild ( size_t index)
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.

◆ getCommonSampleRate()

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.

◆ getDocument()

template<typename Document_t = ARADocument>
Document_t * juce::ARARegionSequence::getDocument ( ) const
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.

◆ getMusicalContext()

template<typename MusicalContext_t = ARAMusicalContext>
MusicalContext_t * juce::ARARegionSequence::getMusicalContext ( ) const
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.

◆ getNumChildren()

size_t juce::ARARegionSequence::getNumChildren ( ) const
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.

◆ getParent()

ARAObject * juce::ARARegionSequence::getParent ( )
inlineoverridevirtual

Returns the ARA model object that aggregates this object.

Returns nullptr for the ARADocument root object.

Implements juce::ARAObject.

◆ getPlaybackRegions()

template<typename PlaybackRegion_t = ARAPlaybackRegion>
const std::vector< PlaybackRegion_t * > & juce::ARARegionSequence::getPlaybackRegions ( ) const
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.

◆ getTimeRange()

Range< double > juce::ARARegionSequence::getTimeRange ( ARAPlaybackRegion::IncludeHeadAndTail includeHeadAndTail = ARAPlaybackRegion::IncludeHeadAndTail::no) const

Returns the playback time range covered by the regions in this sequence.

Parameters
includeHeadAndTailWhether or not the range includes the playback region's head and tail time.

◆ visit()

void juce::ARARegionSequence::visit ( ARAObjectVisitor & visitor)
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.


The documentation for this class was generated from the following files: