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 | Public Attributes | Static Public Attributes | Protected Member Functions | List of all members
tracktion::engine::Track Class Referenceabstract

Base class for tracks which contain clips and plugins and can be added to Edit[s]. More...

#include "tracktion_Track.h"

Inheritance diagram for tracktion::engine::Track:
tracktion::engine::EditItem tracktion::engine::Selectable juce::ReferenceCountedObject juce::ValueTree::Listener juce::AsyncUpdater tracktion::engine::AutomationTrack tracktion::engine::ClipTrack tracktion::engine::FolderTrack tracktion::engine::MasterTrack tracktion::engine::TempoTrack tracktion::engine::ArrangerTrack tracktion::engine::AudioTrack tracktion::engine::ChordTrack tracktion::engine::MarkerTrack

Public Types

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

 Track (Edit &, const juce::ValueTree &, bool hasModifierList)
 Creates a track with a given state.
 
 ~Track () override
 Destructor.
 
virtual void initialise ()
 Initialises the Track.
 
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 void sanityCheckName ()
 Sub-classes can impliment this to avoid certain characters being used in a name.
 
virtual bool isAudioTrack () const
 Returns true if this is an AudioTrack.
 
virtual bool isAutomationTrack () const
 Returns true if this is an AutomationTrack.
 
virtual bool isFolderTrack () const
 Returns true if this is a FolderTrack.
 
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 bool canContainPlugin (Plugin *) const =0
 Returns true if this track can contain a specific Plugin.
 
virtual bool isFrozen (FreezeType) const
 Returns true if this track is frozen using the given type.
 
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.
 
virtual juce::Array< Track * > getInputTracks () const
 Should return any tracks which feed into this track.
 
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 int getNumTrackItems () const
 Should return the number of TrackItem[s] on this Track.
 
virtual TrackItemgetTrackItem (int) const
 Should return the TrackItem at the given index.
 
virtual int indexOfTrackItem (TrackItem *) const
 Should return the index of the given TrackItem.
 
virtual int getIndexOfNextTrackItemAt (TimePosition)
 Should return the index of the TrackItem after this time.
 
virtual TrackItemgetNextTrackItemAt (TimePosition)
 Should return the TrackItem after this time.
 
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.
 
virtual bool isMuted (bool) const
 Returns true if this track is muted.
 
virtual bool isSolo (bool) const
 Returns true if this track is soloed.
 
virtual bool isSoloIsolate (bool) const
 Returns true if this track is solo isolated.
 
virtual void setMute (bool)
 Subclasses should implement this to mute themselves.
 
virtual void setSolo (bool)
 Subclasses should implement this to solo themselves.
 
virtual void setSoloIsolate (bool)
 Subclasses should implement this to solo isolate themselves.
 
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 juce::String getSelectableDescription ()=0
 Subclasses must return a description of what they are.
 
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 Attributes

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

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

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
 

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.
 

Detailed Description

Base class for tracks which contain clips and plugins and can be added to Edit[s].

See also
AudioTrack, FolderTrack, AutomationTrack, MarkerTrack, TempoTrack, ChordTrack, ArrangerTrack

Definition at line 18 of file tracktion_Track.h.

Member Typedef Documentation

◆ Array

Definition at line 32 of file tracktion_Track.h.

◆ Ptr

Definition at line 31 of file tracktion_Track.h.

Member Enumeration Documentation

◆ FreezeType

Determines the type of freeze.

Enumerator
groupFreeze 

Freezes multiple tracks together in to a single file.

individualFreeze 

Freezes a track in to a single audio file.

anyFreeze 

Either a group or individual freeze.

Definition at line 130 of file tracktion_Track.h.

◆ MuteAndSoloLightState

Determines the status of the mute and solo indicators.

Enumerator
soloLit 

Track is explicitly soloed.

soloFlashing 

Track is implicitly soloed.

soloIsolate 

Track is explicitly solo isolated.

muteLit 

Track is explicitly muted.

muteFlashing 

Track is implicitly muted.

Definition at line 272 of file tracktion_Track.h.

Constructor & Destructor Documentation

◆ Track()

tracktion::engine::Track::Track ( Edit ed,
const juce::ValueTree v,
bool  hasModifierList 
)

Creates a track with a given state.

Definition at line 14 of file tracktion_Track.cpp.

◆ ~Track()

tracktion::engine::Track::~Track ( )
override

Destructor.

Definition at line 37 of file tracktion_Track.cpp.

Member Function Documentation

◆ acceptsInput()

bool tracktion::engine::Track::acceptsInput ( ) const

Returns true if this track can have inputs assigned to it.

See also
AudioTrack

Definition at line 115 of file tracktion_Track.h.

◆ canContainAudio()

bool tracktion::engine::Track::canContainAudio ( ) const

Returns true if this Track can contain WaveAudioClip[s].

Definition at line 103 of file tracktion_Track.h.

◆ canContainEditClips()

bool tracktion::engine::Track::canContainEditClips ( ) const

Returns true if this Track can contain EditClip[s].

Definition at line 106 of file tracktion_Track.h.

◆ canContainMarkers()

bool tracktion::engine::Track::canContainMarkers ( ) const

Returns true if this Track can contain MarkerClip[s].

Definition at line 97 of file tracktion_Track.h.

◆ canContainMIDI()

bool tracktion::engine::Track::canContainMIDI ( ) const

Returns true if this Track can contain MidiClip[s].

Definition at line 100 of file tracktion_Track.h.

◆ canContainPlugin()

virtual bool tracktion::engine::Track::canContainPlugin ( Plugin ) const
pure virtual

◆ canContainPlugins()

bool tracktion::engine::Track::canContainPlugins ( ) const

Returns true if this Track can contain Plugin[s].

Definition at line 109 of file tracktion_Track.h.

◆ canShowImage()

bool tracktion::engine::Track::canShowImage ( ) const

Tests whether this Track can show an image.

N.B. May be removed in a future version.

Definition at line 516 of file tracktion_Track.cpp.

◆ containsPlugin()

bool tracktion::engine::Track::containsPlugin ( const Plugin p) const
virtual

Tests whether this Track or a clip on it contains the given plugin.


Reimplemented in tracktion::engine::ClipTrack.

Definition at line 245 of file tracktion_Track.cpp.

◆ createsOutput()

bool tracktion::engine::Track::createsOutput ( ) const

Returns true if this track creates audible output.

See also
AudioTrack

Definition at line 118 of file tracktion_Track.h.

◆ findClipForID()

Clip * tracktion::engine::Track::findClipForID ( EditItemID  id) const
virtual

Returns a clip one with a matching ID can be found on this Track.

Reimplemented in tracktion::engine::ClipTrack.

Definition at line 140 of file tracktion_Track.cpp.

◆ flipAllPluginsEnablement()

void tracktion::engine::Track::flipAllPluginsEnablement ( )

Toggles the Plugin::isEnabled state for all Plugin[s] on this Track.

Definition at line 287 of file tracktion_Track.cpp.

◆ flushStateToValueTree()

void tracktion::engine::Track::flushStateToValueTree ( )
virtual

Flushes all plugin states on the track to the state object.

This is usually called automatically when an Edit is saved.

Reimplemented in tracktion::engine::ClipTrack.

Definition at line 49 of file tracktion_Track.cpp.

◆ getAllAudioSubTracks()

juce::Array< AudioTrack * > tracktion::engine::Track::getAllAudioSubTracks ( bool  recursive) const

Returns all nested AudioTrack[s].

Parameters
recursiveWhether to include all tracks recursively.

Definition at line 112 of file tracktion_Track.cpp.

◆ getAllAutomatableEditItems()

juce::Array< AutomatableEditItem * > tracktion::engine::Track::getAllAutomatableEditItems ( ) const

Returns all AutomatableEditItem[s] on this Track.

See also
Plugin, Modifier

Definition at line 259 of file tracktion_Track.cpp.

◆ getAllAutomatableParams()

juce::Array< AutomatableParameter * > tracktion::engine::Track::getAllAutomatableParams ( ) const

Returns all the parameters for this track's Plugin[s] and Modifier[s].

Definition at line 312 of file tracktion_Track.cpp.

◆ getAllPlugins()

Plugin::Array tracktion::engine::Track::getAllPlugins ( ) const
virtual

Returns all pugins on this Track.

Subclasses may implement this to also return Plugin[s] on Clip[s]

Reimplemented in tracktion::engine::ClipTrack.

Definition at line 277 of file tracktion_Track.cpp.

◆ getAllSubTracks()

juce::Array< Track * > tracktion::engine::Track::getAllSubTracks ( bool  recursive) const

Returns all nested tracks.

Parameters
recursiveWhether to include all tracks recursively.

Definition at line 130 of file tracktion_Track.cpp.

◆ getColour()

juce::Colour tracktion::engine::Track::getColour ( ) const

Returns the the of this.

Definition at line 349 of file tracktion_Track.h.

◆ getCurrentlyShownAutoParam()

AutomatableParameter * tracktion::engine::Track::getCurrentlyShownAutoParam ( ) const
noexcept

Returns the parameter whos curve should be shown on this Track.

Definition at line 405 of file tracktion_Track.cpp.

◆ getIndexInEditTrackList()

int tracktion::engine::Track::getIndexInEditTrackList ( ) const

Returns the index of this track in a flat list of tracks contained in an Edit.

Useful for naming Tracks.

Definition at line 93 of file tracktion_Track.cpp.

◆ getIndexOfNextTrackItemAt()

virtual int tracktion::engine::Track::getIndexOfNextTrackItemAt ( TimePosition  )
virtual

Should return the index of the TrackItem after this time.

Reimplemented in tracktion::engine::ClipTrack, tracktion::engine::FolderTrack, and tracktion::engine::TempoTrack.

Definition at line 205 of file tracktion_Track.h.

◆ getInputTracks()

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

Should return any tracks which feed into this track.

Reimplemented in tracktion::engine::AudioTrack, and tracktion::engine::FolderTrack.

Definition at line 162 of file tracktion_Track.h.

◆ getModifierList()

ModifierList * tracktion::engine::Track::getModifierList ( ) const

Returns the ModifierList for this track, if it has one.

Definition at line 337 of file tracktion_Track.h.

◆ getMuteAndSoloLightState()

Track::MuteAndSoloLightState tracktion::engine::Track::getMuteAndSoloLightState ( ) const

Returns the mute a solo status.

Definition at line 214 of file tracktion_Track.cpp.

◆ getName()

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

Returns the name of the Track.

Implements tracktion::engine::EditItem.

Definition at line 56 of file tracktion_Track.h.

◆ getNextTrackItemAt()

virtual TrackItem * tracktion::engine::Track::getNextTrackItemAt ( TimePosition  )
virtual

Should return the TrackItem after this time.

Reimplemented in tracktion::engine::ClipTrack, tracktion::engine::FolderTrack, and tracktion::engine::TempoTrack.

Definition at line 208 of file tracktion_Track.h.

◆ getNumTrackItems()

virtual int tracktion::engine::Track::getNumTrackItems ( ) const
virtual

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

Reimplemented in tracktion::engine::ClipTrack, tracktion::engine::FolderTrack, and tracktion::engine::TempoTrack.

Definition at line 196 of file tracktion_Track.h.

◆ getParentFolderTrack()

FolderTrack * tracktion::engine::Track::getParentFolderTrack ( ) const

Returns the parent FolderTrack if this is nested in one.

Definition at line 225 of file tracktion_Track.h.

◆ getParentTrack()

Track * tracktion::engine::Track::getParentTrack ( ) const

Returns the parent Track if this is a nested track.

Definition at line 222 of file tracktion_Track.h.

◆ getParentTrackTree()

juce::ValueTree tracktion::engine::Track::getParentTrackTree ( ) const

Returns the state of the parent Track.

Definition at line 428 of file tracktion_Track.cpp.

◆ getSiblingTrack()

Track * tracktion::engine::Track::getSiblingTrack ( int  delta,
bool  keepWithinSameParent 
) const

Returns a sibling Track to this one.

Parameters
deltaThe offset from this track. 1 is the next track, -1 is the previous.
keepWithinSameParentWhether to include parent and sub tracks or only tracks at this level.

Definition at line 149 of file tracktion_Track.cpp.

◆ getSubTrackList()

TrackList * tracktion::engine::Track::getSubTrackList ( ) const

Returns the TrackList if this Track has any sub-tracks.

May be nullptr if it doesn't.

Definition at line 178 of file tracktion_Track.h.

◆ getTags()

juce::String tracktion::engine::Track::getTags ( ) const

Returns the tags as a pipe-separated single String.

N.B. May be removed in a future version.

Definition at line 380 of file tracktion_Track.h.

◆ getTagsArray()

const juce::StringArray & tracktion::engine::Track::getTagsArray ( ) const
noexcept

Returns the array of tags.

N.B. May be removed in a future version.

Definition at line 385 of file tracktion_Track.h.

◆ getTrackDepth()

int tracktion::engine::Track::getTrackDepth ( ) const

Returns the number of parents within which this track is nested.

Definition at line 195 of file tracktion_Track.cpp.

◆ getTrackImage()

juce::String tracktion::engine::Track::getTrackImage ( ) const

Returns previously set image data.

N.B. May be removed in a future version.

Definition at line 365 of file tracktion_Track.h.

◆ getTrackItem()

virtual TrackItem * tracktion::engine::Track::getTrackItem ( int  ) const
virtual

Should return the TrackItem at the given index.

Reimplemented in tracktion::engine::ClipTrack, tracktion::engine::FolderTrack, and tracktion::engine::TempoTrack.

Definition at line 199 of file tracktion_Track.h.

◆ handleAsyncUpdate()

void tracktion::engine::Track::handleAsyncUpdate ( )
overrideprotectedvirtual

Implements juce::AsyncUpdater.

Definition at line 612 of file tracktion_Track.cpp.

◆ hasFreezePointPlugin()

bool tracktion::engine::Track::hasFreezePointPlugin ( ) const

Tests whether this Track contains a FreezePointPlugin.


Definition at line 250 of file tracktion_Track.cpp.

◆ hasSubTracks()

bool tracktion::engine::Track::hasSubTracks ( ) const

Returns true if this track has any subtracks.

Definition at line 181 of file tracktion_Track.h.

◆ hideAutomatableParametersForSource()

void tracktion::engine::Track::hideAutomatableParametersForSource ( EditItemID  pluginOrParameterID)

Hides a shown parameter if it matches the given ID.

Definition at line 416 of file tracktion_Track.cpp.

◆ imageHasChanged()

bool tracktion::engine::Track::imageHasChanged ( )

Tests and resets a flag internally kept when the image changes.

N.B. May be removed in a future version.

Definition at line 527 of file tracktion_Track.cpp.

◆ indexOfTrackItem()

virtual int tracktion::engine::Track::indexOfTrackItem ( TrackItem ) const
virtual

Should return the index of the given TrackItem.

Reimplemented in tracktion::engine::ClipTrack, tracktion::engine::FolderTrack, and tracktion::engine::TempoTrack.

Definition at line 202 of file tracktion_Track.h.

◆ initialise()

void tracktion::engine::Track::initialise ( )
virtual

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 in tracktion::engine::AudioTrack, tracktion::engine::ClipTrack, tracktion::engine::FolderTrack, and tracktion::engine::MasterTrack.

Definition at line 55 of file tracktion_Track.cpp.

◆ insertSpaceIntoTrack()

void tracktion::engine::Track::insertSpaceIntoTrack ( TimePosition  time,
TimeDuration  amountOfSpace 
)
virtual

Should insert empty space in to the track, shuffling down any items after the time.

Parameters
timeThe time point in seconds to insert at
amountOfSpaceThe duration of time to insert

Reimplemented in tracktion::engine::ClipTrack, and tracktion::engine::TempoTrack.

Definition at line 447 of file tracktion_Track.cpp.

◆ isAChildOf()

bool tracktion::engine::Track::isAChildOf ( const Track possibleParent) const

Tests whether this is a child of a given Track.

Definition at line 438 of file tracktion_Track.cpp.

◆ isArrangerTrack()

virtual bool tracktion::engine::Track::isArrangerTrack ( ) const
virtual

Returns true if this is an ArrangerTrack.

Reimplemented in tracktion::engine::ArrangerTrack.

Definition at line 90 of file tracktion_Track.h.

◆ isAudioTrack()

virtual bool tracktion::engine::Track::isAudioTrack ( ) const
virtual

Returns true if this is an AudioTrack.

Reimplemented in tracktion::engine::AudioTrack.

Definition at line 72 of file tracktion_Track.h.

◆ isAutomationTrack()

virtual bool tracktion::engine::Track::isAutomationTrack ( ) const
virtual

Returns true if this is an AutomationTrack.

Reimplemented in tracktion::engine::AutomationTrack.

Definition at line 75 of file tracktion_Track.h.

◆ isChordTrack()

virtual bool tracktion::engine::Track::isChordTrack ( ) const
virtual

Returns true if this is a ChordTrack.

Reimplemented in tracktion::engine::ChordTrack.

Definition at line 87 of file tracktion_Track.h.

◆ isFolderTrack()

virtual bool tracktion::engine::Track::isFolderTrack ( ) const
virtual

Returns true if this is a FolderTrack.

Reimplemented in tracktion::engine::FolderTrack.

Definition at line 78 of file tracktion_Track.h.

◆ isFrozen()

virtual bool tracktion::engine::Track::isFrozen ( FreezeType  ) const
virtual

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

Reimplemented in tracktion::engine::AudioTrack, and tracktion::engine::FolderTrack.

Definition at line 138 of file tracktion_Track.h.

◆ isHidden()

bool tracktion::engine::Track::isHidden ( ) const

Returns true if this track should be hidden from view.

Definition at line 144 of file tracktion_Track.h.

◆ isMarkerTrack()

virtual bool tracktion::engine::Track::isMarkerTrack ( ) const
virtual

Returns true if this is a MarkerTrack.

Reimplemented in tracktion::engine::MarkerTrack.

Definition at line 81 of file tracktion_Track.h.

◆ isMasterTrack()

virtual bool tracktion::engine::Track::isMasterTrack ( ) const
virtual

Returns true if this is a MasterTrack.

Reimplemented in tracktion::engine::MasterTrack.

Definition at line 93 of file tracktion_Track.h.

◆ isMovable()

bool tracktion::engine::Track::isMovable ( ) const

Returns true if this Track is movable.

See also
AudioTrack, FolderTrack

Definition at line 112 of file tracktion_Track.h.

◆ isMuted()

virtual bool tracktion::engine::Track::isMuted ( bool  ) const
virtual

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 in tracktion::engine::AudioTrack, and tracktion::engine::FolderTrack.

Definition at line 248 of file tracktion_Track.h.

◆ isPartOfSubmix()

bool tracktion::engine::Track::isPartOfSubmix ( ) const

Tests whether this nested within a submix FolderTrack.

See also
FolderTrack::isSubmixFolder

Definition at line 205 of file tracktion_Track.cpp.

◆ isProcessing()

bool tracktion::engine::Track::isProcessing ( bool  includeParents) const

Returns true if this track should be included in playback.

Definition at line 172 of file tracktion_Track.cpp.

◆ isSolo()

virtual bool tracktion::engine::Track::isSolo ( bool  ) const
virtual

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 in tracktion::engine::AudioTrack, and tracktion::engine::FolderTrack.

Definition at line 254 of file tracktion_Track.h.

◆ isSoloIsolate()

virtual bool tracktion::engine::Track::isSoloIsolate ( bool  ) const
virtual

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 in tracktion::engine::AudioTrack, and tracktion::engine::FolderTrack.

Definition at line 260 of file tracktion_Track.h.

◆ isTempoTrack()

virtual bool tracktion::engine::Track::isTempoTrack ( ) const
virtual

Returns true if this is a TempoTrack.

Reimplemented in tracktion::engine::TempoTrack.

Definition at line 84 of file tracktion_Track.h.

◆ isTrackAudible()

bool tracktion::engine::Track::isTrackAudible ( bool  areAnyTracksSolo) const
protectedvirtual

Returns whether this Track should be audible.

Subclasses can override for custom behaviour.

Reimplemented in tracktion::engine::AudioTrack.

Definition at line 182 of file tracktion_Track.cpp.

◆ processAudioNodesWhileMuted()

virtual bool tracktion::engine::Track::processAudioNodesWhileMuted ( ) const
virtual

Subclasses can override this to ensure track contents are still played even when the track is muted.

This may be required if this track is a sidechain source or feeding an aux for example.

Reimplemented in tracktion::engine::AudioTrack.

Definition at line 159 of file tracktion_Track.h.

◆ refreshCurrentAutoParam()

void tracktion::engine::Track::refreshCurrentAutoParam ( )

Updates the current parameter bases on the set IDs.

This is usually called automatically by the Edit when the ID changes or an Edit is loaded.

See also
getCurrentlyShownAutoParam

Definition at line 391 of file tracktion_Track.cpp.

◆ resetName()

void tracktion::engine::Track::resetName ( )

Sets the name of the Track to an empty string.

Base classes may then use this an an indication to return a name based on the track type and index

Definition at line 88 of file tracktion_Track.cpp.

◆ sanityCheckName()

virtual void tracktion::engine::Track::sanityCheckName ( )
virtual

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

Reimplemented in tracktion::engine::AudioTrack, and tracktion::engine::FolderTrack.

Definition at line 68 of file tracktion_Track.h.

◆ sendMirrorUpdateToAllPlugins()

void tracktion::engine::Track::sendMirrorUpdateToAllPlugins ( Plugin changedPlugin) const
virtual

Sends a message to all plugins that the given plugin has changed.

Reimplemented in tracktion::engine::ClipTrack.

Definition at line 282 of file tracktion_Track.cpp.

◆ setColour()

void tracktion::engine::Track::setColour ( juce::Colour  newColour)

Sets a colour for this track to use.

Definition at line 346 of file tracktion_Track.h.

◆ setCurrentlyShownAutoParam()

void tracktion::engine::Track::setCurrentlyShownAutoParam ( const AutomatableParameter::Ptr param)

Sets a parameter to display on this Track.

Definition at line 410 of file tracktion_Track.cpp.

◆ setFrozen()

virtual void tracktion::engine::Track::setFrozen ( bool  ,
FreezeType   
)
virtual

Attempts to freeze or unfreeze the track using a given FreezeType.

Reimplemented in tracktion::engine::AudioTrack.

Definition at line 141 of file tracktion_Track.h.

◆ setHidden()

void tracktion::engine::Track::setHidden ( bool  h)

Sets whether this track should be hidden from view.

Definition at line 147 of file tracktion_Track.h.

◆ setMute()

virtual void tracktion::engine::Track::setMute ( bool  )
virtual

Subclasses should implement this to mute themselves.

Reimplemented in tracktion::engine::AudioTrack, and tracktion::engine::FolderTrack.

Definition at line 263 of file tracktion_Track.h.

◆ setName()

void tracktion::engine::Track::setName ( const juce::String n)

Sets the name of the Track.

Definition at line 80 of file tracktion_Track.cpp.

◆ setProcessing()

void tracktion::engine::Track::setProcessing ( bool  p)

Sets whether this track should be included in playback.

Definition at line 153 of file tracktion_Track.h.

◆ setSolo()

virtual void tracktion::engine::Track::setSolo ( bool  )
virtual

Subclasses should implement this to solo themselves.

Reimplemented in tracktion::engine::AudioTrack, and tracktion::engine::FolderTrack.

Definition at line 266 of file tracktion_Track.h.

◆ setSoloIsolate()

virtual void tracktion::engine::Track::setSoloIsolate ( bool  )
virtual

Subclasses should implement this to solo isolate themselves.

Reimplemented in tracktion::engine::AudioTrack, and tracktion::engine::FolderTrack.

Definition at line 269 of file tracktion_Track.h.

◆ setTags()

void tracktion::engine::Track::setTags ( const juce::StringArray s)

Sets an array of Strings to use as tags.

N.B. May be removed in a future version.

Definition at line 533 of file tracktion_Track.cpp.

◆ setTrackImage()

void tracktion::engine::Track::setTrackImage ( const juce::String idOrData)

Sets some image data to use.

N.B. May be removed in a future version.

Definition at line 521 of file tracktion_Track.cpp.

◆ shouldBePlayed()

bool tracktion::engine::Track::shouldBePlayed ( ) const
noexcept

Tests whether this track should be audible in the playback graph i.e.

explicitly or implicitly soloed or not muted.

Definition at line 288 of file tracktion_Track.h.

◆ updateAudibility()

void tracktion::engine::Track::updateAudibility ( bool  areAnyTracksSolo)

Updates the audibility state of the Track.

N.B. You shouldn't need to call this directly. It will get called by the Edit when a track's solo/mute status changes.

Definition at line 190 of file tracktion_Track.cpp.

◆ valueTreeChildAdded()

void tracktion::engine::Track::valueTreeChildAdded ( juce::ValueTree p,
juce::ValueTree c 
)
overrideprotectedvirtual

Reimplemented from juce::ValueTree::Listener.

Definition at line 592 of file tracktion_Track.cpp.

◆ valueTreeChildOrderChanged()

void tracktion::engine::Track::valueTreeChildOrderChanged ( juce::ValueTree ,
int  ,
int   
)
overrideprotectedvirtual

Reimplemented from juce::ValueTree::Listener.

Definition at line 399 of file tracktion_Track.h.

◆ valueTreeChildRemoved()

void tracktion::engine::Track::valueTreeChildRemoved ( juce::ValueTree p,
juce::ValueTree c,
int   
)
overrideprotectedvirtual

Reimplemented from juce::ValueTree::Listener.

Definition at line 599 of file tracktion_Track.cpp.

◆ valueTreeParentChanged()

void tracktion::engine::Track::valueTreeParentChanged ( juce::ValueTree v)
overrideprotectedvirtual

Reimplemented from juce::ValueTree::Listener.

Definition at line 606 of file tracktion_Track.cpp.

◆ valueTreePropertyChanged()

void tracktion::engine::Track::valueTreePropertyChanged ( juce::ValueTree v,
const juce::Identifier i 
)
overrideprotectedvirtual

Reimplemented from juce::ValueTree::Listener.

Definition at line 538 of file tracktion_Track.cpp.

◆ visitAllAutomatableParams()

void tracktion::engine::Track::visitAllAutomatableParams ( const std::function< void(AutomatableParameter &)> &  visit) const

Visits all the parameters for this track's Plugin[s] and Modifier[s].

Definition at line 331 of file tracktion_Track.cpp.

◆ wantsAutomation()

bool tracktion::engine::Track::wantsAutomation ( ) const

Returns true if this track can show automation.

See also
AudioTrack, FolderTrack, AutomationTrack

Definition at line 121 of file tracktion_Track.h.

Member Data Documentation

◆ frozenTrackHeight

const int tracktion::engine::Track::frozenTrackHeight
static

The height to show group frozen tracks.

Definition at line 342 of file tracktion_Track.h.

◆ minTrackHeightForDetail

const int tracktion::engine::Track::minTrackHeightForDetail
static

The minimim height to show track contents at.

Definition at line 340 of file tracktion_Track.h.

◆ pluginList

PluginList tracktion::engine::Track::pluginList

The Track's PluginList.

Definition at line 389 of file tracktion_Track.h.

◆ state

juce::ValueTree tracktion::engine::Track::state

The state of this Track.

Definition at line 388 of file tracktion_Track.h.

◆ trackHeightForEditor

const int tracktion::engine::Track::trackHeightForEditor
static

The height at which inline editors should be shown.

Definition at line 341 of file tracktion_Track.h.


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