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

« « « Anklang Documentation
Loading...
Searching...
No Matches
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:
tracktion::engine::Selectable juce::ReferenceCountedObject tracktion::engine::ValueTreeObjectList< CompSection > juce::ValueTree::Listener

Classes

struct  Section
 

Public Types

enum  TimeFormat { seconds , 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 &)
 
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 tracktion::engine::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 juce::ReferenceCountedObject
void incReferenceCount () noexcept
 
void decReferenceCount () noexcept
 
bool decReferenceCountWithoutDeleting () noexcept
 
int getReferenceCount () const noexcept
 
- Public Member Functions inherited from tracktion::engine::ValueTreeObjectList< CompSection >
 ValueTreeObjectList (const juce::ValueTree &parentTree)
 
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)
 
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.
 

Public Attributes

juce::ValueTree state
 
Editedit
 
juce::CachedValue< juce::Stringname
 
juce::CachedValue< juce::ColourincludedColour
 
juce::CachedValue< juce::ColourexcludedColour
 
- 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 juce::ReferenceCountedObject
 ReferenceCountedObject (const ReferenceCountedObject &) noexcept
 
 ReferenceCountedObject (ReferenceCountedObject &&) noexcept
 
ReferenceCountedObjectoperator= (const ReferenceCountedObject &) noexcept
 
ReferenceCountedObjectoperator= (ReferenceCountedObject &&) noexcept
 
void resetReferenceCount () noexcept
 
- 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
 

Detailed Description

Definition at line 63 of file tracktion_TrackCompManager.h.


Class Documentation

◆ tracktion::engine::TrackCompManager::TrackComp::Section

struct tracktion::engine::TrackCompManager::TrackComp::Section

Definition at line 109 of file tracktion_TrackCompManager.h.

Class Members
CompSection * compSection
Range< double > timeRange

Member Typedef Documentation

◆ Ptr

Definition at line 76 of file tracktion_TrackCompManager.h.

Member Enumeration Documentation

◆ TimeFormat

enum tracktion::engine::TrackCompManager::TrackComp::TimeFormat

Definition at line 67 of file tracktion_TrackCompManager.h.

Constructor & Destructor Documentation

◆ TrackComp()

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

Definition at line 55 of file tracktion_TrackCompManager.cpp.

◆ ~TrackComp()

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

Definition at line 67 of file tracktion_TrackCompManager.cpp.

Member Function Documentation

◆ addSection() [1/2]

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

Definition at line 350 of file tracktion_TrackCompManager.cpp.

◆ addSection() [2/2]

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

Definition at line 378 of file tracktion_TrackCompManager.cpp.

◆ createAndIncRefCount()

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

Definition at line 48 of file tracktion_TrackCompManager.cpp.

◆ createNewObject()

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

◆ deleteObject()

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

Definition at line 459 of file tracktion_TrackCompManager.cpp.

◆ findSectionAtTime()

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

Definition at line 437 of file tracktion_TrackCompManager.cpp.

◆ findSectionWithEdgeTimeWithin()

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

Definition at line 415 of file tracktion_TrackCompManager.cpp.

◆ getMuteTimes()

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

Definition at line 88 of file tracktion_TrackCompManager.cpp.

◆ getNonMuteTimes()

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

Definition at line 111 of file tracktion_TrackCompManager.cpp.

◆ getSectionsForTrack()

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

Definition at line 396 of file tracktion_TrackCompManager.cpp.

◆ getSelectableDescription()

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

Subclasses must return a description of what they are.

Implements tracktion::engine::Selectable.

Definition at line 74 of file tracktion_TrackCompManager.cpp.

◆ getSourceTrackID()

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

Definition at line 191 of file tracktion_TrackCompManager.cpp.

◆ getTimeFormat()

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

Definition at line 81 of file tracktion_TrackCompManager.h.

◆ getTimeRange()

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

Definition at line 153 of file tracktion_TrackCompManager.cpp.

◆ isSuitableType()

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

◆ moveSection()

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

Definition at line 242 of file tracktion_TrackCompManager.cpp.

◆ moveSectionEndTime()

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

Definition at line 285 of file tracktion_TrackCompManager.cpp.

◆ moveSectionToEndAt()

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

Definition at line 234 of file tracktion_TrackCompManager.cpp.

◆ newObjectAdded()

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

Definition at line 460 of file tracktion_TrackCompManager.cpp.

◆ objectOrderChanged()

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

◆ objectRemoved()

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

Definition at line 461 of file tracktion_TrackCompManager.cpp.

◆ removeSection()

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

Definition at line 208 of file tracktion_TrackCompManager.cpp.

◆ removeSectionsWithinRange()

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

Definition at line 318 of file tracktion_TrackCompManager.cpp.

◆ setName()

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

Definition at line 186 of file tracktion_TrackCompManager.cpp.

◆ setSectionTrack()

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

Definition at line 201 of file tracktion_TrackCompManager.cpp.

◆ setSourceTrackID()

void tracktion::engine::TrackCompManager::TrackComp::setSourceTrackID ( juce::ValueTree v,
EditItemID  newID,
juce::UndoManager um 
)
static

Definition at line 196 of file tracktion_TrackCompManager.cpp.

◆ setTimeFormat()

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

Definition at line 76 of file tracktion_TrackCompManager.cpp.

◆ splitSectionAtTime()

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

Definition at line 386 of file tracktion_TrackCompManager.cpp.

◆ valueTreePropertyChanged()

void tracktion::engine::TrackCompManager::TrackComp::valueTreePropertyChanged ( juce::ValueTree v,
const juce::Identifier i 
)
overridevirtual

Reimplemented from juce::ValueTree::Listener.

Definition at line 464 of file tracktion_TrackCompManager.cpp.

Member Data Documentation

◆ edit

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

Definition at line 125 of file tracktion_TrackCompManager.h.

◆ excludedColour

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

Definition at line 128 of file tracktion_TrackCompManager.h.

◆ includedColour

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

Definition at line 128 of file tracktion_TrackCompManager.h.

◆ name

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

Definition at line 127 of file tracktion_TrackCompManager.h.

◆ state

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

Definition at line 124 of file tracktion_TrackCompManager.h.


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