|
TracktionEngine
|
#include <tracktion_FolderTrack.h>
Public Types | |
| using | Ptr = juce::ReferenceCountedObjectPtr< FolderTrack > |
Public Types inherited from engine::Track | |
| enum | FreezeType { groupFreeze = 0 , individualFreeze , anyFreeze } |
| Determines the type of freeze. More... | |
| enum | MuteAndSoloLightState { soloLit = 1 , soloFlashing = 2 , soloIsolate = 4 , muteLit = 8 , muteFlashing = 16 } |
| Determines the status of the mute and solo indicators. More... | |
| using | Ptr = juce::ReferenceCountedObjectPtr< Track > |
| using | Array = juce::ReferenceCountedArray< Track > |
Public Types inherited from engine::Selectable | |
| using | WeakRef = juce::WeakReference< Selectable > |
Public Member Functions | |
| FolderTrack (Edit &, const juce::ValueTree &) | |
| ~FolderTrack () override | |
| 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 |
| TrackOutput * | getOutput () 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) |
| VCAPlugin * | getVCAPlugin () |
| VolumeAndPanPlugin * | getVolumePlugin () |
| void | generateCollectionClips (SelectionManager &) |
| CollectionClip * | getCollectionClip (int index) const noexcept |
| int | getNumCollectionClips () const noexcept |
| int | indexOfCollectionClip (CollectionClip *) const |
| int | getIndexOfNextCollectionClipAt (TimePosition) |
| CollectionClip * | getNextCollectionClipAt (TimePosition) |
| bool | contains (CollectionClip *) const |
| int | getNumTrackItems () const override |
| Should return the number of TrackItem[s] on this Track. | |
| TrackItem * | getTrackItem (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. | |
| TrackItem * | getNextTrackItemAt (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 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]. | |
| TrackList * | getSubTrackList () const |
| Returns the TrackList if this Track has any sub-tracks. | |
| bool | hasSubTracks () const |
| Returns true if this track has any subtracks. | |
| virtual Clip * | findClipForID (EditItemID) const |
| Returns a clip one with a matching ID can be found on this Track. | |
| Track * | getSiblingTrack (int delta, bool keepWithinSameParent) const |
| Returns a sibling Track to this one. | |
| juce::ValueTree | getParentTrackTree () const |
| Returns the state of the parent Track. | |
| Track * | getParentTrack () const |
| Returns the parent Track if this is a nested track. | |
| FolderTrack * | getParentFolderTrack () 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]. | |
| AutomatableParameter * | getCurrentlyShownAutoParam () 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. | |
| std::vector< 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. | |
| ModifierList * | getModifierList () 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::StringArray & | getTagsArray () const noexcept |
| Returns the array of tags. | |
Public Member Functions inherited from engine::EditItem | |
| EditItem (EditItemID, Edit &) | |
| EditItem (Edit &, const juce::ValueTree &) | |
| virtual | ~EditItem ()=default |
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 () |
Additional Inherited Members | |
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 inherited from engine::Track | |
| juce::ValueTree | state |
| The state of this Track. | |
| PluginList | pluginList |
| The Track's PluginList. | |
| juce::CachedValue< AutomationMode > | automationMode |
| The automation mode for parameters on this track to use. | |
Public Attributes inherited from engine::EditItem | |
| Edit & | edit |
| const EditItemID | itemID |
| Every EditItem has an ID which is unique within the edit. | |
Public Attributes inherited from engine::Selectable | |
| WeakRef::Master | masterReference |
Static Public Attributes inherited from engine::Track | |
| static const int | minTrackHeightForDetail = 10 |
| The minimim height to show track contents at. | |
| static const int | trackHeightForEditor = 180 |
| The height at which inline editors should be shown. | |
| static const int | frozenTrackHeight = 15 |
| The height to show group frozen tracks. | |
Protected Member Functions inherited from 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. | |
| using engine::FolderTrack::Ptr = juce::ReferenceCountedObjectPtr<FolderTrack> |
|
override |
|
overridevirtual |
Subclasses must return a description of what they are.
Implements engine::Selectable.
|
overridevirtual |
Returns true if this is a FolderTrack.
Reimplemented from engine::Track.
|
overridevirtual |
Initialises the Track.
You shouldn't need to call this directly, it will be called by the track creation methods.
Reimplemented from engine::Track.
|
overridevirtual |
Sub-classes can impliment this to avoid certain characters being used in a name.
Reimplemented from engine::Track.
|
overridevirtual |
Implements engine::EditItem.
|
noexcept |
| bool engine::FolderTrack::isSubmixFolder | ( | ) | const |
|
noexcept |
Returns the output if this track is a submix folder.
|
overridevirtual |
Should return any tracks which feed into this track.
Reimplemented from engine::Track.
|
overridevirtual |
Returns true if this track is frozen using the given type.
Reimplemented from engine::Track.
| float engine::FolderTrack::getVcaDb | ( | TimePosition | ) |
| VCAPlugin * engine::FolderTrack::getVCAPlugin | ( | ) |
| VolumeAndPanPlugin * engine::FolderTrack::getVolumePlugin | ( | ) |
| void engine::FolderTrack::generateCollectionClips | ( | SelectionManager & | ) |
|
noexcept |
|
noexcept |
| int engine::FolderTrack::indexOfCollectionClip | ( | CollectionClip * | ) | const |
| int engine::FolderTrack::getIndexOfNextCollectionClipAt | ( | TimePosition | ) |
| CollectionClip * engine::FolderTrack::getNextCollectionClipAt | ( | TimePosition | ) |
| bool engine::FolderTrack::contains | ( | CollectionClip * | ) | const |
|
overridevirtual |
Should return the number of TrackItem[s] on this Track.
Reimplemented from engine::Track.
Should return the TrackItem at the given index.
Reimplemented from engine::Track.
Should return the index of the given TrackItem.
Reimplemented from engine::Track.
|
overridevirtual |
Should return the index of the TrackItem after this time.
Reimplemented from engine::Track.
|
overridevirtual |
Should return the TrackItem after this time.
Reimplemented from engine::Track.
Returns true if this track is muted.
| includeMutingByDestination | If this is true, this will retrn true if any tracks this feeds in to are muted. |
Reimplemented from engine::Track.
Returns true if this track is soloed.
| includeIndirectSolo | If this is true, this will retrn true if any tracks this feeds in to are soloed. |
Reimplemented from engine::Track.
Returns true if this track is solo isolated.
| includeIndirectSolo | If this is true, this will retrn true if any tracks this feeds in to are solo isolated. |
Reimplemented from engine::Track.
Subclasses should implement this to mute themselves.
Reimplemented from engine::Track.
Subclasses should implement this to solo themselves.
Reimplemented from engine::Track.
Subclasses should implement this to solo isolate themselves.
Reimplemented from engine::Track.
| void engine::FolderTrack::setDirtyClips | ( | ) |
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 engine::Track.