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

« « « Anklang Documentation
Loading...
Searching...
No Matches
Public Types | Public Member Functions | Friends | List of all members
tracktion::engine::FolderTrack Class Reference
Inheritance diagram for tracktion::engine::FolderTrack:
tracktion::engine::Track tracktion::engine::EditItem tracktion::engine::Selectable juce::ReferenceCountedObject juce::ValueTree::Listener juce::AsyncUpdater

Public Types

using Ptr = juce::ReferenceCountedObjectPtr< FolderTrack >
 
- Public Types inherited from tracktion::engine::Track
enum  FreezeType { groupFreeze , individualFreeze , anyFreeze }
 Determines the type of freeze. More...
 
enum  MuteAndSoloLightState {
  soloLit , soloFlashing , soloIsolate , muteLit ,
  muteFlashing
}
 Determines the status of the mute and solo indicators. More...
 
using Ptr = juce::ReferenceCountedObjectPtr< Track >
 
using Array = juce::ReferenceCountedArray< Track >
 
- Public Types inherited from tracktion::engine::Selectable
using WeakRef = juce::WeakReference< Selectable >
 

Public Member Functions

 FolderTrack (Edit &, const juce::ValueTree &)
 
juce::String getSelectableDescription () override
 Subclasses must return a description of what they are.
 
bool isFolderTrack () const override
 Returns true if this is a FolderTrack.
 
void initialise () override
 Initialises the Track.
 
void sanityCheckName () override
 Sub-classes can impliment this to avoid certain characters being used in a name.
 
juce::String getName () const override
 
int getFolderTrackNumber () const noexcept
 
bool isSubmixFolder () const
 
TrackOutputgetOutput () const noexcept
 Returns the output if this track is a submix folder.
 
juce::Array< Track * > getInputTracks () const override
 Should return any tracks which feed into this track.
 
bool isFrozen (FreezeType) const override
 Returns true if this track is frozen using the given type.
 
float getVcaDb (TimePosition)
 
VCAPlugingetVCAPlugin ()
 
VolumeAndPanPlugingetVolumePlugin ()
 
void generateCollectionClips (SelectionManager &)
 
CollectionClipgetCollectionClip (int index) const noexcept
 
int getNumCollectionClips () const noexcept
 
int indexOfCollectionClip (CollectionClip *) const
 
int getIndexOfNextCollectionClipAt (TimePosition)
 
CollectionClipgetNextCollectionClipAt (TimePosition)
 
bool contains (CollectionClip *) const
 
int getNumTrackItems () const override
 Should return the number of TrackItem[s] on this Track.
 
TrackItemgetTrackItem (int idx) const override
 Should return the TrackItem at the given index.
 
int indexOfTrackItem (TrackItem *) const override
 Should return the index of the given TrackItem.
 
int getIndexOfNextTrackItemAt (TimePosition) override
 Should return the index of the TrackItem after this time.
 
TrackItemgetNextTrackItemAt (TimePosition) override
 Should return the TrackItem after this time.
 
bool isMuted (bool includeMutingByDestination) const override
 Returns true if this track is muted.
 
bool isSolo (bool includeIndirectSolo) const override
 Returns true if this track is soloed.
 
bool isSoloIsolate (bool includeIndirectSolo) const override
 Returns true if this track is solo isolated.
 
void setMute (bool) override
 Subclasses should implement this to mute themselves.
 
void setSolo (bool) override
 Subclasses should implement this to solo themselves.
 
void setSoloIsolate (bool) override
 Subclasses should implement this to solo isolate themselves.
 
void setDirtyClips ()
 
bool canContainPlugin (Plugin *) const override
 Returns true if this track can contain a specific Plugin.
 
bool willAcceptPlugin (Plugin &)
 
- Public Member Functions inherited from tracktion::engine::Track
 Track (Edit &, const juce::ValueTree &, bool hasModifierList)
 Creates a track with a given state.
 
 ~Track () override
 Destructor.
 
virtual void flushStateToValueTree ()
 Flushes all plugin states on the track to the state object.
 
void refreshCurrentAutoParam ()
 Updates the current parameter bases on the set IDs.
 
juce::String getName () const override
 Returns the name of the Track.
 
void setName (const juce::String &)
 Sets the name of the Track.
 
void resetName ()
 Sets the name of the Track to an empty string.
 
virtual bool isAudioTrack () const
 Returns true if this is an AudioTrack.
 
virtual bool isAutomationTrack () const
 Returns true if this is an AutomationTrack.
 
virtual bool isMarkerTrack () const
 Returns true if this is a MarkerTrack.
 
virtual bool isTempoTrack () const
 Returns true if this is a TempoTrack.
 
virtual bool isChordTrack () const
 Returns true if this is a ChordTrack.
 
virtual bool isArrangerTrack () const
 Returns true if this is an ArrangerTrack.
 
virtual bool isMasterTrack () const
 Returns true if this is a MasterTrack.
 
bool canContainMarkers () const
 Returns true if this Track can contain MarkerClip[s].
 
bool canContainMIDI () const
 Returns true if this Track can contain MidiClip[s].
 
bool canContainAudio () const
 Returns true if this Track can contain WaveAudioClip[s].
 
bool canContainEditClips () const
 Returns true if this Track can contain EditClip[s].
 
bool canContainPlugins () const
 Returns true if this Track can contain Plugin[s].
 
bool isMovable () const
 Returns true if this Track is movable.
 
bool acceptsInput () const
 Returns true if this track can have inputs assigned to it.
 
bool createsOutput () const
 Returns true if this track creates audible output.
 
bool wantsAutomation () const
 Returns true if this track can show automation.
 
virtual void setFrozen (bool, FreezeType)
 Attempts to freeze or unfreeze the track using a given FreezeType.
 
bool isHidden () const
 Returns true if this track should be hidden from view.
 
void setHidden (bool h)
 Sets whether this track should be hidden from view.
 
bool isProcessing (bool includeParents) const
 Returns true if this track should be included in playback.
 
void setProcessing (bool p)
 Sets whether this track should be included in playback.
 
virtual bool processAudioNodesWhileMuted () const
 Subclasses can override this to ensure track contents are still played even when the track is muted.
 
juce::Array< Track * > getAllSubTracks (bool recursive) const
 Returns all nested tracks.
 
juce::Array< AudioTrack * > getAllAudioSubTracks (bool recursive) const
 Returns all nested AudioTrack[s].
 
TrackListgetSubTrackList () const
 Returns the TrackList if this Track has any sub-tracks.
 
bool hasSubTracks () const
 Returns true if this track has any subtracks.
 
virtual ClipfindClipForID (EditItemID) const
 Returns a clip one with a matching ID can be found on this Track.
 
TrackgetSiblingTrack (int delta, bool keepWithinSameParent) const
 Returns a sibling Track to this one.
 
virtual void insertSpaceIntoTrack (TimePosition, TimeDuration)
 Should insert empty space in to the track, shuffling down any items after the time.
 
juce::ValueTree getParentTrackTree () const
 Returns the state of the parent Track.
 
TrackgetParentTrack () const
 Returns the parent Track if this is a nested track.
 
FolderTrackgetParentFolderTrack () const
 Returns the parent FolderTrack if this is nested in one.
 
bool isAChildOf (const Track &possibleParent) const
 Tests whether this is a child of a given Track.
 
bool isPartOfSubmix () const
 Tests whether this nested within a submix FolderTrack.
 
int getIndexInEditTrackList () const
 Returns the index of this track in a flat list of tracks contained in an Edit.
 
int getTrackDepth () const
 Returns the number of parents within which this track is nested.
 
MuteAndSoloLightState getMuteAndSoloLightState () const
 Returns the mute a solo status.
 
bool shouldBePlayed () const noexcept
 Tests whether this track should be audible in the playback graph i.e.
 
void updateAudibility (bool areAnyTracksSolo)
 Updates the audibility state of the Track.
 
juce::Array< AutomatableParameter * > getAllAutomatableParams () const
 Returns all the parameters for this track's Plugin[s] and Modifier[s].
 
void visitAllAutomatableParams (const std::function< void(AutomatableParameter &)> &) const
 Visits all the parameters for this track's Plugin[s] and Modifier[s].
 
AutomatableParametergetCurrentlyShownAutoParam () const noexcept
 Returns the parameter whos curve should be shown on this Track.
 
void setCurrentlyShownAutoParam (const AutomatableParameter::Ptr &)
 Sets a parameter to display on this Track.
 
void hideAutomatableParametersForSource (EditItemID pluginOrParameterID)
 Hides a shown parameter if it matches the given ID.
 
virtual bool containsPlugin (const Plugin *) const
 Tests whether this Track or a clip on it contains the given plugin.
 
bool hasFreezePointPlugin () const
 Tests whether this Track contains a FreezePointPlugin.
 
juce::Array< AutomatableEditItem * > getAllAutomatableEditItems () const
 Returns all AutomatableEditItem[s] on this Track.
 
virtual Plugin::Array getAllPlugins () const
 Returns all pugins on this Track.
 
virtual void sendMirrorUpdateToAllPlugins (Plugin &changedPlugin) const
 Sends a message to all plugins that the given plugin has changed.
 
void flipAllPluginsEnablement ()
 Toggles the Plugin::isEnabled state for all Plugin[s] on this Track.
 
ModifierListgetModifierList () const
 Returns the ModifierList for this track, if it has one.
 
void setColour (juce::Colour newColour)
 Sets a colour for this track to use.
 
juce::Colour getColour () const
 Returns the the of this.
 
bool canShowImage () const
 Tests whether this Track can show an image.
 
void setTrackImage (const juce::String &idOrData)
 Sets some image data to use.
 
juce::String getTrackImage () const
 Returns previously set image data.
 
bool imageHasChanged ()
 Tests and resets a flag internally kept when the image changes.
 
void setTags (const juce::StringArray &)
 Sets an array of Strings to use as tags.
 
juce::String getTags () const
 Returns the tags as a pipe-separated single String.
 
const juce::StringArraygetTagsArray () const noexcept
 Returns the array of tags.
 
- Public Member Functions inherited from tracktion::engine::EditItem
 EditItem (EditItemID, Edit &)
 
- 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
 

Friends

class Edit
 

Additional Inherited Members

- 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 inherited from tracktion::engine::Track
juce::ValueTree state
 The state of this Track.
 
PluginList pluginList
 The Track's PluginList.
 
- Public Attributes inherited from tracktion::engine::EditItem
Editedit
 
const EditItemID itemID
 Every EditItem has an ID which is unique within the edit.
 
- Public Attributes inherited from tracktion::engine::Selectable
WeakRef::Master masterReference
 
- Static Public Attributes inherited from tracktion::engine::Track
static const int minTrackHeightForDetail
 The minimim height to show track contents at.
 
static const int trackHeightForEditor
 The height at which inline editors should be shown.
 
static const int frozenTrackHeight
 The height to show group frozen tracks.
 
- Protected Member Functions inherited from tracktion::engine::Track
void valueTreePropertyChanged (juce::ValueTree &, const juce::Identifier &) override
 
void valueTreeChildAdded (juce::ValueTree &, juce::ValueTree &) override
 
void valueTreeChildRemoved (juce::ValueTree &, juce::ValueTree &, int) override
 
void valueTreeChildOrderChanged (juce::ValueTree &, int, int) override
 
void valueTreeParentChanged (juce::ValueTree &) override
 
void handleAsyncUpdate () override
 
virtual bool isTrackAudible (bool areAnyTracksSolo) const
 Returns whether this Track should be audible.
 
- 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 juce::ValueTree::Listener
virtual void valueTreeRedirected (ValueTree &treeWhichHasBeenChanged)
 
- Protected Member Functions inherited from juce::AsyncUpdater
void triggerAsyncUpdate ()
 
void cancelPendingUpdate () noexcept
 
void handleUpdateNowIfNeeded ()
 
bool isUpdatePending () const noexcept
 

Detailed Description

Definition at line 15 of file tracktion_FolderTrack.h.

Member Typedef Documentation

◆ Ptr

Definition at line 21 of file tracktion_FolderTrack.h.

Constructor & Destructor Documentation

◆ FolderTrack()

tracktion::engine::FolderTrack::FolderTrack ( Edit ed,
const juce::ValueTree v 
)

Definition at line 14 of file tracktion_FolderTrack.cpp.

◆ ~FolderTrack()

tracktion::engine::FolderTrack::~FolderTrack ( )
override

Definition at line 24 of file tracktion_FolderTrack.cpp.

Member Function Documentation

◆ canContainPlugin()

bool tracktion::engine::FolderTrack::canContainPlugin ( Plugin ) const
overridevirtual

Returns true if this track can contain a specific Plugin.

Subclasses can override this to avoid specific plugins such as VCAPlugin[s] on AudioTrack[s].

Implements tracktion::engine::Track.

Definition at line 468 of file tracktion_FolderTrack.cpp.

◆ contains()

bool tracktion::engine::FolderTrack::contains ( CollectionClip clip) const

Definition at line 414 of file tracktion_FolderTrack.cpp.

◆ generateCollectionClips()

void tracktion::engine::FolderTrack::generateCollectionClips ( SelectionManager sm)

Definition at line 238 of file tracktion_FolderTrack.cpp.

◆ getCollectionClip()

CollectionClip * tracktion::engine::FolderTrack::getCollectionClip ( int  index) const
noexcept

Definition at line 389 of file tracktion_FolderTrack.cpp.

◆ getFolderTrackNumber()

int tracktion::engine::FolderTrack::getFolderTrackNumber ( ) const
noexcept

Definition at line 74 of file tracktion_FolderTrack.cpp.

◆ getIndexOfNextCollectionClipAt()

int tracktion::engine::FolderTrack::getIndexOfNextCollectionClipAt ( TimePosition  time)

Definition at line 404 of file tracktion_FolderTrack.cpp.

◆ getIndexOfNextTrackItemAt()

int tracktion::engine::FolderTrack::getIndexOfNextTrackItemAt ( TimePosition  )
overridevirtual

Should return the index of the TrackItem after this time.

Reimplemented from tracktion::engine::Track.

Definition at line 429 of file tracktion_FolderTrack.cpp.

◆ getInputTracks()

juce::Array< Track * > tracktion::engine::FolderTrack::getInputTracks ( ) const
overridevirtual

Should return any tracks which feed into this track.

Reimplemented from tracktion::engine::Track.

Definition at line 113 of file tracktion_FolderTrack.cpp.

◆ getName()

juce::String tracktion::engine::FolderTrack::getName ( ) const
overridevirtual

Implements tracktion::engine::EditItem.

Definition at line 63 of file tracktion_FolderTrack.cpp.

◆ getNextCollectionClipAt()

CollectionClip * tracktion::engine::FolderTrack::getNextCollectionClipAt ( TimePosition  time)

Definition at line 409 of file tracktion_FolderTrack.cpp.

◆ getNextTrackItemAt()

TrackItem * tracktion::engine::FolderTrack::getNextTrackItemAt ( TimePosition  )
overridevirtual

Should return the TrackItem after this time.

Reimplemented from tracktion::engine::Track.

Definition at line 439 of file tracktion_FolderTrack.cpp.

◆ getNumCollectionClips()

int tracktion::engine::FolderTrack::getNumCollectionClips ( ) const
noexcept

Definition at line 394 of file tracktion_FolderTrack.cpp.

◆ getNumTrackItems()

int tracktion::engine::FolderTrack::getNumTrackItems ( ) const
overridevirtual

Should return the number of TrackItem[s] on this Track.

Reimplemented from tracktion::engine::Track.

Definition at line 424 of file tracktion_FolderTrack.cpp.

◆ getOutput()

TrackOutput * tracktion::engine::FolderTrack::getOutput ( ) const
noexcept

Returns the output if this track is a submix folder.

Definition at line 101 of file tracktion_FolderTrack.cpp.

◆ getSelectableDescription()

juce::String tracktion::engine::FolderTrack::getSelectableDescription ( )
overridevirtual

Subclasses must return a description of what they are.

Implements tracktion::engine::Selectable.

Definition at line 35 of file tracktion_FolderTrack.cpp.

◆ getTrackItem()

TrackItem * tracktion::engine::FolderTrack::getTrackItem ( int  ) const
overridevirtual

Should return the TrackItem at the given index.

Reimplemented from tracktion::engine::Track.

Definition at line 434 of file tracktion_FolderTrack.cpp.

◆ getVcaDb()

float tracktion::engine::FolderTrack::getVcaDb ( TimePosition  time)

Definition at line 218 of file tracktion_FolderTrack.cpp.

◆ getVCAPlugin()

VCAPlugin * tracktion::engine::FolderTrack::getVCAPlugin ( )

Definition at line 444 of file tracktion_FolderTrack.cpp.

◆ getVolumePlugin()

VolumeAndPanPlugin * tracktion::engine::FolderTrack::getVolumePlugin ( )

Definition at line 445 of file tracktion_FolderTrack.cpp.

◆ indexOfCollectionClip()

int tracktion::engine::FolderTrack::indexOfCollectionClip ( CollectionClip c) const

Definition at line 399 of file tracktion_FolderTrack.cpp.

◆ indexOfTrackItem()

int tracktion::engine::FolderTrack::indexOfTrackItem ( TrackItem ) const
overridevirtual

Should return the index of the given TrackItem.

Reimplemented from tracktion::engine::Track.

Definition at line 419 of file tracktion_FolderTrack.cpp.

◆ initialise()

void tracktion::engine::FolderTrack::initialise ( )
overridevirtual

Initialises the Track.

You shouldn't need to call this directly, it will be called by the track creation methods.

See also
Edit::insertTrack

Reimplemented from tracktion::engine::Track.

Definition at line 29 of file tracktion_FolderTrack.cpp.

◆ isFolderTrack()

bool tracktion::engine::FolderTrack::isFolderTrack ( ) const
overridevirtual

Returns true if this is a FolderTrack.

Reimplemented from tracktion::engine::Track.

Definition at line 40 of file tracktion_FolderTrack.cpp.

◆ isFrozen()

bool tracktion::engine::FolderTrack::isFrozen ( FreezeType  ) const
overridevirtual

Returns true if this track is frozen using the given type.

Reimplemented from tracktion::engine::Track.

Definition at line 455 of file tracktion_FolderTrack.cpp.

◆ isMuted()

bool tracktion::engine::FolderTrack::isMuted ( bool  ) const
overridevirtual

Returns true if this track is muted.

Parameters
includeMutingByDestinationIf this is true, this will retrn true if any tracks this feeds in to are muted.

Reimplemented from tracktion::engine::Track.

Definition at line 130 of file tracktion_FolderTrack.cpp.

◆ isSolo()

bool tracktion::engine::FolderTrack::isSolo ( bool  ) const
overridevirtual

Returns true if this track is soloed.

Parameters
includeIndirectSoloIf this is true, this will retrn true if any tracks this feeds in to are soloed.

Reimplemented from tracktion::engine::Track.

Definition at line 142 of file tracktion_FolderTrack.cpp.

◆ isSoloIsolate()

bool tracktion::engine::FolderTrack::isSoloIsolate ( bool  ) const
overridevirtual

Returns true if this track is solo isolated.

Parameters
includeIndirectSoloIf this is true, this will retrn true if any tracks this feeds in to are solo isolated.

Reimplemented from tracktion::engine::Track.

Definition at line 180 of file tracktion_FolderTrack.cpp.

◆ isSubmixFolder()

bool tracktion::engine::FolderTrack::isSubmixFolder ( ) const

Definition at line 92 of file tracktion_FolderTrack.cpp.

◆ sanityCheckName()

void tracktion::engine::FolderTrack::sanityCheckName ( )
overridevirtual

Sub-classes can impliment this to avoid certain characters being used in a name.

Reimplemented from tracktion::engine::Track.

Definition at line 45 of file tracktion_FolderTrack.cpp.

◆ setDirtyClips()

void tracktion::engine::FolderTrack::setDirtyClips ( )

Definition at line 447 of file tracktion_FolderTrack.cpp.

◆ setMute()

void tracktion::engine::FolderTrack::setMute ( bool  )
overridevirtual

Subclasses should implement this to mute themselves.

Reimplemented from tracktion::engine::Track.

Definition at line 490 of file tracktion_FolderTrack.cpp.

◆ setSolo()

void tracktion::engine::FolderTrack::setSolo ( bool  )
overridevirtual

Subclasses should implement this to solo themselves.

Reimplemented from tracktion::engine::Track.

Definition at line 491 of file tracktion_FolderTrack.cpp.

◆ setSoloIsolate()

void tracktion::engine::FolderTrack::setSoloIsolate ( bool  )
overridevirtual

Subclasses should implement this to solo isolate themselves.

Reimplemented from tracktion::engine::Track.

Definition at line 492 of file tracktion_FolderTrack.cpp.

◆ willAcceptPlugin()

bool tracktion::engine::FolderTrack::willAcceptPlugin ( Plugin p)

Definition at line 473 of file tracktion_FolderTrack.cpp.

Friends And Related Symbol Documentation

◆ Edit

friend class Edit
friend

Definition at line 83 of file tracktion_FolderTrack.h.


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