|
tracktion-engine 3.0-10-g034fdde4aa5
Tracktion Engine — High level data model for audio applications
« « « Anklang Documentation |
A clip that can contain multiple other clips and mix their output together. More...
#include "tracktion_ContainerClip.h"
Public Member Functions | |
| ContainerClip (const juce::ValueTree &, EditItemID, ClipOwner &) | |
| Creates a ContainerClip from a given state. | |
| ~ContainerClip () override | |
| Destructor. | |
| juce::ValueTree & | getClipOwnerState () override |
| Must return the state of this ClipOwner. | |
| EditItemID | getClipOwnerID () override |
| Must return the ID of this ClipOwner. | |
| Selectable * | getClipOwnerSelectable () override |
| Must return the selectable if this ClipOwner is one. | |
| Edit & | getClipOwnerEdit () override |
| Must return the Edit this ClipOwner belongs to. | |
| juce::File | getOriginalFile () const override |
| Must return the file that the source ProjectItemID refers to. | |
| bool | isUsingFile (const AudioFile &) override |
| Should return true if the clip is referencing the file in any way. | |
| void | initialise () override |
| Initialises the Clip. | |
| void | cloneFrom (Clip *) override |
| Clones the given clip to this clip. | |
| juce::String | getSelectableDescription () override |
| Subclasses must return a description of what they are. | |
| bool | isMidi () const override |
| Returns true if this is a MidiClip. | |
| TimeDuration | getSourceLength () const override |
| Must return the length in seconds of the source material e.g. | |
| HashCode | getHash () const override |
| Must return a unique hash for this clip's source. | |
| void | setLoopDefaults () override |
| Override this to fill in the LoopInfo structure as best fits the source. | |
| void | setLoopRangeBeats (BeatRange) override |
| Sets the loop range the clip should use in beats. | |
| void | flushStateToValueTree () override |
| Can be overridden to ensure any state (e.g. | |
| void | pitchTempoTrackChanged () override |
| Called when there are pitch or tempo changes made which might require clips to adjust timing information. | |
Public Member Functions inherited from tracktion::engine::AudioClipBase | |
| AudioClipBase (const juce::ValueTree &, EditItemID, Type, ClipOwner &) | |
| Creates a basic AudioClip. | |
| ~AudioClipBase () override | |
| Destructor. | |
| TimeDuration | getMaximumLength () override |
| Returns the maximum length for this clip. | |
| virtual AudioFile | getAudioFile () const |
| Returns the file used to play back the source and will get proxied etc. | |
| AudioFile | getPlaybackFile () |
| Returns the current AudioFile being used by the Clip, either the original source or a proxy. | |
| virtual AudioFileInfo | getWaveInfo () |
| Returns the WaveInfo for a clip. | |
| void | markAsDirty () |
| Resets the dirty flag so that a new render will be attempted. | |
| void | updateSourceFile () |
| Checks the current source file to see if it's up to date and then triggers a source render if needed. | |
| virtual bool | needsRender () const |
| Subclasses should override this to return true if they need the rest of the render callbacks. | |
| virtual RenderManager::Job::Ptr | getRenderJob (const AudioFile &) |
| Subclasses should override this to return a RenderJob suitable for rendering its source file. | |
| virtual void | renderComplete () |
| Callback to indicate that the render has completed. | |
| virtual juce::String | getRenderMessage () |
| Override this to return a custom message to be displayed over waveforms during rendering. | |
| virtual juce::String | getClipMessage () |
| Override this to return a custom message to display over the clip where the "file missing" text usually goes. | |
| void | cancelCurrentRender () |
| If a render is in progress, this will cancel it. | |
| void | setGainDB (float dB) |
| Sets the gain of the clip in dB. | |
| float | getGainDB () const noexcept |
| Returns the gain of the clip in dB. | |
| float | getGain () const noexcept |
| Returns the gain of the clip. | |
| void | setPan (float pan) |
| Sets the pan of the clip. | |
| float | getPan () const noexcept |
| Returns the pan of the clip from -1 to 1. | |
| void | setMuted (bool shouldBeMuted) override |
| Mutes or unmutes the clip. | |
| bool | isMuted () const override |
| Returns true if the clip is muted. | |
| LiveClipLevel | getLiveClipLevel () |
| Returns a LiveClipLevel which can be used to read the gain, pan and mute statuses. | |
| void | setLeftChannelActive (bool) |
| Enables the left channel of the clip. | |
| bool | isLeftChannelActive () const |
| Returns whether the left channel of the clip is enabled. | |
| void | setRightChannelActive (bool) |
| Enables the right channel of the clip. | |
| bool | isRightChannelActive () const |
| Returns whether the right channel of the clip is enabled. | |
| juce::AudioChannelSet | getActiveChannels () const |
| Returns the layout of the active channels. | |
| bool | setFadeIn (TimeDuration length) |
| Sets the fade in duration in seconds. | |
| TimeDuration | getFadeIn () const |
| Returns the fade in duration in seconds. | |
| bool | setFadeOut (TimeDuration length) |
| Sets the fade out duration in seconds. | |
| TimeDuration | getFadeOut () const |
| Returns the fade out duration in seconds. | |
| void | setFadeInType (AudioFadeCurve::Type) |
| Sets the curve shape for the fade in to use. | |
| AudioFadeCurve::Type | getFadeInType () const |
| Returns the curve shape for the fade in to use. | |
| void | setFadeOutType (AudioFadeCurve::Type newType) |
| Sets the curve shape for the fade out to use. | |
| AudioFadeCurve::Type | getFadeOutType () const |
| Returns the curve shape for the fade out to use. | |
| void | setAutoCrossfade (bool shouldAutoCrossfade) |
| Enables/disables auto-crossfading. | |
| bool | getAutoCrossfade () const noexcept |
| Returns whether auto-crossfade is enabled. | |
| void | updateAutoCrossfadesAsync (bool updateOverlapped) |
| Triggers an update of the auto-crossfades. | |
| void | applyEdgeFades () |
| Sets the fade in/out lengths to be 0.03s to avoid any clicks at the start/end of th clip. | |
| void | copyFadeToAutomation (bool fadeIn, bool removeClipFade) |
| Copies the fade in curve to a volume automation curve. | |
| void | setFadeInBehaviour (FadeBehaviour newBehaviour) |
| Sets the fade in behaviour. | |
| FadeBehaviour | getFadeInBehaviour () const |
| Returns the fade in behaviour. | |
| void | setFadeOutBehaviour (FadeBehaviour newBehaviour) |
| Sets the fade out behaviour. | |
| FadeBehaviour | getFadeOutBehaviour () const |
| Returns the fade out behaviour. | |
| void | setLoopInfo (const LoopInfo &) |
| Sets a LoopInfo to describe this clip's tempo, time sig etc. | |
| const LoopInfo & | getLoopInfo () const |
| Returns the LoopInfo being used to describe this clip. | |
| LoopInfo & | getLoopInfo () |
| Returns the LoopInfo being used to describe this clip. | |
| TimeRange | getLoopRange () const |
| Returns the loop range in seconds. | |
| bool | canLoop () const override |
| Returns true if this clip is capable of looping. | |
| bool | isLooping () const override |
| Returns true if this clip is currently looping. | |
| bool | beatBasedLooping () const override |
| Returns true if this clip's looping is based on beats or false if absolute time. | |
| void | setNumberOfLoops (int num) override |
| Sets the clip looping a number of times. | |
| void | disableLooping () override |
| Disables all looping. | |
| BeatPosition | getLoopStartBeats () const override |
| Returns the beat position of the loop start point. | |
| TimePosition | getLoopStart () const override |
| Returns the start time of the loop start point. | |
| BeatDuration | getLoopLengthBeats () const override |
| Returns the length of loop in beats. | |
| TimeDuration | getLoopLength () const override |
| Returns the length of loop in seconds. | |
| void | setLoopRange (TimeRange) override |
| Sets the loop range the clip should use in seconds. | |
| void | setAutoDetectBeats (bool) |
| Enables auto-detection of beats. | |
| bool | getAutoDetectBeats () const |
| Returns true if auto-detect of beats is enabled. | |
| void | setBeatSensitivity (float s) |
| Sets the beat sensitivity, triggering a LoopInfo update if auto-detect is enabled. | |
| float | getBeatSensitivity () const |
| Returns the beat sensitivity. | |
| void | setSpeedRatio (double newSpeed) override |
| Sets a speed ratio i.e. | |
| void | setTimeStretchMode (TimeStretcher::Mode mode) |
| Sets a time-stretch mode to use. | |
| TimeStretcher::Mode | getTimeStretchMode () const noexcept |
| Returns the time-stretch mode that has been set. | |
| TimeStretcher::Mode | getActualTimeStretchMode () const noexcept |
| Returns the time-stretch mode that is in use. | |
| void | setAutoTempo (bool shouldUseAutoTempo) |
| Enables/disables auto-tempo. | |
| bool | getAutoTempo () const |
| Returns true if auto-tempo has been set. | |
| void | setAutoPitch (bool shouldUseAutoPitch) |
| Enables/disables auto-pitch. | |
| bool | getAutoPitch () const |
| Returns true if auto-pitch has been set. | |
| void | setAutoPitchMode (AutoPitchMode m) |
| Sets the AutoPitchMode to use. | |
| AutoPitchMode | getAutoPitchMode () |
| Returns the AutoPitchMode in use. | |
| void | setWarpTime (bool shouldUseWarpTime) |
| Enables/disables warp time. | |
| bool | getWarpTime () const |
| Returns true if warp time is enabled. | |
| WarpTimeManager & | getWarpTimeManager () const |
| Returns the WarpTimeManager for this clip used to maipluate warp markers. | |
| void | setTranspose (int numSemitones) |
| Sets the number of semitones to transpose the clip by. | |
| int | getTransposeSemiTones (bool includeAutoPitch) const |
| Returns the number of semitones this clip will be changed by. | |
| void | setPitchChange (float semitones) |
| Sets the number of semitones to transpose the clip by. | |
| float | getPitchChange () const |
| Returns the number of semitones to transpose the clip by. | |
| float | getPitchRatio () const |
| Returns the pitch change as a normalised ratio. | |
| void | setIsReversed (bool shouldBeReversed) |
| Enables reversing of the clip's source material. | |
| bool | getIsReversed () const noexcept |
| Returns true if the clip's source material is reversed. | |
| LoopInfo | autoDetectBeatMarkers (const LoopInfo ¤t, bool autoBeat, float sensitivity) const |
| Scans the current source file for any beats and adds them to the LoopInfo returned. | |
| bool | performTempoDetect () |
| Performs a tempo-detection task and if successful sets the clip's LoopInfo tempo to this. | |
| juce::StringArray | getPitchChoices () |
| Returns an array describng what pitch each semitone change will be. | |
| virtual bool | canHaveEffects () const |
| Returns true if this clip can have ClipEffects added to it. | |
| void | enableEffects (bool enable, bool warn) |
| Enables/disables ClipEffects for this clip. | |
| bool | effectsEnabled () const |
| Returns true if ClipEffects are enabled. | |
| void | addEffect (const juce::ValueTree &effectsTree) |
| Adds a ClipEffect to this clip. | |
| void | setEffectsVisible (bool b) |
| Sets the effectsVisible flag for this clip. | |
| bool | getEffectsVisible () const |
| Returns true if the effectsVisible flag is set for this clip. | |
| ClipEffects * | getClipEffects () const noexcept |
| Returns the ClipEffects for this clip if it has been enabled. | |
| bool | canSnapToOriginalBWavTime () |
| Returns true if source file has a bwav time reference metadata property. | |
| void | snapToOriginalBWavTime () |
| Moves the clip to the bwav time reference metadata property time. | |
| virtual juce::Array< ProjectItemID > | getTakes () const |
| Returns the ProjectItemID of the clip's takes. | |
| juce::String | canAddClipPlugin (const Plugin::Ptr &) const |
| Returns an empty string if this plugin can be added, otherwise an error message due to the clip plugin being an incorrect type (e.g. | |
| AudioFile | getProxyFileToCreate (bool renderTimestretched) |
| Returns the AudioFile to create to play this clip back. | |
| void | setUsesProxy (bool canUseProxy) noexcept |
| Can be used to disable proxy file generation for this clip. | |
| bool | canUseProxy () const noexcept |
| Retuns true if this clip can use a proxy file. | |
| bool | usesTimeStretchedProxy () const |
| Retuns true if this clip use a proxy file due to timestretching. | |
| std::unique_ptr< ProxyRenderingInfo > | createProxyRenderingInfo () |
| Creates a ProxyRenderingInfo object to decribe the stretch segements of this clip. | |
| HashCode | getProxyHash () |
| Returns a hash identifying the proxy settings. | |
| void | beginRenderingNewProxyIfNeeded () |
| Triggers creation of a new proxy file if one is required. | |
| const AudioSegmentList & | getAudioSegmentList () |
| Returns an AudioSegmentList describing this file if it is using auto-tempo. | |
| void | setResamplingQuality (ResamplingQuality) |
| Sets the resampling qulity to use. | |
| ResamplingQuality | getResamplingQuality () const |
| Returns the resampling quality to the be used. | |
| void | reverseLoopPoints () |
| Reverses the loop points to expose the same section of the source file but reversed. | |
| void | checkFadeLengthsForOverrun () |
| Trims the fade in out lengths to avoid any overlap between them. | |
| AudioClipBase * | getOverlappingClip (ClipDirection) const |
| Returns the previous/next overlapping clip if one exists. | |
| bool | isUsingMelodyne () const |
| Returns true if this clip is using Melodyne. | |
| void | showMelodyneWindow () |
| Shows the Melodyne window if this clip is using Melodyne. | |
| void | hideMelodyneWindow () |
| Hides the Melodyne window if this clip is using Melodyne. | |
| void | melodyneConvertToMIDI () |
| If this clip is using Melodyne, this will create a new MIDI clip based on the Melodyne analysis. | |
| void | loadMelodyneState () |
| bool | setupARA (bool dontPopupErrorMessages) |
| This internal method is used solely to find out if createAudioNode() should return nullptr or not. | |
| void | setParent (ClipOwner *) override |
| bool | canBeAddedTo (ClipOwner &) override |
| Tests whether this clip can go on the given parent. | |
| void | changed () override |
| This should be called to send a change notification to any SelectableListeners that are registered with this object. | |
| juce::Colour | getDefaultColour () const override |
| Returns the default colour for this clip. | |
| PatternGenerator * | getPatternGenerator () override |
| Returns the PatternGenerator for this clip if it has one. | |
| void | addMark (TimePosition relCursorPos) |
| void | moveMarkTo (TimePosition relCursorPos) |
| void | deleteMark (TimePosition relCursorPos) |
| void | getRescaledMarkPoints (juce::Array< TimePosition > &rescaled, juce::Array< int > &orig) const |
| juce::Array< TimePosition > | getRescaledMarkPoints () const override |
| Returns the mark points relative to the start of the clip, rescaled to the current speed. | |
| juce::Array< ReferencedItem > | getReferencedItems () override |
| void | reassignReferencedItem (const ReferencedItem &, ProjectItemID newID, double newStartTime) override |
| std::shared_ptr< LaunchHandle > | getLaunchHandle () override |
| Some clip types can be launched, if that's possible, this returns a handle to trigger starting/stopping the clip. | |
| void | setUsesGlobalLaunchQuatisation (bool useGlobal) override |
| Some clip types can be launched, if that's possible, this sets whether the clip's quantisation or the global quantisation should be used. | |
| bool | usesGlobalLaunchQuatisation () override |
| Some clip types can be launched, if that's possible, this returns whether the clip's quantisation or the global quantisation should be used. | |
| LaunchQuantisation * | getLaunchQuantisation () override |
| Some clip types can be launched, if that's possible, this returns a quantisation that can be used for this clip. | |
| FollowActions * | getFollowActions () override |
| 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. | |
| bool | addClipPlugin (const Plugin::Ptr &, SelectionManager &) override |
| Adds a plugin to the clip. | |
| Plugin::Array | getAllPlugins () override |
| Returns all the plugins on the clip. | |
| void | sendMirrorUpdateToAllPlugins (Plugin &) const override |
| Sends an update to all plugins mirroing the one passed in. | |
| PluginList * | getPluginList () override |
| Returns the PluginList for this clip if it has one. | |
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 | sourceMediaChanged () |
| Called when the source media file reference (attribute "source") has changed - i.e. | |
| 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. | |
| 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 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. | |
| TimeRange | getLoopRange () const |
| Returns the loop range in seconds. | |
| BeatRange | getLoopRangeBeats () const |
| Returns the loop range in beats. | |
| 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 | 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 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. | |
| void | updateLinkedClips () |
| Triggers a call to cloneFrom for all clips with the same linkID. | |
| 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. | |
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 |
Public Member Functions inherited from tracktion::engine::RenderManager::Job::Listener | |
| virtual void | jobStarted (RenderManager::Job &) |
Public Member Functions inherited from tracktion::engine::ClipOwner | |
| ClipOwner () | |
| Constructs an empty ClipOwner. | |
| virtual | ~ClipOwner () |
| Destructor. | |
| const juce::Array< Clip * > & | getClips () const |
| Returns the clips this owner contains. | |
A clip that can contain multiple other clips and mix their output together.
This makes it possible to group, move, add effects etc. to a number of clips easily.
Definition at line 21 of file tracktion_ContainerClip.h.
Definition at line 31 of file tracktion_ContainerClip.h.
| tracktion::engine::ContainerClip::ContainerClip | ( | const juce::ValueTree & | v, |
| EditItemID | clipID, | ||
| ClipOwner & | targetParent | ||
| ) |
Creates a ContainerClip from a given state.
Definition at line 14 of file tracktion_ContainerClip.cpp.
|
override |
Destructor.
Definition at line 19 of file tracktion_ContainerClip.cpp.
|
overridevirtual |
Clones the given clip to this clip.
Reimplemented from tracktion::engine::AudioClipBase.
Definition at line 33 of file tracktion_ContainerClip.cpp.
|
overridevirtual |
Can be overridden to ensure any state (e.g.
clip plugins) is flushed to the ValueTree ready for saving.
Reimplemented from tracktion::engine::AudioClipBase.
Definition at line 110 of file tracktion_ContainerClip.cpp.
|
overridevirtual |
Must return the Edit this ClipOwner belongs to.
Implements tracktion::engine::ClipOwner.
Definition at line 142 of file tracktion_ContainerClip.cpp.
|
overridevirtual |
Must return the ID of this ClipOwner.
Implements tracktion::engine::ClipOwner.
Definition at line 132 of file tracktion_ContainerClip.cpp.
|
overridevirtual |
Must return the selectable if this ClipOwner is one.
Implements tracktion::engine::ClipOwner.
Definition at line 137 of file tracktion_ContainerClip.cpp.
|
overridevirtual |
Must return the state of this ClipOwner.
Implements tracktion::engine::ClipOwner.
Definition at line 127 of file tracktion_ContainerClip.cpp.
|
overridevirtual |
Must return a unique hash for this clip's source.
This should be the same until the clip changes as it is used to determine if the proxy needs regenerating.
Implements tracktion::engine::AudioClipBase.
Definition at line 70 of file tracktion_ContainerClip.cpp.
|
overridevirtual |
Must return the file that the source ProjectItemID refers to.
Implements tracktion::engine::AudioClipBase.
Definition at line 45 of file tracktion_ContainerClip.h.
|
overridevirtual |
Subclasses must return a description of what they are.
Implements tracktion::engine::Selectable.
Definition at line 46 of file tracktion_ContainerClip.cpp.
|
overridevirtual |
Must return the length in seconds of the source material e.g.
the length of the audio file or edit.
Implements tracktion::engine::AudioClipBase.
Definition at line 60 of file tracktion_ContainerClip.cpp.
|
overridevirtual |
Initialises the Clip.
Called once automatically after construction.
Reimplemented from tracktion::engine::AudioClipBase.
Definition at line 25 of file tracktion_ContainerClip.cpp.
|
overridevirtual |
Returns true if this is a MidiClip.
Implements tracktion::engine::Clip.
Definition at line 51 of file tracktion_ContainerClip.cpp.
|
overridevirtual |
Should return true if the clip is referencing the file in any way.
Reimplemented from tracktion::engine::AudioClipBase.
Definition at line 148 of file tracktion_ContainerClip.cpp.
|
overridevirtual |
Called when there are pitch or tempo changes made which might require clips to adjust timing information.
Reimplemented from tracktion::engine::AudioClipBase.
Definition at line 118 of file tracktion_ContainerClip.cpp.
|
overridevirtual |
Override this to fill in the LoopInfo structure as best fits the source.
Implements tracktion::engine::AudioClipBase.
Definition at line 80 of file tracktion_ContainerClip.cpp.
|
overridevirtual |
Sets the loop range the clip should use in beats.
Reimplemented from tracktion::engine::AudioClipBase.
Definition at line 95 of file tracktion_ContainerClip.cpp.