TracktionEngine
Classes | Public Types | Public Member Functions | Static Public Member Functions | Public Attributes | List of all members
tracktion::engine::TrackCompManager::TrackComp Struct Reference
Inheritance diagram for tracktion::engine::TrackCompManager::TrackComp:

Classes

struct  Section
 

Public Types

enum  TimeFormat { seconds = 0 , beats }
 
using Ptr = juce::ReferenceCountedObjectPtr< TrackComp >
 
- Public Types inherited from tracktion::engine::Selectable
using WeakRef = juce::WeakReference< Selectable >
 
- Public Types inherited from tracktion::engine::ValueTreeObjectList< CompSection >
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. More...
 
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 &)
 
CompSectionmoveSectionToEndAt (CompSection *, double newEndTime)
 
CompSectionmoveSection (CompSection *, double timeDelta)
 
CompSectionmoveSectionEndTime (CompSection *, double newTime)
 
int removeSectionsWithinRange (juce::Range< double >, CompSection *sectionToKeep)
 
juce::ValueTree addSection (EditItemID trackID, double endTime, juce::UndoManager *)
 
CompSectionaddSection (Track::Ptr, double endTime)
 
CompSectionsplitSectionAtTime (double)
 
CompSectionfindSectionWithEdgeTimeWithin (const Track::Ptr &, juce::Range< double >, bool &startEdge) const
 
CompSectionfindSectionAtTime (const Track::Ptr &, double) const
 
juce::Array< SectiongetSectionsForTrack (const Track::Ptr &) const
 
bool isSuitableType (const juce::ValueTree &) const override
 
CompSectioncreateNewObject (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
 
- Public Member Functions inherited from tracktion::engine::Selectable
 Selectable ()
 
virtual ~Selectable ()
 
virtual void selectionStatusChanged (bool isNowSelected)
 Can be overridden to tell this object that it has just been selected or deselected. More...
 
virtual void changed ()
 This should be called to send a change notification to any SelectableListeners that are registered with this object. More...
 
virtual void selectableAboutToBeDeleted ()
 Called just before the selectable is about to be deleted so any subclasses should still be valid at this point. More...
 
void addSelectableListener (SelectableListener *)
 
void removeSelectableListener (SelectableListener *)
 
void cancelAnyPendingUpdates ()
 If changed() has been called, this will cancel any pending async change notificaions. More...
 
void deselect ()
 
void propertiesChanged ()
 
void notifyListenersOfDeletion ()
 
WeakRef getWeakRef ()
 
- Public Member Functions inherited from tracktion::engine::ValueTreeObjectList< CompSection >
 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 TrackCompcreateAndIncRefCount (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 Public Member Functions inherited from tracktion::engine::Selectable
static void initialise ()
 
static bool isSelectableValid (const Selectable *) noexcept
 checks whether this object has been deleted. More...
 

Public Attributes

juce::ValueTree state
 
Editedit
 
juce::CachedValue< juce::String > name
 
juce::CachedValue< juce::Colour > includedColour
 
juce::CachedValue< juce::Colour > excludedColour
 
- Public Attributes inherited from tracktion::engine::Selectable
WeakRef::Master masterReference
 
- Public Attributes inherited from tracktion::engine::ValueTreeObjectList< CompSection >
juce::Array< CompSection * > objects
 
juce::DummyCriticalSection arrayLock
 
juce::Array< CompSection * > objects
 
juce::DummyCriticalSection arrayLock
 

Additional Inherited Members

- Protected Member Functions inherited from tracktion::engine::ValueTreeObjectList< CompSection >
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 ()
 
- Protected Attributes inherited from tracktion::engine::ValueTreeObjectList< CompSection >
juce::ValueTree parent
 
juce::ValueTree parent
 

Member Typedef Documentation

◆ Ptr

using tracktion::engine::TrackCompManager::TrackComp::Ptr = juce::ReferenceCountedObjectPtr<TrackComp>

Member Enumeration Documentation

◆ TimeFormat

Enumerator
seconds 
beats 

Constructor & Destructor Documentation

◆ TrackComp()

tracktion::engine::TrackCompManager::TrackComp::TrackComp ( Edit ,
const juce::ValueTree &   
)

◆ ~TrackComp()

tracktion::engine::TrackCompManager::TrackComp::~TrackComp ( )
override

Member Function Documentation

◆ createAndIncRefCount()

static TrackComp* tracktion::engine::TrackCompManager::TrackComp::createAndIncRefCount ( Edit ,
const juce::ValueTree &   
)
static

◆ getSelectableDescription()

juce::String tracktion::engine::TrackCompManager::TrackComp::getSelectableDescription ( )
overridevirtual

Subclasses must return a description of what they are.

Implements tracktion::engine::Selectable.

◆ getTimeFormat()

TimeFormat tracktion::engine::TrackCompManager::TrackComp::getTimeFormat ( ) const
noexcept

◆ setTimeFormat()

void tracktion::engine::TrackCompManager::TrackComp::setTimeFormat ( TimeFormat  )

◆ getMuteTimes()

static juce::Array<TimeRange> tracktion::engine::TrackCompManager::TrackComp::getMuteTimes ( const juce::Array< TimeRange > &  nonMuteTimes)
static

◆ getNonMuteTimes()

juce::Array<TimeRange> tracktion::engine::TrackCompManager::TrackComp::getNonMuteTimes ( Track ,
TimeDuration  crossfadeTime 
) const

◆ getTimeRange()

TimeRange tracktion::engine::TrackCompManager::TrackComp::getTimeRange ( ) const

◆ setName()

void tracktion::engine::TrackCompManager::TrackComp::setName ( const juce::String &  )

◆ getSourceTrackID()

static EditItemID tracktion::engine::TrackCompManager::TrackComp::getSourceTrackID ( const juce::ValueTree &  )
static

◆ setSourceTrackID()

static void tracktion::engine::TrackCompManager::TrackComp::setSourceTrackID ( juce::ValueTree &  ,
EditItemID  ,
juce::UndoManager *   
)
static

◆ setSectionTrack()

void tracktion::engine::TrackCompManager::TrackComp::setSectionTrack ( CompSection ,
const Track::Ptr  
)

◆ removeSection()

void tracktion::engine::TrackCompManager::TrackComp::removeSection ( CompSection )

◆ moveSectionToEndAt()

CompSection* tracktion::engine::TrackCompManager::TrackComp::moveSectionToEndAt ( CompSection ,
double  newEndTime 
)

◆ moveSection()

CompSection* tracktion::engine::TrackCompManager::TrackComp::moveSection ( CompSection ,
double  timeDelta 
)

◆ moveSectionEndTime()

CompSection* tracktion::engine::TrackCompManager::TrackComp::moveSectionEndTime ( CompSection ,
double  newTime 
)

◆ removeSectionsWithinRange()

int tracktion::engine::TrackCompManager::TrackComp::removeSectionsWithinRange ( juce::Range< double >  ,
CompSection sectionToKeep 
)

◆ addSection() [1/2]

juce::ValueTree tracktion::engine::TrackCompManager::TrackComp::addSection ( EditItemID  trackID,
double  endTime,
juce::UndoManager *   
)

◆ addSection() [2/2]

CompSection* tracktion::engine::TrackCompManager::TrackComp::addSection ( Track::Ptr  ,
double  endTime 
)

◆ splitSectionAtTime()

CompSection* tracktion::engine::TrackCompManager::TrackComp::splitSectionAtTime ( double  )

◆ findSectionWithEdgeTimeWithin()

CompSection* tracktion::engine::TrackCompManager::TrackComp::findSectionWithEdgeTimeWithin ( const Track::Ptr ,
juce::Range< double >  ,
bool &  startEdge 
) const

◆ findSectionAtTime()

CompSection* tracktion::engine::TrackCompManager::TrackComp::findSectionAtTime ( const Track::Ptr ,
double   
) const

◆ getSectionsForTrack()

juce::Array<Section> tracktion::engine::TrackCompManager::TrackComp::getSectionsForTrack ( const Track::Ptr ) const

◆ isSuitableType()

bool tracktion::engine::TrackCompManager::TrackComp::isSuitableType ( const juce::ValueTree &  ) const
overridevirtual

◆ createNewObject()

CompSection* tracktion::engine::TrackCompManager::TrackComp::createNewObject ( const juce::ValueTree &  )
overridevirtual

◆ deleteObject()

void tracktion::engine::TrackCompManager::TrackComp::deleteObject ( CompSection )
override

◆ newObjectAdded()

void tracktion::engine::TrackCompManager::TrackComp::newObjectAdded ( CompSection )
override

◆ objectRemoved()

void tracktion::engine::TrackCompManager::TrackComp::objectRemoved ( CompSection )
override

◆ objectOrderChanged()

void tracktion::engine::TrackCompManager::TrackComp::objectOrderChanged ( )
overridevirtual

◆ valueTreePropertyChanged()

void tracktion::engine::TrackCompManager::TrackComp::valueTreePropertyChanged ( juce::ValueTree &  ,
const juce::Identifier &   
)
override

Member Data Documentation

◆ state

juce::ValueTree tracktion::engine::TrackCompManager::TrackComp::state

◆ edit

Edit& tracktion::engine::TrackCompManager::TrackComp::edit

◆ name

juce::CachedValue<juce::String> tracktion::engine::TrackCompManager::TrackComp::name

◆ includedColour

juce::CachedValue<juce::Colour> tracktion::engine::TrackCompManager::TrackComp::includedColour

◆ excludedColour

juce::CachedValue<juce::Colour> tracktion::engine::TrackCompManager::TrackComp::excludedColour

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