TracktionEngine
Loading...
Searching...
No Matches
Classes | Public Types | Public Member Functions | Static Public Member Functions | Public Attributes | List of all members
engine::TrackCompManager::TrackComp Struct Reference

#include <tracktion_TrackCompManager.h>

Inheritance diagram for engine::TrackCompManager::TrackComp:

Classes

struct  Section
 

Public Types

enum  TimeFormat { seconds = 0 , beats }
 
using Ptr = juce::ReferenceCountedObjectPtr< TrackComp >
 
- Public Types inherited from engine::Selectable
using WeakRef = juce::WeakReference< Selectable >
 
- Public Types inherited from engine::ValueTreeObjectList< CompSection >
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 &)
 
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 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.
 
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 ()
 
- Public Member Functions inherited from 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
 

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 engine::Selectable
static void initialise ()
 
static bool isSelectableValid (const Selectable *) noexcept
 checks whether this object has been deleted.
 

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 engine::Selectable
WeakRef::Master masterReference
 
- Public Attributes inherited from engine::ValueTreeObjectList< CompSection >
juce::Array< CompSection * > objects
 
juce::DummyCriticalSection arrayLock
 

Additional Inherited Members

- Protected Member Functions inherited from engine::ValueTreeObjectList< CompSection >
void deleteAllObjects ()
 
bool isChildTree (juce::ValueTree &v) const
 
int indexOf (const juce::ValueTree &v) const noexcept
 
void sortArray ()
 
- Protected Attributes inherited from engine::ValueTreeObjectList< CompSection >
juce::ValueTree parent
 

Member Typedef Documentation

◆ Ptr

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

Member Enumeration Documentation

◆ TimeFormat

Enumerator
seconds 
beats 

Constructor & Destructor Documentation

◆ TrackComp()

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

◆ ~TrackComp()

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

Member Function Documentation

◆ createAndIncRefCount()

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

◆ getSelectableDescription()

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

Subclasses must return a description of what they are.

Implements engine::Selectable.

◆ getTimeFormat()

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

◆ setTimeFormat()

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

◆ getMuteTimes()

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

◆ getNonMuteTimes()

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

◆ getTimeRange()

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

◆ setName()

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

◆ getSourceTrackID()

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

◆ setSourceTrackID()

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

◆ setSectionTrack()

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

◆ removeSection()

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

◆ moveSectionToEndAt()

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

◆ moveSection()

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

◆ moveSectionEndTime()

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

◆ removeSectionsWithinRange()

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

◆ addSection() [1/2]

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

◆ addSection() [2/2]

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

◆ splitSectionAtTime()

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

◆ findSectionWithEdgeTimeWithin()

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

◆ findSectionAtTime()

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

◆ getSectionsForTrack()

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

◆ isSuitableType()

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

◆ createNewObject()

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

◆ deleteObject()

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

◆ newObjectAdded()

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

◆ objectRemoved()

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

◆ objectOrderChanged()

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

◆ valueTreePropertyChanged()

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

Member Data Documentation

◆ state

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

◆ edit

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

◆ name

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

◆ includedColour

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

◆ excludedColour

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

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