|
tracktion-engine 3.0-10-g034fdde4aa5
Tracktion Engine — High level data model for audio applications
« « « Anklang Documentation |
Public Types | |
| using | Ptr = juce::ReferenceCountedObjectPtr< ArrangerClip > |
Public Types inherited from tracktion::engine::Clip | |
| enum class | FollowActionDurationType { beats , loops } |
| Defines the types of duration follow actions can use. More... | |
| enum | SyncType { syncBarsBeats , syncAbsolute } |
| Determines the clip sync type. More... | |
| using | Ptr = juce::ReferenceCountedObjectPtr< Clip > |
| using | Array = juce::ReferenceCountedArray< Clip > |
Public Types inherited from tracktion::engine::TrackItem | |
| enum class | Type { unknown , wave , midi , edit , step , marker , pitch , timeSig , collection , video , recording , chord , arranger , container } |
| Defines the types of item that can live on Track[s]. More... | |
Public Types inherited from tracktion::engine::Selectable | |
| using | WeakRef = juce::WeakReference< Selectable > |
Public Member Functions | |
| ArrangerClip (const juce::ValueTree &, EditItemID, ClipOwner &targetParent) | |
| juce::String | getSelectableDescription () override |
| Subclasses must return a description of what they are. | |
| bool | canBeAddedTo (ClipOwner &) override |
| Tests whether this clip can go on the given parent. | |
| juce::Colour | getDefaultColour () const override |
| Returns the default colour for this clip. | |
| void | initialise () override |
| Initialises the Clip. | |
| bool | isMidi () const override |
| Returns true if this is a MidiClip. | |
| bool | isMuted () const override |
| Returns true if the clip is muted. | |
Public Member Functions inherited from tracktion::engine::Clip | |
| Clip (const juce::ValueTree &, ClipOwner &, EditItemID, Type) | |
| Creates a clip of a given type from a ValueTree state. | |
| ~Clip () override | |
| Destructor. | |
| virtual void | flushStateToValueTree () |
| Can be overridden to ensure any state (e.g. | |
| virtual void | sourceMediaChanged () |
| Called when the source media file reference (attribute "source") has changed - i.e. | |
| virtual void | pitchTempoTrackChanged () |
| Called when there are pitch or tempo changes made which might require clips to adjust timing information. | |
| virtual juce::String | getName () const override |
| Returns the name of the clip. | |
| void | setName (const juce::String &newName) |
| Sets a new name for a clip. | |
| virtual bool | usesSourceFile () const |
| True if it references a source file - i.e. | |
| SourceFileReference & | getSourceFileReference () |
| Returns the SourceFileReference of the Clip. | |
| juce::File | getCurrentSourceFile () const |
| Returns the current source file, this is different to the SourceFileReference as it could be a temporary comp file, clipFX, reverse render etc. | |
| juce::Array< ReferencedItem > | getReferencedItems () override |
| Returns an array of any ReferencedItem[s] e.g. | |
| void | reassignReferencedItem (const ReferencedItem &, ProjectItemID, double) override |
| Should be implemented to change the underlying source to a new ProjectItemID. | |
| virtual std::shared_ptr< LaunchHandle > | getLaunchHandle () |
| Some clip types can be launched, if that's possible, this returns a handle to trigger starting/stopping the clip. | |
| virtual void | setUsesGlobalLaunchQuatisation (bool) |
| Some clip types can be launched, if that's possible, this sets whether the clip's quantisation or the global quantisation should be used. | |
| virtual bool | usesGlobalLaunchQuatisation () |
| Some clip types can be launched, if that's possible, this returns whether the clip's quantisation or the global quantisation should be used. | |
| virtual LaunchQuantisation * | getLaunchQuantisation () |
| Some clip types can be launched, if that's possible, this returns a quantisation that can be used for this clip. | |
| virtual FollowActions * | getFollowActions () |
| Some clip types can be launched, if that's possible, this can be used to determine the action to perform after a clip has played. | |
| ClipPosition | getPosition () const override |
| Returns the ClipPosition on the parent Track. | |
| BeatPosition | getContentBeatAtTime (TimePosition) const |
| Returns the beat number (with offset) at the given time. | |
| TimePosition | getTimeOfContentBeat (BeatPosition) const |
| Returns time of a beat number. | |
| virtual TimeDuration | getMaximumLength () |
| Returns the maximum length this clip can have. | |
| virtual juce::Array< TimePosition > | getInterestingTimes () |
| Returns times for snapping to, relative to the Edit. | |
| TimePosition | getSpottingPoint () const |
| Returns the first marked time in the source file which can be used for syncronising newly added clips. | |
| virtual bool | canLoop () const |
| Returns true if this clip is capable of looping. | |
| virtual bool | isLooping () const |
| Returns true if this clip is currently looping. | |
| virtual bool | beatBasedLooping () const |
| Returns true if this clip's looping is based on beats or false if absolute time. | |
| virtual void | setNumberOfLoops (int) |
| Sets the clip looping a number of times. | |
| virtual void | disableLooping () |
| Disables all looping. | |
| virtual BeatPosition | getLoopStartBeats () const |
| Returns the beat position of the loop start point. | |
| virtual TimePosition | getLoopStart () const |
| Returns the start time of the loop start point. | |
| virtual BeatDuration | getLoopLengthBeats () const |
| Returns the length of loop in beats. | |
| virtual TimeDuration | getLoopLength () const |
| Returns the length of loop in seconds. | |
| TimeRange | getLoopRange () const |
| Returns the loop range in seconds. | |
| BeatRange | getLoopRangeBeats () const |
| Returns the loop range in beats. | |
| virtual void | setLoopRange (TimeRange) |
| Sets the loop range the clip should use in seconds. | |
| virtual void | setLoopRangeBeats (BeatRange) |
| Sets the loop range the clip should use in beats. | |
| virtual void | setMuted (bool) |
| Mutes or unmutes the clip. | |
| virtual void | setSyncType (SyncType sync) |
| Sets the sync type for the clip. | |
| SyncType | getSyncType () const |
| Returns the sync type clip is using. | |
| void | setPosition (ClipPosition newPosition) |
| Sets the position of the clip. | |
| void | setStart (TimePosition newStart, bool preserveSync, bool keepLength) |
| Sets the start time of the clip. | |
| void | setLength (TimeDuration newLength, bool preserveSync) |
| Sets the length of the clip. | |
| void | setEnd (TimePosition newEnd, bool preserveSync) |
| Sets the end of the clip. | |
| void | setOffset (TimeDuration newOffset) |
| Sets the offset of the clip, i.e. | |
| void | trimAwayOverlap (TimeRange editRangeToTrim) |
| Trims away any part of the clip that overlaps this region. | |
| void | removeFromParent () |
| Removes this clip from the parent track or container clip. | |
| bool | moveTo (ClipOwner &) |
| Moves the clip to a new parent (if possible). | |
| double | getSpeedRatio () const noexcept |
| Returns the speed ratio i.e. | |
| virtual void | setSpeedRatio (double) |
| Sets a speed ratio i.e. | |
| virtual void | rescale (TimePosition pivotTimeInEdit, double factor) |
| stretches and scales this clip relative to a fixed point in the edit. | |
| bool | isGrouped () const override |
| Returns true if the clip is part of a group. | |
| TrackItem * | getGroupParent () const override |
| Returns the parent TrackItem if part of a group. | |
| void | setGroup (EditItemID newGroupID) |
| Sets the clip to be part of a group. | |
| EditItemID | getGroupID () const noexcept |
| Returns the ID of the group. | |
| CollectionClip * | getGroupClip () const |
| Returns this as a CollectionClip if it is one. | |
| bool | isLinked () const |
| Returns true if this clip is linked with any others. | |
| void | setLinkGroupID (juce::String newLinkID) |
| Sets the link ID to link this clip with others. | |
| juce::String | getLinkGroupID () const |
| Returns the link ID of this clip. | |
| ClipOwner * | getParent () const |
| Returns the parent ClipOwner this clip is on. | |
| ClipTrack * | getClipTrack () const |
| Returns the parent ClipTrack this clip is on (if any). | |
| Track * | getTrack () const override |
| Returns the parent Track this clip is on (if any). | |
| ClipSlot * | getClipSlot () const |
| Returns the parent ClipSlot this clip is on (if any). | |
| virtual juce::Colour | getColour () const |
| Returns the colour property of this clip. | |
| void | setColour (juce::Colour col) |
| Sets the colour property of this clip. | |
| virtual void | removePlugin (const Plugin::Ptr &) |
| Removes the given plugin from the clip if the clip supports plugins. | |
| virtual bool | addClipPlugin (const Plugin::Ptr &, SelectionManager &) |
| Adds a plugin to the clip. | |
| virtual Plugin::Array | getAllPlugins () |
| Returns all the plugins on the clip. | |
| virtual void | sendMirrorUpdateToAllPlugins (Plugin &) const |
| Sends an update to all plugins mirroing the one passed in. | |
| virtual PluginList * | getPluginList () |
| Returns the PluginList for this clip if it has one. | |
| virtual void | clearTakes () |
| Clears any takes this clip has. | |
| virtual bool | hasAnyTakes () const |
| Returns true if this clip has any takes. | |
| virtual juce::StringArray | getTakeDescriptions () const |
| Returns the descriptions of any takes. | |
| virtual void | setCurrentTake (int) |
| Sets a given take index to be the current take. | |
| virtual int | getCurrentTake () const |
| Returns the current take index. | |
| virtual int | getNumTakes (bool) |
| Returns the total number of takes. | |
| virtual bool | isCurrentTakeComp () |
| Returns true if the current take is a comp. | |
| virtual void | setShowingTakes (bool shouldShow) |
| Sets whether the clip should be showing takes. | |
| virtual bool | isShowingTakes () const |
| Returns true if the clip is showing takes. | |
| virtual Clip::Array | unpackTakes (bool) |
| Attempts to unpack the takes to new clips. | |
| virtual void | cloneFrom (Clip *) |
| Clones the given clip to this clip. | |
| void | updateLinkedClips () |
| Triggers a call to cloneFrom for all clips with the same linkID. | |
| virtual PatternGenerator * | getPatternGenerator () |
| Returns the PatternGenerator for this clip if it has one. | |
| void | addListener (Listener *) |
| Adds a Listener. | |
| void | removeListener (Listener *) |
| Removes a Listener. | |
| juce::ListenerList< Listener > & | getListeners () |
| Returns the listener list so Nodes can manually call them. | |
| void | changed () override |
| This should be called to send a change notification to any SelectableListeners that are registered with this object. | |
| juce::UndoManager * | getUndoManager () const |
| Returns the UndoManager. | |
| virtual void | setParent (ClipOwner *) |
Public Member Functions inherited from tracktion::engine::TrackItem | |
| TrackItem (Edit &, EditItemID, Type) | |
| Creates a TrackItem with an ID and type. | |
| ~TrackItem () | |
| Destructor. | |
| TimeRange | getEditTimeRange () const |
| Returns the time range of this item. | |
| BeatRange | getEditBeatRange () const |
| Returns the beat range of this item. | |
| BeatPosition | getStartBeat () const |
| Returns the start beat in the Edit of this item. | |
| BeatPosition | getContentStartBeat () const |
| Returns the start beat of the content in the Edit of this item. | |
| BeatPosition | getEndBeat () const |
| Returns the end beat in the Edit of this item. | |
| BeatDuration | getLengthInBeats () const |
| Returns the duration in beats the of this item. | |
| TimePosition | getTimeOfRelativeBeat (BeatDuration) const |
| Returns an Edit time point for a given number of beats from the start of this item. | |
| BeatPosition | getBeatOfRelativeTime (TimeDuration) const |
| Returns an Edit beat point for a given number of seconds from the start of this item. | |
| BeatDuration | getOffsetInBeats () const |
| Returns an the offset of this item in beats. | |
| EditItemID | getTrackID () const |
| Returns the ID of the Track this item lives on. | |
Public Member Functions inherited from tracktion::engine::EditItem | |
| EditItem (EditItemID, Edit &) | |
Public Member Functions inherited from tracktion::engine::Selectable | |
| virtual void | selectionStatusChanged (bool isNowSelected) |
| Can be overridden to tell this object that it has just been selected or deselected. | |
| 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 |
Protected Member Functions | |
| void | valueTreePropertyChanged (juce::ValueTree &, const juce::Identifier &) override |
Protected Member Functions inherited from tracktion::engine::Clip | |
| void | setCurrentSourceFile (const juce::File &) |
| Sets a new source file for this clip. | |
| virtual juce::Array< TimePosition > | getRescaledMarkPoints () const |
| Returns the mark points relative to the start of the clip, rescaled to the current speed. | |
| void | valueTreePropertyChanged (juce::ValueTree &, const juce::Identifier &) override |
| void | valueTreeParentChanged (juce::ValueTree &) override |
Protected Member Functions inherited from juce::ReferenceCountedObject | |
| ReferenceCountedObject (const ReferenceCountedObject &) noexcept | |
| ReferenceCountedObject (ReferenceCountedObject &&) noexcept | |
| ReferenceCountedObject & | operator= (const ReferenceCountedObject &) noexcept |
| ReferenceCountedObject & | operator= (ReferenceCountedObject &&) noexcept |
| void | resetReferenceCount () noexcept |
Protected Member Functions inherited from juce::ValueTree::Listener | |
| virtual void | valueTreeChildAdded (ValueTree &parentTree, ValueTree &childWhichHasBeenAdded) |
| virtual void | valueTreeChildRemoved (ValueTree &parentTree, ValueTree &childWhichHasBeenRemoved, int indexFromWhichChildWasRemoved) |
| virtual void | valueTreeChildOrderChanged (ValueTree &parentTreeWhoseChildrenHaveMoved, int oldIndex, int newIndex) |
| virtual void | valueTreeRedirected (ValueTree &treeWhichHasBeenChanged) |
Additional Inherited Members | |
Static Public Member Functions inherited from tracktion::engine::Clip | |
| static bool | isClipState (const juce::ValueTree &) |
| Checks whether a ValueTree is some kind of clip state. | |
| static bool | isClipState (const juce::Identifier &) |
| Checks whether a ValueTree type is some kind of clip state. | |
| static Ptr | createClipForState (const juce::ValueTree &, ClipOwner &targetParent) |
| Creates a clip for a given ValueTree representation. | |
Static Public Member Functions inherited from tracktion::engine::TrackItem | |
| static const char * | typeToString (Type) |
| Returns the string version of a TrackItem::Type. | |
| static juce::Identifier | clipTypeToXMLType (Type) |
| Returns an Identifier version of a TrackItem::Type. | |
| static TrackItem::Type | xmlTagToType (juce::StringRef) |
| Returns the TrackItem::Type of a type string. | |
| static TrackItem::Type | stringToType (const juce::String &) |
| Returns the TrackItem::Type of a type string. | |
| static juce::String | getSuggestedNameForNewItem (Type) |
| Returns a text string for a new clip of the given type. | |
| template<typename ArrayType > | |
| static void | sortByTime (ArrayType &items) |
| Helper function to sort an array of TrackItem[s] by their start time. | |
| template<typename ArrayType > | |
| static void | stableSortByTime (ArrayType &items) |
| Helper function to sort an array of TrackItem[s] by their start time without changing the order of items at the same time. | |
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. | |
Static Public Member Functions inherited from tracktion::engine::Exportable | |
| static juce::Array< Exportable * > | addAllExportables (Edit &) |
| Returns all the Exportables contained in an Edit. | |
Public Attributes inherited from tracktion::engine::Clip | |
| juce::CachedValue< FollowActionDurationType > | followActionDurationType |
| The type of duration to use for when to trigger the follow action. | |
| juce::CachedValue< BeatDuration > | followActionBeats |
| Determines the time for which a launched clip will play before a follow action is taken. | |
| juce::CachedValue< double > | followActionNumLoops |
| Determines the number of loops for which a launched clip will play before a follow action is taken. | |
| juce::ValueTree | state |
| The ValueTree of the Clip state. | |
| juce::CachedValue< juce::Colour > | colour |
| The colour property. | |
| juce::CachedValue< bool > | disabled |
| Whether the Clip is disabled or not. | |
Public Attributes inherited from tracktion::engine::TrackItem | |
| const Type | type |
| The type of this item. | |
Public Attributes inherited from tracktion::engine::EditItem | |
| Edit & | edit |
| const EditItemID | itemID |
| Every EditItem has an ID which is unique within the edit. | |
Public Attributes inherited from tracktion::engine::Selectable | |
| WeakRef::Master | masterReference |
Protected Attributes inherited from tracktion::engine::Clip | |
| bool | isInitialised |
| bool | cloneInProgress |
| juce::CachedValue< juce::String > | clipName |
| ClipOwner * | parent |
| juce::CachedValue< TimePosition > | clipStart |
| juce::CachedValue< TimeDuration > | length |
| juce::CachedValue< TimeDuration > | offset |
| juce::CachedValue< double > | speedRatio |
| SourceFileReference | sourceFileReference |
| juce::CachedValue< EditItemID > | groupID |
| juce::CachedValue< juce::String > | linkID |
| juce::File | currentSourceFile |
| juce::CachedValue< SyncType > | syncType |
| juce::CachedValue< bool > | showingTakes |
| std::unique_ptr< PatternGenerator > | patternGenerator |
| AsyncCaller | updateLinkedClipsCaller |
| juce::ListenerList< Listener > | listeners |
Definition at line 17 of file tracktion_ArrangerClip.h.
Definition at line 23 of file tracktion_ArrangerClip.h.
| tracktion::engine::ArrangerClip::ArrangerClip | ( | const juce::ValueTree & | v, |
| EditItemID | id, | ||
| ClipOwner & | targetParent | ||
| ) |
Definition at line 14 of file tracktion_ArrangerClip.cpp.
|
override |
Definition at line 19 of file tracktion_ArrangerClip.cpp.
|
overridevirtual |
Tests whether this clip can go on the given parent.
Implements tracktion::engine::Clip.
Definition at line 40 of file tracktion_ArrangerClip.cpp.
|
overridevirtual |
Returns the default colour for this clip.
Implements tracktion::engine::Clip.
Definition at line 34 of file tracktion_ArrangerClip.cpp.
|
overridevirtual |
Subclasses must return a description of what they are.
Implements tracktion::engine::Selectable.
Definition at line 29 of file tracktion_ArrangerClip.cpp.
|
overridevirtual |
Initialises the Clip.
Called once automatically after construction.
Reimplemented from tracktion::engine::Clip.
Definition at line 24 of file tracktion_ArrangerClip.cpp.
|
overridevirtual |
Returns true if this is a MidiClip.
Implements tracktion::engine::Clip.
Definition at line 30 of file tracktion_ArrangerClip.h.
|
overridevirtual |
Returns true if the clip is muted.
Implements tracktion::engine::Clip.
Definition at line 31 of file tracktion_ArrangerClip.h.
|
overrideprotectedvirtual |
Reimplemented from juce::ValueTree::Listener.
Definition at line 45 of file tracktion_ArrangerClip.cpp.