tracktion-engine 3.0-10-g034fdde4aa5
Tracktion Engine — High level data model for audio applications

« « « Anklang Documentation
Loading...
Searching...
No Matches
Public Types | Public Member Functions | Public Attributes | Protected Member Functions | Protected Attributes | List of all members
tracktion::engine::ValueTreeObjectList< ObjectType, CriticalSectionType > Class Template Referenceabstract
Inheritance diagram for tracktion::engine::ValueTreeObjectList< ObjectType, CriticalSectionType >:
juce::ValueTree::Listener tracktion::engine::TempoAndTimeSigListBase< TempoSetting > tracktion::engine::TempoAndTimeSigListBase< TimeSigSetting > tracktion::engine::SortedValueTreeObjectList< ObjectType > tracktion::engine::TempoAndTimeSigListBase< ObjectType > tracktion::engine::TempoSequence::TempoSettingList tracktion::engine::TempoSequence::TimeSigList

Public Types

using ScopedLockType = typename CriticalSectionType::ScopedLockType
 

Public Member Functions

 ValueTreeObjectList (const juce::ValueTree &parentTree)
 
int size () const
 
bool isEmpty () const noexcept
 
ObjectType * operator[] (int idx) const
 
ObjectType * at (int idx)
 
ObjectType ** begin ()
 
ObjectType *const * begin () const
 
ObjectType ** end ()
 
ObjectType *const * end () const
 
void rebuildObjects ()
 
void freeObjects ()
 
virtual bool isSuitableType (const juce::ValueTree &) const =0
 
virtual ObjectType * createNewObject (const juce::ValueTree &)=0
 
virtual void deleteObject (ObjectType *)=0
 
virtual void newObjectAdded (ObjectType *)=0
 
virtual void objectRemoved (ObjectType *)=0
 
virtual void objectOrderChanged ()=0
 
void valueTreeChildAdded (juce::ValueTree &, juce::ValueTree &tree) override
 
void valueTreeChildRemoved (juce::ValueTree &exParent, juce::ValueTree &tree, int) override
 
void valueTreeChildOrderChanged (juce::ValueTree &tree, int, int) override
 
void valueTreePropertyChanged (juce::ValueTree &, const juce::Identifier &) override
 
void valueTreeParentChanged (juce::ValueTree &) override
 
void valueTreeRedirected (juce::ValueTree &) override
 
int compareElements (ObjectType *first, ObjectType *second) const
 

Public Attributes

juce::Array< ObjectType * > objects
 
CriticalSectionType arrayLock
 

Protected Member Functions

void deleteAllObjects ()
 
bool isChildTree (juce::ValueTree &v) const
 
int indexOf (const juce::ValueTree &v) const noexcept
 
void sortArray ()
 

Protected Attributes

juce::ValueTree parent
 

Detailed Description

template<typename ObjectType, typename CriticalSectionType = juce::DummyCriticalSection>
class tracktion::engine::ValueTreeObjectList< ObjectType, CriticalSectionType >

Definition at line 91 of file tracktion_ValueTreeUtilities.h.

Member Typedef Documentation

◆ ScopedLockType

template<typename ObjectType , typename CriticalSectionType = juce::DummyCriticalSection>
using tracktion::engine::ValueTreeObjectList< ObjectType, CriticalSectionType >::ScopedLockType = typename CriticalSectionType::ScopedLockType

Definition at line 208 of file tracktion_ValueTreeUtilities.h.

Constructor & Destructor Documentation

◆ ValueTreeObjectList()

template<typename ObjectType , typename CriticalSectionType = juce::DummyCriticalSection>
tracktion::engine::ValueTreeObjectList< ObjectType, CriticalSectionType >::ValueTreeObjectList ( const juce::ValueTree parentTree)

Definition at line 94 of file tracktion_ValueTreeUtilities.h.

◆ ~ValueTreeObjectList()

template<typename ObjectType , typename CriticalSectionType = juce::DummyCriticalSection>
tracktion::engine::ValueTreeObjectList< ObjectType, CriticalSectionType >::~ValueTreeObjectList ( )
override

Definition at line 99 of file tracktion_ValueTreeUtilities.h.

Member Function Documentation

◆ at()

template<typename ObjectType , typename CriticalSectionType = juce::DummyCriticalSection>
ObjectType * tracktion::engine::ValueTreeObjectList< ObjectType, CriticalSectionType >::at ( int  idx)

Definition at line 107 of file tracktion_ValueTreeUtilities.h.

◆ begin() [1/2]

template<typename ObjectType , typename CriticalSectionType = juce::DummyCriticalSection>
ObjectType ** tracktion::engine::ValueTreeObjectList< ObjectType, CriticalSectionType >::begin ( )

Definition at line 108 of file tracktion_ValueTreeUtilities.h.

◆ begin() [2/2]

template<typename ObjectType , typename CriticalSectionType = juce::DummyCriticalSection>
ObjectType *const * tracktion::engine::ValueTreeObjectList< ObjectType, CriticalSectionType >::begin ( ) const

Definition at line 109 of file tracktion_ValueTreeUtilities.h.

◆ compareElements()

template<typename ObjectType , typename CriticalSectionType = juce::DummyCriticalSection>
int tracktion::engine::ValueTreeObjectList< ObjectType, CriticalSectionType >::compareElements ( ObjectType *  first,
ObjectType *  second 
) const

Definition at line 241 of file tracktion_ValueTreeUtilities.h.

◆ deleteAllObjects()

template<typename ObjectType , typename CriticalSectionType = juce::DummyCriticalSection>
void tracktion::engine::ValueTreeObjectList< ObjectType, CriticalSectionType >::deleteAllObjects ( )
protected

Definition at line 213 of file tracktion_ValueTreeUtilities.h.

◆ end() [1/2]

template<typename ObjectType , typename CriticalSectionType = juce::DummyCriticalSection>
ObjectType ** tracktion::engine::ValueTreeObjectList< ObjectType, CriticalSectionType >::end ( )

Definition at line 110 of file tracktion_ValueTreeUtilities.h.

◆ end() [2/2]

template<typename ObjectType , typename CriticalSectionType = juce::DummyCriticalSection>
ObjectType *const * tracktion::engine::ValueTreeObjectList< ObjectType, CriticalSectionType >::end ( ) const

Definition at line 111 of file tracktion_ValueTreeUtilities.h.

◆ freeObjects()

template<typename ObjectType , typename CriticalSectionType = juce::DummyCriticalSection>
void tracktion::engine::ValueTreeObjectList< ObjectType, CriticalSectionType >::freeObjects ( )

Definition at line 125 of file tracktion_ValueTreeUtilities.h.

◆ indexOf()

template<typename ObjectType , typename CriticalSectionType = juce::DummyCriticalSection>
int tracktion::engine::ValueTreeObjectList< ObjectType, CriticalSectionType >::indexOf ( const juce::ValueTree v) const
protectednoexcept

Definition at line 226 of file tracktion_ValueTreeUtilities.h.

◆ isChildTree()

template<typename ObjectType , typename CriticalSectionType = juce::DummyCriticalSection>
bool tracktion::engine::ValueTreeObjectList< ObjectType, CriticalSectionType >::isChildTree ( juce::ValueTree v) const
protected

Definition at line 221 of file tracktion_ValueTreeUtilities.h.

◆ isEmpty()

template<typename ObjectType , typename CriticalSectionType = juce::DummyCriticalSection>
bool tracktion::engine::ValueTreeObjectList< ObjectType, CriticalSectionType >::isEmpty ( ) const
noexcept

Definition at line 105 of file tracktion_ValueTreeUtilities.h.

◆ operator[]()

template<typename ObjectType , typename CriticalSectionType = juce::DummyCriticalSection>
ObjectType * tracktion::engine::ValueTreeObjectList< ObjectType, CriticalSectionType >::operator[] ( int  idx) const

Definition at line 106 of file tracktion_ValueTreeUtilities.h.

◆ rebuildObjects()

template<typename ObjectType , typename CriticalSectionType = juce::DummyCriticalSection>
void tracktion::engine::ValueTreeObjectList< ObjectType, CriticalSectionType >::rebuildObjects ( )

Definition at line 114 of file tracktion_ValueTreeUtilities.h.

◆ size()

template<typename ObjectType , typename CriticalSectionType = juce::DummyCriticalSection>
int tracktion::engine::ValueTreeObjectList< ObjectType, CriticalSectionType >::size ( ) const

Definition at line 104 of file tracktion_ValueTreeUtilities.h.

◆ sortArray()

template<typename ObjectType , typename CriticalSectionType = juce::DummyCriticalSection>
void tracktion::engine::ValueTreeObjectList< ObjectType, CriticalSectionType >::sortArray ( )
protected

Definition at line 235 of file tracktion_ValueTreeUtilities.h.

◆ valueTreeChildAdded()

template<typename ObjectType , typename CriticalSectionType = juce::DummyCriticalSection>
void tracktion::engine::ValueTreeObjectList< ObjectType, CriticalSectionType >::valueTreeChildAdded ( juce::ValueTree ,
juce::ValueTree tree 
)
overridevirtual

Reimplemented from juce::ValueTree::Listener.

Definition at line 141 of file tracktion_ValueTreeUtilities.h.

◆ valueTreeChildOrderChanged()

template<typename ObjectType , typename CriticalSectionType = juce::DummyCriticalSection>
void tracktion::engine::ValueTreeObjectList< ObjectType, CriticalSectionType >::valueTreeChildOrderChanged ( juce::ValueTree tree,
int  ,
int   
)
overridevirtual

Reimplemented from juce::ValueTree::Listener.

Definition at line 188 of file tracktion_ValueTreeUtilities.h.

◆ valueTreeChildRemoved()

template<typename ObjectType , typename CriticalSectionType = juce::DummyCriticalSection>
void tracktion::engine::ValueTreeObjectList< ObjectType, CriticalSectionType >::valueTreeChildRemoved ( juce::ValueTree exParent,
juce::ValueTree tree,
int   
)
overridevirtual

Reimplemented from juce::ValueTree::Listener.

Definition at line 167 of file tracktion_ValueTreeUtilities.h.

◆ valueTreeParentChanged()

template<typename ObjectType , typename CriticalSectionType = juce::DummyCriticalSection>
void tracktion::engine::ValueTreeObjectList< ObjectType, CriticalSectionType >::valueTreeParentChanged ( juce::ValueTree )
overridevirtual

Reimplemented from juce::ValueTree::Listener.

Definition at line 202 of file tracktion_ValueTreeUtilities.h.

◆ valueTreePropertyChanged()

template<typename ObjectType , typename CriticalSectionType = juce::DummyCriticalSection>
void tracktion::engine::ValueTreeObjectList< ObjectType, CriticalSectionType >::valueTreePropertyChanged ( juce::ValueTree ,
const juce::Identifier  
)
overridevirtual

Reimplemented from juce::ValueTree::Listener.

Definition at line 201 of file tracktion_ValueTreeUtilities.h.

◆ valueTreeRedirected()

template<typename ObjectType , typename CriticalSectionType = juce::DummyCriticalSection>
void tracktion::engine::ValueTreeObjectList< ObjectType, CriticalSectionType >::valueTreeRedirected ( juce::ValueTree )
overridevirtual

Reimplemented from juce::ValueTree::Listener.

Definition at line 204 of file tracktion_ValueTreeUtilities.h.

Member Data Documentation

◆ arrayLock

template<typename ObjectType , typename CriticalSectionType = juce::DummyCriticalSection>
CriticalSectionType tracktion::engine::ValueTreeObjectList< ObjectType, CriticalSectionType >::arrayLock

Definition at line 207 of file tracktion_ValueTreeUtilities.h.

◆ objects

template<typename ObjectType , typename CriticalSectionType = juce::DummyCriticalSection>
juce::Array<ObjectType*> tracktion::engine::ValueTreeObjectList< ObjectType, CriticalSectionType >::objects

Definition at line 206 of file tracktion_ValueTreeUtilities.h.

◆ parent

template<typename ObjectType , typename CriticalSectionType = juce::DummyCriticalSection>
juce::ValueTree tracktion::engine::ValueTreeObjectList< ObjectType, CriticalSectionType >::parent
protected

Definition at line 211 of file tracktion_ValueTreeUtilities.h.


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