TracktionEngine
|
A track to represent the master plugins. More...
#include <tracktion_MasterTrack.h>
Public Types | |
using | Ptr = juce::ReferenceCountedObjectPtr< MasterTrack > |
![]() | |
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 > |
![]() | |
using | WeakRef = juce::WeakReference< Selectable > |
Public Member Functions | |
MasterTrack (Edit &, const juce::ValueTree &) | |
Create the MasterTrack for an Edit with a given state. | |
~MasterTrack () override | |
Destructor. | |
void | initialise () override |
bool | isMasterTrack () const override |
juce::String | getName () const override |
juce::String | getSelectableDescription () override |
bool | canContainPlugin (Plugin *) const override |
![]() | |
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 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. | |
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 | 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]. | |
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. | |
virtual int | getNumTrackItems () const |
Should return the number of TrackItem[s] on this Track. | |
virtual TrackItem * | getTrackItem (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 TrackItem * | getNextTrackItemAt (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. | |
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. | |
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]. | |
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. | |
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. | |
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. | |
![]() | |
EditItem (EditItemID, Edit &) | |
EditItem (Edit &, const juce::ValueTree &) | |
virtual | ~EditItem ()=default |
![]() | |
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 void | initialise () |
static bool | isSelectableValid (const Selectable *) noexcept |
checks whether this object has been deleted. | |
![]() | |
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. | |
![]() | |
Edit & | edit |
const EditItemID | itemID |
Every EditItem has an ID which is unique within the edit. | |
![]() | |
WeakRef::Master | masterReference |
![]() | |
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. | |
![]() | |
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. | |
A track to represent the master plugins.
This isn't a "real" track, it wraps the master plugin list.
using tracktion::engine::MasterTrack::Ptr = juce::ReferenceCountedObjectPtr<MasterTrack> |
Create the MasterTrack for an Edit with a given state.
|
override |
Destructor.
|
overridevirtual |
Reimplemented from tracktion::engine::Track.
|
overridevirtual |
Reimplemented from tracktion::engine::Track.
|
overridevirtual |
Implements tracktion::engine::EditItem.
|
overridevirtual |
Implements tracktion::engine::Selectable.
Implements tracktion::engine::Track.