TracktionEngine
|
#include <tracktion_TrackCompManager.h>
Classes | |
struct | Section |
Public Types | |
enum | TimeFormat { seconds = 0 , beats } |
using | Ptr = juce::ReferenceCountedObjectPtr< TrackComp > |
![]() | |
using | WeakRef = juce::WeakReference< Selectable > |
![]() | |
using | ScopedLockType = typename CriticalSectionType::ScopedLockType |
using | ScopedLockType = typename CriticalSectionType::ScopedLockType |
Public Member Functions | |
TrackComp (Edit &, const juce::ValueTree &) | |
~TrackComp () override | |
juce::String | getSelectableDescription () override |
Subclasses must return a description of what they are. | |
TimeFormat | getTimeFormat () const noexcept |
void | setTimeFormat (TimeFormat) |
juce::Array< TimeRange > | getNonMuteTimes (Track &, TimeDuration crossfadeTime) const |
TimeRange | getTimeRange () const |
void | setName (const juce::String &) |
void | setSectionTrack (CompSection &, const Track::Ptr &) |
void | removeSection (CompSection &) |
CompSection * | moveSectionToEndAt (CompSection *, double newEndTime) |
CompSection * | moveSection (CompSection *, double timeDelta) |
CompSection * | moveSectionEndTime (CompSection *, double newTime) |
int | removeSectionsWithinRange (juce::Range< double >, CompSection *sectionToKeep) |
juce::ValueTree | addSection (EditItemID trackID, double endTime, juce::UndoManager *) |
CompSection * | addSection (Track::Ptr, double endTime) |
CompSection * | splitSectionAtTime (double) |
CompSection * | findSectionWithEdgeTimeWithin (const Track::Ptr &, juce::Range< double >, bool &startEdge) const |
CompSection * | findSectionAtTime (const Track::Ptr &, double) const |
juce::Array< Section > | getSectionsForTrack (const Track::Ptr &) const |
bool | isSuitableType (const juce::ValueTree &) const override |
CompSection * | createNewObject (const juce::ValueTree &) override |
void | deleteObject (CompSection *) override |
void | newObjectAdded (CompSection *) override |
void | objectRemoved (CompSection *) override |
void | objectOrderChanged () override |
void | valueTreePropertyChanged (juce::ValueTree &, const juce::Identifier &) override |
![]() | |
Selectable () | |
virtual | ~Selectable () |
virtual void | selectionStatusChanged (bool isNowSelected) |
Can be overridden to tell this object that it has just been selected or deselected. | |
virtual void | changed () |
This should be called to send a change notification to any SelectableListeners that are registered with this object. | |
virtual void | selectableAboutToBeDeleted () |
Called just before the selectable is about to be deleted so any subclasses should still be valid at this point. | |
void | addListener (SelectableListener *) |
void | removeListener (SelectableListener *) |
void | addSelectableListener (SelectableListener *) |
void | removeSelectableListener (SelectableListener *) |
void | cancelAnyPendingUpdates () |
If changed() has been called, this will cancel any pending async change notificaions. | |
void | deselect () |
void | propertiesChanged () |
void | notifyListenersOfDeletion () |
WeakRef | getWeakRef () |
![]() | |
ValueTreeObjectList (const juce::ValueTree &parentTree) | |
~ValueTreeObjectList () override | |
int | size () const |
bool | isEmpty () const noexcept |
CompSection * | operator[] (int idx) const |
CompSection * | at (int idx) |
CompSection ** | begin () |
CompSection *const * | begin () const |
CompSection ** | end () |
CompSection *const * | end () const |
void | rebuildObjects () |
void | freeObjects () |
virtual void | deleteObject (CompSection *)=0 |
virtual void | newObjectAdded (CompSection *)=0 |
virtual void | objectRemoved (CompSection *)=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 (CompSection *first, CompSection *second) const |
ValueTreeObjectList (const juce::ValueTree &parentTree) | |
~ValueTreeObjectList () override | |
int | size () const |
bool | isEmpty () const noexcept |
CompSection * | operator[] (int idx) const |
CompSection * | at (int idx) |
CompSection ** | begin () |
CompSection *const * | begin () const |
CompSection ** | end () |
CompSection *const * | end () const |
void | rebuildObjects () |
void | freeObjects () |
virtual void | deleteObject (CompSection *)=0 |
virtual void | newObjectAdded (CompSection *)=0 |
virtual void | objectRemoved (CompSection *)=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 (CompSection *first, CompSection *second) const |
Static Public Member Functions | |
static TrackComp * | createAndIncRefCount (Edit &, const juce::ValueTree &) |
static juce::Array< TimeRange > | getMuteTimes (const juce::Array< TimeRange > &nonMuteTimes) |
static EditItemID | getSourceTrackID (const juce::ValueTree &) |
static void | setSourceTrackID (juce::ValueTree &, EditItemID, juce::UndoManager *) |
![]() | |
static void | initialise () |
static bool | isSelectableValid (const Selectable *) noexcept |
checks whether this object has been deleted. | |
Public Attributes | |
juce::ValueTree | state |
Edit & | edit |
juce::CachedValue< juce::String > | name |
juce::CachedValue< juce::Colour > | includedColour |
juce::CachedValue< juce::Colour > | excludedColour |
![]() | |
WeakRef::Master | masterReference |
![]() | |
juce::Array< CompSection * > | objects |
juce::DummyCriticalSection | arrayLock |
juce::Array< CompSection * > | objects |
juce::DummyCriticalSection | arrayLock |
Additional Inherited Members | |
![]() | |
void | deleteAllObjects () |
bool | isChildTree (juce::ValueTree &v) const |
int | indexOf (const juce::ValueTree &v) const noexcept |
void | sortArray () |
void | deleteAllObjects () |
bool | isChildTree (juce::ValueTree &v) const |
int | indexOf (const juce::ValueTree &v) const noexcept |
void | sortArray () |
![]() | |
juce::ValueTree | parent |
juce::ValueTree | parent |
using tracktion::engine::TrackCompManager::TrackComp::Ptr = juce::ReferenceCountedObjectPtr<TrackComp> |
tracktion::engine::TrackCompManager::TrackComp::TrackComp | ( | Edit & | , |
const juce::ValueTree & | |||
) |
|
override |
|
static |
|
overridevirtual |
Subclasses must return a description of what they are.
Implements tracktion::engine::Selectable.
|
noexcept |
void tracktion::engine::TrackCompManager::TrackComp::setTimeFormat | ( | TimeFormat | ) |
|
static |
juce::Array< TimeRange > tracktion::engine::TrackCompManager::TrackComp::getNonMuteTimes | ( | Track & | , |
TimeDuration | crossfadeTime | ||
) | const |
TimeRange tracktion::engine::TrackCompManager::TrackComp::getTimeRange | ( | ) | const |
void tracktion::engine::TrackCompManager::TrackComp::setName | ( | const juce::String & | ) |
|
static |
|
static |
void tracktion::engine::TrackCompManager::TrackComp::setSectionTrack | ( | CompSection & | , |
const Track::Ptr & | |||
) |
void tracktion::engine::TrackCompManager::TrackComp::removeSection | ( | CompSection & | ) |
CompSection * tracktion::engine::TrackCompManager::TrackComp::moveSectionToEndAt | ( | CompSection * | , |
double | newEndTime | ||
) |
CompSection * tracktion::engine::TrackCompManager::TrackComp::moveSection | ( | CompSection * | , |
double | timeDelta | ||
) |
CompSection * tracktion::engine::TrackCompManager::TrackComp::moveSectionEndTime | ( | CompSection * | , |
double | newTime | ||
) |
int tracktion::engine::TrackCompManager::TrackComp::removeSectionsWithinRange | ( | juce::Range< double > | , |
CompSection * | sectionToKeep | ||
) |
juce::ValueTree tracktion::engine::TrackCompManager::TrackComp::addSection | ( | EditItemID | trackID, |
double | endTime, | ||
juce::UndoManager * | |||
) |
CompSection * tracktion::engine::TrackCompManager::TrackComp::addSection | ( | Track::Ptr | , |
double | endTime | ||
) |
CompSection * tracktion::engine::TrackCompManager::TrackComp::splitSectionAtTime | ( | double | ) |
CompSection * tracktion::engine::TrackCompManager::TrackComp::findSectionWithEdgeTimeWithin | ( | const Track::Ptr & | , |
juce::Range< double > | , | ||
bool & | startEdge | ||
) | const |
CompSection * tracktion::engine::TrackCompManager::TrackComp::findSectionAtTime | ( | const Track::Ptr & | , |
double | |||
) | const |
juce::Array< Section > tracktion::engine::TrackCompManager::TrackComp::getSectionsForTrack | ( | const Track::Ptr & | ) | const |
|
overridevirtual |
|
overridevirtual |
|
override |
|
override |
|
override |
|
overridevirtual |
|
override |
juce::ValueTree tracktion::engine::TrackCompManager::TrackComp::state |
Edit& tracktion::engine::TrackCompManager::TrackComp::edit |
juce::CachedValue<juce::String> tracktion::engine::TrackCompManager::TrackComp::name |
juce::CachedValue<juce::Colour> tracktion::engine::TrackCompManager::TrackComp::includedColour |
juce::CachedValue<juce::Colour> tracktion::engine::TrackCompManager::TrackComp::excludedColour |