TracktionEngine
|
A track similar to the MarkerTrack but can be used to move sections of an Edit around. More...
Public Member Functions | |
ArrangerTrack (Edit &, const juce::ValueTree &) | |
~ArrangerTrack () override | |
bool | isArrangerTrack () const override |
Returns true if this is an ArrangerTrack. More... | |
juce::String | getSelectableDescription () override |
Subclasses must return a description of what they are. More... | |
juce::String | getName () const override |
bool | canContainPlugin (Plugin *) const override |
Returns true if this track can contain a specific Plugin. More... | |
Public Member Functions inherited from tracktion::engine::ClipTrack | |
ClipTrack (Edit &, const juce::ValueTree &, double defaultHeight, double minHeight, double maxHeight) | |
~ClipTrack () override | |
void | initialise () override |
void | flushStateToValueTree () override |
Clip * | findClipForID (EditItemID) const override |
Returns a clip one with a matching ID can be found on this Track. More... | |
CollectionClip * | getCollectionClip (int index) const noexcept |
CollectionClip * | getCollectionClip (Clip *) const |
int | getNumCollectionClips () const noexcept |
int | indexOfCollectionClip (CollectionClip *) const |
int | getIndexOfNextCollectionClipAt (TimePosition) |
CollectionClip * | getNextCollectionClipAt (TimePosition) |
bool | contains (CollectionClip *) const |
void | addCollectionClip (CollectionClip *) |
void | removeCollectionClip (CollectionClip *) |
int | getNumTrackItems () const override |
Should return the number of TrackItem[s] on this Track. More... | |
TrackItem * | getTrackItem (int idx) const override |
Should return the TrackItem at the given index. More... | |
int | indexOfTrackItem (TrackItem *) const override |
Should return the index of the given TrackItem. More... | |
int | getIndexOfNextTrackItemAt (TimePosition) override |
Should return the index of the TrackItem after this time. More... | |
TrackItem * | getNextTrackItemAt (TimePosition) override |
Should return the TrackItem after this time. More... | |
void | insertSpaceIntoTrack (TimePosition, TimeDuration) override |
inserts space and moves everything up More... | |
TimeDuration | getLength () const |
TimeDuration | getLengthIncludingInputTracks () const |
TimeRange | getTotalRange () const |
bool | addClip (const Clip::Ptr &) |
Clip * | insertClipWithState (juce::ValueTree) |
Clip * | insertClipWithState (const juce::ValueTree &stateToUse, const juce::String &name, TrackItem::Type type, ClipPosition position, bool deleteExistingClips, bool allowSpottingAdjustment) |
Clip * | insertNewClip (TrackItem::Type, TimeRange position, SelectionManager *selectionManagerToSelectWith) |
Clip * | insertNewClip (TrackItem::Type, const juce::String &name, TimeRange position, SelectionManager *selectionManagerToSelectWith) |
Clip * | insertNewClip (TrackItem::Type, const juce::String &name, ClipPosition position, SelectionManager *selectionManagerToSelectWith) |
juce::ReferenceCountedObjectPtr< WaveAudioClip > | insertWaveClip (const juce::String &name, const juce::File &sourceFile, ClipPosition position, bool deleteExistingClips) |
juce::ReferenceCountedObjectPtr< WaveAudioClip > | insertWaveClip (const juce::String &name, ProjectItemID sourceID, ClipPosition position, bool deleteExistingClips) |
juce::ReferenceCountedObjectPtr< MidiClip > | insertMIDIClip (TimeRange position, SelectionManager *selectionManagerToSelectWith) |
juce::ReferenceCountedObjectPtr< MidiClip > | insertMIDIClip (const juce::String &name, TimeRange position, SelectionManager *selectionManagerToSelectWith) |
juce::ReferenceCountedObjectPtr< EditClip > | insertEditClip (TimeRange position, ProjectItemID sourceID) |
void | deleteRegion (TimeRange, SelectionManager *) |
void | deleteRegionOfClip (Clip::Ptr, TimeRange, SelectionManager *) |
Clip * | splitClip (Clip &, TimePosition) |
breaks a clip into 2 bits More... | |
void | splitAt (TimePosition) |
split all clips at this time More... | |
TimePosition | getNextTimeOfInterest (TimePosition afterThisTime) |
finds the next cut point More... | |
TimePosition | getPreviousTimeOfInterest (TimePosition beforeThisTime) |
bool | containsPlugin (const Plugin *) const override |
Tests whether this Track or a clip on it contains the given plugin. More... | |
Plugin::Array | getAllPlugins () const override |
Returns all pugins on this Track. More... | |
void | sendMirrorUpdateToAllPlugins (Plugin &) const override |
Sends a message to all plugins that the given plugin has changed. More... | |
bool | areAnyClipsUsingFile (const AudioFile &) |
bool | containsAnyMIDIClips () const |
juce::ValueTree & | getClipOwnerState () override |
Selectable * | getClipOwnerSelectable () override |
Edit & | getClipOwnerEdit () override |
void | clipCreated (Clip &) override |
void | clipAddedOrRemoved () override |
void | clipOrderChanged () override |
void | clipPositionChanged () override |
Public Member Functions inherited from tracktion::engine::Track | |
Track (Edit &, const juce::ValueTree &, double defaultTrackHeight, double minTrackHeight, double maxTrackHeight) | |
Creates a track with a given state. More... | |
~Track () override | |
Destructor. More... | |
void | refreshCurrentAutoParam () |
Updates the current parameter bases on the set IDs. More... | |
juce::String | getName () const override |
Returns the name of the Track. More... | |
void | setName (const juce::String &) |
Sets the name of the Track. More... | |
void | resetName () |
Sets the name of the Track to an empty string. More... | |
virtual void | sanityCheckName () |
Sub-classes can impliment this to avoid certain characters being used in a name. More... | |
virtual bool | isAudioTrack () const |
Returns true if this is an AudioTrack. More... | |
virtual bool | isAutomationTrack () const |
Returns true if this is an AutomationTrack. More... | |
virtual bool | isFolderTrack () const |
Returns true if this is a FolderTrack. More... | |
virtual bool | isMarkerTrack () const |
Returns true if this is a MarkerTrack. More... | |
virtual bool | isTempoTrack () const |
Returns true if this is a TempoTrack. More... | |
virtual bool | isChordTrack () const |
Returns true if this is a ChordTrack. More... | |
virtual bool | isMasterTrack () const |
Returns true if this is a MasterTrack. More... | |
bool | canContainMarkers () const |
Returns true if this Track can contain MarkerClip[s]. More... | |
bool | canContainMIDI () const |
Returns true if this Track can contain MidiClip[s]. More... | |
bool | canContainAudio () const |
Returns true if this Track can contain WaveAudioClip[s]. More... | |
bool | canContainEditClips () const |
Returns true if this Track can contain EditClip[s]. More... | |
bool | canContainPlugins () const |
Returns true if this Track can contain Plugin[s]. More... | |
bool | isMovable () const |
Returns true if this Track is movable. More... | |
bool | acceptsInput () const |
Returns true if this track can have inputs assigned to it. More... | |
bool | createsOutput () const |
Returns true if this track creates audible output. More... | |
bool | wantsAutomation () const |
Returns true if this track can show automation. More... | |
virtual bool | isFrozen (FreezeType) const |
Returns true if this track is frozen using the given type. More... | |
virtual void | setFrozen (bool, FreezeType) |
Attempts to freeze or unfreeze the track using a given FreezeType. More... | |
bool | isHidden () const |
Returns true if this track should be hidden from view. More... | |
void | setHidden (bool h) |
Sets whether this track should be hidden from view. More... | |
bool | isProcessing (bool includeParents) const |
Returns true if this track should be included in playback. More... | |
void | setProcessing (bool p) |
Sets whether this track should be included in playback. More... | |
virtual bool | processAudioNodesWhileMuted () const |
Subclasses can override this to ensure track contents are still played even when the track is muted. More... | |
virtual juce::Array< Track * > | getInputTracks () const |
Should return any tracks which feed into this track. More... | |
juce::Array< Track * > | getAllSubTracks (bool recursive) const |
Returns all nested tracks. More... | |
juce::Array< AudioTrack * > | getAllAudioSubTracks (bool recursive) const |
Returns all nested AudioTrack[s]. More... | |
TrackList * | getSubTrackList () const |
Returns the TrackList if this Track has any sub-tracks. More... | |
bool | hasSubTracks () const |
Returns true if this track has any subtracks. More... | |
Track * | getSiblingTrack (int delta, bool keepWithinSameParent) const |
Returns a sibling Track to this one. More... | |
juce::ValueTree | getParentTrackTree () const |
Returns the state of the parent Track. More... | |
Track * | getParentTrack () const |
Returns the parent Track if this is a nested track. More... | |
FolderTrack * | getParentFolderTrack () const |
Returns the parent FolderTrack if this is nested in one. More... | |
bool | isAChildOf (const Track &possibleParent) const |
Tests whether this is a child of a given Track. More... | |
bool | isPartOfSubmix () const |
Tests whether this nested within a submix FolderTrack. More... | |
int | getIndexInEditTrackList () const |
Returns the index of this track in a flat list of tracks contained in an Edit. More... | |
int | getTrackDepth () const |
Returns the number of parents within which this track is nested. More... | |
virtual bool | isMuted (bool) const |
Returns true if this track is muted. More... | |
virtual bool | isSolo (bool) const |
Returns true if this track is soloed. More... | |
virtual bool | isSoloIsolate (bool) const |
Returns true if this track is solo isolated. More... | |
virtual void | setMute (bool) |
Subclasses should implement this to mute themselves. More... | |
virtual void | setSolo (bool) |
Subclasses should implement this to solo themselves. More... | |
virtual void | setSoloIsolate (bool) |
Subclasses should implement this to solo isolate themselves. More... | |
MuteAndSoloLightState | getMuteAndSoloLightState () const |
Returns the mute a solo status. More... | |
bool | shouldBePlayed () const noexcept |
Tests whether this track should be audible in the playback graph i.e. More... | |
void | updateAudibility (bool areAnyTracksSolo) |
Updates the audibility state of the Track. More... | |
juce::Array< AutomatableParameter * > | getAllAutomatableParams () const |
Returns all the parameteres for this track's Plugin[s] and Modifier[s]. More... | |
AutomatableParameter * | getCurrentlyShownAutoParam () const noexcept |
Returns the parameter whos curve should be shown on this Track. More... | |
void | setCurrentlyShownAutoParam (const AutomatableParameter::Ptr &) |
Sets a parameter to display on this Track. More... | |
void | hideAutomatableParametersForSource (EditItemID pluginOrParameterID) |
Hides a shown parameter if it matches the given ID. More... | |
bool | hasFreezePointPlugin () const |
Tests whether this Track contains a FreezePointPlugin. More... | |
juce::Array< AutomatableEditItem * > | getAllAutomatableEditItems () const |
Returns all AutomatableEditItem[s] on this Track. More... | |
void | flipAllPluginsEnablement () |
Toggles the Plugin::isEnabled state for all Plugin[s] on this Track. More... | |
ModifierList & | getModifierList () const |
Returns the ModifierList for this Track. More... | |
void | setColour (juce::Colour newColour) |
Sets a colour for this track to use. More... | |
juce::Colour | getColour () const |
Returns the the of this. More... | |
bool | canShowImage () const |
Tests whether this Track can show an image. More... | |
void | setTrackImage (const juce::String &idOrData) |
Sets some image data to use. More... | |
juce::String | getTrackImage () const |
Returns previously set image data. More... | |
bool | imageHasChanged () |
Tests and resets a flag internally kept when the image changes. More... | |
void | setTags (const juce::StringArray &) |
Sets an array of Strings to use as tags. More... | |
juce::String | getTags () const |
Returns the tags as a pipe-separated single String. More... | |
const juce::StringArray & | getTagsArray () const noexcept |
Returns the array of tags. More... | |
Public Member Functions inherited from tracktion::engine::EditItem | |
EditItem (EditItemID, Edit &) | |
virtual | ~EditItem ()=default |
Public Member Functions inherited from tracktion::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. More... | |
virtual void | changed () |
This should be called to send a change notification to any SelectableListeners that are registered with this object. More... | |
virtual void | selectableAboutToBeDeleted () |
Called just before the selectable is about to be deleted so any subclasses should still be valid at this point. More... | |
void | addSelectableListener (SelectableListener *) |
void | removeSelectableListener (SelectableListener *) |
void | cancelAnyPendingUpdates () |
If changed() has been called, this will cancel any pending async change notificaions. More... | |
void | deselect () |
void | propertiesChanged () |
void | notifyListenersOfDeletion () |
WeakRef | getWeakRef () |
Public Member Functions inherited from tracktion::engine::MacroParameterElement | |
MacroParameterElement (Edit &, const juce::ValueTree &) | |
Constructor. More... | |
virtual | ~MacroParameterElement ()=default |
Destructor. More... | |
int | getNumMacroParameters () const |
Returns the number of macro parameters for this object. More... | |
Public Member Functions inherited from tracktion::engine::ClipOwner | |
ClipOwner () | |
Constructs an empty ClipOwner. More... | |
virtual | ~ClipOwner () |
Destructor. More... | |
const juce::Array< Clip * > & | getClips () const |
Returns the clips this owner contains. More... | |
Additional Inherited Members | |
Public Types inherited from tracktion::engine::ClipTrack | |
using | Ptr = juce::ReferenceCountedObjectPtr< ClipTrack > |
Public Types inherited from tracktion::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 tracktion::engine::Selectable | |
using | WeakRef = juce::WeakReference< Selectable > |
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. More... | |
Public Attributes inherited from tracktion::engine::Track | |
const double | defaultTrackHeight |
The default height of this Track. More... | |
const double | minTrackHeight |
The minimum height of this Track. More... | |
const double | maxTrackHeight |
The maximum height of this Track. More... | |
juce::ValueTree | state |
The state of this Track. More... | |
PluginList | pluginList |
The Track's PluginList. More... | |
Public Attributes inherited from tracktion::engine::EditItem | |
Edit & | edit |
const EditItemID | itemID |
Every EditItem has an ID which is unique within the edit. More... | |
Public Attributes inherited from tracktion::engine::Selectable | |
WeakRef::Master | masterReference |
Public Attributes inherited from tracktion::engine::MacroParameterElement | |
MacroParameterList | macroParameterList |
Static Public Attributes inherited from tracktion::engine::Track | |
static const int | minTrackHeightForDetail = 10 |
The minimim height to show track contents at. More... | |
static const int | trackHeightForEditor = 180 |
The height at which inline editors should be shown. More... | |
static const int | frozenTrackHeight = 15 |
The height to show group frozen tracks. More... | |
Protected Member Functions inherited from tracktion::engine::ClipTrack | |
juce::Array< TimePosition > | findAllTimesOfInterest () |
void | refreshTrackItems () const |
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. More... | |
Protected Member Functions inherited from tracktion::engine::ClipOwner | |
void | initialiseClipOwner (Edit &, juce::ValueTree clipParentState) |
Must be called once from the subclass constructor to init the clip owner. More... | |
Protected Attributes inherited from tracktion::engine::ClipTrack | |
std::unique_ptr< CollectionClipList > | collectionClipList |
bool | trackItemsDirty = false |
juce::Array< TrackItem * > | trackItems |
A track similar to the MarkerTrack but can be used to move sections of an Edit around.
tracktion::engine::ArrangerTrack::ArrangerTrack | ( | Edit & | , |
const juce::ValueTree & | |||
) |
|
override |
|
overridevirtual |
Returns true if this is an ArrangerTrack.
Reimplemented from tracktion::engine::Track.
|
overridevirtual |
Subclasses must return a description of what they are.
Implements tracktion::engine::Selectable.
|
overridevirtual |
Implements tracktion::engine::EditItem.
|
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.