11namespace tracktion {
inline namespace engine
59 bool isMidi()
const override;
64 HashCode
getHash()
const override;
81 void clipCreated (
Clip&)
override;
82 void clipAddedOrRemoved()
override;
83 void clipOrderChanged()
override;
84 void clipPositionChanged()
override;
Base class for Clips that produce some kind of audio e.g.
Base class for items that can contain clips.
A clip that can contain multiple other clips and mix their output together.
bool isMidi() const override
Returns true if this is a MidiClip.
juce::ValueTree & getClipOwnerState() override
Must return the state of this ClipOwner.
juce::String getSelectableDescription() override
Subclasses must return a description of what they are.
Selectable * getClipOwnerSelectable() override
Must return the selectable if this ClipOwner is one.
TimeDuration getSourceLength() const override
Must return the length in seconds of the source material e.g.
void cloneFrom(Clip *) override
Clones the given clip to this clip.
EditItemID getClipOwnerID() override
Must return the ID of this ClipOwner.
~ContainerClip() override
Destructor.
void flushStateToValueTree() override
Can be overridden to ensure any state (e.g.
bool isUsingFile(const AudioFile &) override
Should return true if the clip is referencing the file in any way.
void pitchTempoTrackChanged() override
Called when there are pitch or tempo changes made which might require clips to adjust timing informat...
void initialise() override
Initialises the Clip.
void setLoopRangeBeats(BeatRange) override
Sets the loop range the clip should use in beats.
juce::File getOriginalFile() const override
Must return the file that the source ProjectItemID refers to.
HashCode getHash() const override
Must return a unique hash for this clip's source.
Edit & getClipOwnerEdit() override
Must return the Edit this ClipOwner belongs to.
void setLoopDefaults() override
Override this to fill in the LoopInfo structure as best fits the source.
The Tracktion Edit class!
Base class for things that can be selected, and whose properties can appear in the properties panel.
Represents a duration in real-life time.
ID for objects of type EditElement - e.g.