|
TracktionEngine
|
#include <tracktion_ValueTreeUtilities.h>
Public Types | |
| using | ScopedLockType = typename CriticalSectionType::ScopedLockType |
Public Member Functions | |
| ValueTreeObjectList (const juce::ValueTree &parentTree) | |
| ~ValueTreeObjectList () override | |
| 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 |
| using tracktion::engine::ValueTreeObjectList< ObjectType, CriticalSectionType >::ScopedLockType = typename CriticalSectionType::ScopedLockType |
| tracktion::engine::ValueTreeObjectList< ObjectType, CriticalSectionType >::ValueTreeObjectList | ( | const juce::ValueTree & | parentTree | ) |
|
override |
| int tracktion::engine::ValueTreeObjectList< ObjectType, CriticalSectionType >::size | ( | ) | const |
|
noexcept |
| ObjectType * tracktion::engine::ValueTreeObjectList< ObjectType, CriticalSectionType >::operator[] | ( | int | idx | ) | const |
| ObjectType * tracktion::engine::ValueTreeObjectList< ObjectType, CriticalSectionType >::at | ( | int | idx | ) |
| ObjectType ** tracktion::engine::ValueTreeObjectList< ObjectType, CriticalSectionType >::begin | ( | ) |
| ObjectType *const * tracktion::engine::ValueTreeObjectList< ObjectType, CriticalSectionType >::begin | ( | ) | const |
| ObjectType ** tracktion::engine::ValueTreeObjectList< ObjectType, CriticalSectionType >::end | ( | ) |
| ObjectType *const * tracktion::engine::ValueTreeObjectList< ObjectType, CriticalSectionType >::end | ( | ) | const |
| void tracktion::engine::ValueTreeObjectList< ObjectType, CriticalSectionType >::rebuildObjects | ( | ) |
References tracktion::engine::ValueTreeObjectList< ObjectType, CriticalSectionType >::createNewObject(), tracktion::engine::ValueTreeObjectList< ObjectType, CriticalSectionType >::isSuitableType(), tracktion::engine::ValueTreeObjectList< ObjectType, CriticalSectionType >::objects, and tracktion::engine::ValueTreeObjectList< ObjectType, CriticalSectionType >::parent.
| void tracktion::engine::ValueTreeObjectList< ObjectType, CriticalSectionType >::freeObjects | ( | ) |
|
pure virtual |
Implemented in tracktion::engine::ModifierList, tracktion::engine::TrackCompManager::TrackComp, tracktion::engine::TrackList, tracktion::engine::ClipEffects, and tracktion::engine::InputDeviceInstance::DestinationList.
Referenced by tracktion::engine::ValueTreeObjectList< ObjectType, CriticalSectionType >::isChildTree(), tracktion::engine::ValueTreeObjectList< ObjectType, CriticalSectionType >::rebuildObjects(), and tracktion::engine::ValueTreeObjectList< ObjectType, CriticalSectionType >::valueTreeChildRemoved().
|
pure virtual |
Implemented in tracktion::engine::ModifierList, tracktion::engine::TrackCompManager::TrackComp, tracktion::engine::TrackList, tracktion::engine::ClipEffects, and tracktion::engine::InputDeviceInstance::DestinationList.
Referenced by tracktion::engine::ValueTreeObjectList< ObjectType, CriticalSectionType >::rebuildObjects(), and tracktion::engine::ValueTreeObjectList< ObjectType, CriticalSectionType >::valueTreeChildAdded().
|
pure virtual |
Implemented in tracktion::engine::ClipEffects, tracktion::engine::ModifierList, and tracktion::engine::TrackList.
Referenced by tracktion::engine::ValueTreeObjectList< ObjectType, CriticalSectionType >::deleteAllObjects(), and tracktion::engine::ValueTreeObjectList< ObjectType, CriticalSectionType >::valueTreeChildRemoved().
|
pure virtual |
|
pure virtual |
|
pure virtual |
Implemented in tracktion::engine::ModifierList, tracktion::engine::ClipEffects, tracktion::engine::TrackCompManager::TrackComp, tracktion::engine::TrackList, tracktion::engine::InputDeviceInstance::DestinationList, and tracktion::engine::SortedValueTreeObjectList< ObjectType >.
Referenced by tracktion::engine::ValueTreeObjectList< ObjectType, CriticalSectionType >::valueTreeChildOrderChanged().
|
override |
References tracktion::engine::ValueTreeObjectList< ObjectType, CriticalSectionType >::arrayLock, tracktion::engine::ValueTreeObjectList< ObjectType, CriticalSectionType >::createNewObject(), tracktion::engine::ValueTreeObjectList< ObjectType, CriticalSectionType >::isChildTree(), tracktion::engine::ValueTreeObjectList< ObjectType, CriticalSectionType >::newObjectAdded(), tracktion::engine::ValueTreeObjectList< ObjectType, CriticalSectionType >::objects, and tracktion::engine::ValueTreeObjectList< ObjectType, CriticalSectionType >::parent.
|
override |
References tracktion::engine::ValueTreeObjectList< ObjectType, CriticalSectionType >::arrayLock, tracktion::engine::ValueTreeObjectList< ObjectType, CriticalSectionType >::deleteObject(), tracktion::engine::ValueTreeObjectList< ObjectType, CriticalSectionType >::indexOf(), tracktion::engine::ValueTreeObjectList< ObjectType, CriticalSectionType >::isSuitableType(), tracktion::engine::ValueTreeObjectList< ObjectType, CriticalSectionType >::objectRemoved(), tracktion::engine::ValueTreeObjectList< ObjectType, CriticalSectionType >::objects, and tracktion::engine::ValueTreeObjectList< ObjectType, CriticalSectionType >::parent.
|
override |
References tracktion::engine::ValueTreeObjectList< ObjectType, CriticalSectionType >::arrayLock, tracktion::engine::ValueTreeObjectList< ObjectType, CriticalSectionType >::objectOrderChanged(), tracktion::engine::ValueTreeObjectList< ObjectType, CriticalSectionType >::parent, and tracktion::engine::ValueTreeObjectList< ObjectType, CriticalSectionType >::sortArray().
|
override |
|
override |
|
override |
|
protected |
References tracktion::engine::ValueTreeObjectList< ObjectType, CriticalSectionType >::arrayLock, tracktion::engine::ValueTreeObjectList< ObjectType, CriticalSectionType >::deleteObject(), and tracktion::engine::ValueTreeObjectList< ObjectType, CriticalSectionType >::objects.
Referenced by tracktion::engine::ValueTreeObjectList< ObjectType, CriticalSectionType >::freeObjects().
|
protected |
References tracktion::engine::ValueTreeObjectList< ObjectType, CriticalSectionType >::isSuitableType(), and tracktion::engine::ValueTreeObjectList< ObjectType, CriticalSectionType >::parent.
Referenced by tracktion::engine::ValueTreeObjectList< ObjectType, CriticalSectionType >::valueTreeChildAdded(), and tracktion::engine::SortedValueTreeObjectList< ObjectType >::valueTreePropertyChanged().
|
protectednoexcept |
|
protected |
| int tracktion::engine::ValueTreeObjectList< ObjectType, CriticalSectionType >::compareElements | ( | ObjectType * | first, |
| ObjectType * | second | ||
| ) | const |
| juce::Array<ObjectType*> tracktion::engine::ValueTreeObjectList< ObjectType, CriticalSectionType >::objects |
Referenced by tracktion::engine::ValueTreeObjectList< ObjectType, CriticalSectionType >::at(), tracktion::engine::ValueTreeObjectList< ObjectType, CriticalSectionType >::begin(), tracktion::engine::ValueTreeObjectList< ObjectType, CriticalSectionType >::begin(), tracktion::engine::ValueTreeObjectList< ObjectType, CriticalSectionType >::deleteAllObjects(), tracktion::engine::ValueTreeObjectList< ObjectType, CriticalSectionType >::end(), tracktion::engine::ValueTreeObjectList< ObjectType, CriticalSectionType >::end(), tracktion::engine::ValueTreeObjectList< ObjectType, CriticalSectionType >::indexOf(), tracktion::engine::ValueTreeObjectList< ObjectType, CriticalSectionType >::operator[](), tracktion::engine::ValueTreeObjectList< ObjectType, CriticalSectionType >::rebuildObjects(), tracktion::engine::ValueTreeObjectList< ObjectType, CriticalSectionType >::size(), tracktion::engine::ValueTreeObjectList< ObjectType, CriticalSectionType >::sortArray(), tracktion::engine::ValueTreeObjectList< ObjectType, CriticalSectionType >::valueTreeChildAdded(), tracktion::engine::ValueTreeObjectList< ObjectType, CriticalSectionType >::valueTreeChildRemoved(), and tracktion::engine::ValueTreeObjectList< ObjectType, CriticalSectionType >::~ValueTreeObjectList().
| CriticalSectionType tracktion::engine::ValueTreeObjectList< ObjectType, CriticalSectionType >::arrayLock |
Referenced by tracktion::engine::ValueTreeObjectList< ObjectType, CriticalSectionType >::deleteAllObjects(), tracktion::engine::ValueTreeObjectList< ObjectType, CriticalSectionType >::valueTreeChildAdded(), tracktion::engine::ValueTreeObjectList< ObjectType, CriticalSectionType >::valueTreeChildOrderChanged(), and tracktion::engine::ValueTreeObjectList< ObjectType, CriticalSectionType >::valueTreeChildRemoved().
|
protected |
Referenced by tracktion::engine::ValueTreeObjectList< ObjectType, CriticalSectionType >::compareElements(), tracktion::engine::ValueTreeObjectList< ObjectType, CriticalSectionType >::freeObjects(), tracktion::engine::ValueTreeObjectList< ObjectType, CriticalSectionType >::isChildTree(), tracktion::engine::ValueTreeObjectList< ObjectType, CriticalSectionType >::rebuildObjects(), tracktion::engine::ValueTreeObjectList< ObjectType, CriticalSectionType >::valueTreeChildAdded(), tracktion::engine::ValueTreeObjectList< ObjectType, CriticalSectionType >::valueTreeChildOrderChanged(), tracktion::engine::ValueTreeObjectList< ObjectType, CriticalSectionType >::valueTreeChildRemoved(), and tracktion::engine::ValueTreeObjectList< ObjectType, CriticalSectionType >::ValueTreeObjectList().