TracktionEngine
|
#include <tracktion_MarkerTrack.h>
Public Member Functions | |
MarkerTrack (Edit &, const juce::ValueTree &) | |
~MarkerTrack () override | |
bool | isMarkerTrack () const override |
Returns true if this is a MarkerTrack. | |
juce::String | getSelectableDescription () override |
Subclasses must return a description of what they are. | |
juce::String | getName () const override |
bool | canContainPlugin (Plugin *) const override |
Returns true if this track can contain a specific Plugin. | |
![]() | |
ClipTrack (Edit &, const juce::ValueTree &, bool hasModifierList) | |
~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. | |
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. | |
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. | |
void | insertSpaceIntoTrack (TimePosition, TimeDuration) override |
inserts space and moves everything up | |
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 | |
void | splitAt (TimePosition) |
split all clips at this time | |
TimePosition | getNextTimeOfInterest (TimePosition afterThisTime) |
finds the next cut point | |
TimePosition | getPreviousTimeOfInterest (TimePosition beforeThisTime) |
bool | containsPlugin (const Plugin *) const override |
Tests whether this Track or a clip on it contains the given plugin. | |
Plugin::Array | getAllPlugins () const override |
Returns all pugins on this Track. | |
void | sendMirrorUpdateToAllPlugins (Plugin &) const override |
Sends a message to all plugins that the given plugin has changed. | |
bool | areAnyClipsUsingFile (const AudioFile &) |
bool | containsAnyMIDIClips () const |
juce::ValueTree & | getClipOwnerState () override |
EditItemID | getClipOwnerID () override |
Selectable * | getClipOwnerSelectable () override |
Edit & | getClipOwnerEdit () override |
void | clipCreated (Clip &) override |
void | clipAddedOrRemoved () override |
void | clipOrderChanged () override |
void | clipPositionChanged () override |
![]() | |
Track (Edit &, const juce::ValueTree &, bool hasModifierList) | |
Creates a track with a given state. | |
~Track () override | |
Destructor. | |
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 | 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 | 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. | |
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. | |
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. | |
bool | hasFreezePointPlugin () const |
Tests whether this Track contains a FreezePointPlugin. | |
juce::Array< AutomatableEditItem * > | getAllAutomatableEditItems () const |
Returns all AutomatableEditItem[s] on this Track. | |
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 () |
![]() | |
ClipOwner () | |
Constructs an empty ClipOwner. | |
virtual | ~ClipOwner () |
Destructor. | |
const juce::Array< Clip * > & | getClips () const |
Returns the clips this owner contains. | |
Additional Inherited Members | |
![]() | |
using | Ptr = juce::ReferenceCountedObjectPtr< ClipTrack > |
![]() | |
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 > |
![]() | |
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. | |
![]() | |
juce::Array< TimePosition > | findAllTimesOfInterest () |
void | refreshTrackItems () const |
![]() | |
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. | |
![]() | |
void | initialiseClipOwner (Edit &, juce::ValueTree clipParentState) |
Must be called once from the subclass constructor to init the clip owner. | |
![]() | |
std::unique_ptr< CollectionClipList > | collectionClipList |
bool | trackItemsDirty = false |
juce::Array< TrackItem * > | trackItems |
|
override |
|
overridevirtual |
Returns true if this is a MarkerTrack.
Reimplemented from tracktion::engine::Track.
|
overridevirtual |
Subclasses must return a description of what they are.
Implements tracktion::engine::Selectable.
|
overridevirtual |
Implements tracktion::engine::EditItem.
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.