11namespace tracktion {
inline namespace engine
88 EditItemID nextInsertPointTrack, nextInsertPointClipOwner;
89 int lockInsertPointCount = 0;
90 bool nextInsertIsAfterSelected =
false;
Base class for items that can contain clips.
An EditInsertPoint is like a "paste location".
virtual ~EditInsertPoint()=default
Destructor.
bool setNextInsertPoint(ClipOwner *, std::optional< TimePosition >)
Sets the next insertion point to a given ClipOwner and Time (if provided).
void chooseInsertPoint(juce::ReferenceCountedObjectPtr< Track > &, TimePosition &start, bool pasteAfterSelection, SelectionManager *, std::function< bool(Track &)> allowedTrackPredicate)
This is the same as the other overload except you can supply a predicate to determine if tracks are a...
void lockInsertPoint(bool lock) noexcept
Locks the insert point so calls to setNextInsertPoint won't have any effect.
void setNextInsertPoint(TimePosition, const juce::ReferenceCountedObjectPtr< Track > &)
Sets the next insertion point to a given time and track.
virtual void chooseInsertPoint(juce::ReferenceCountedObjectPtr< Track > &, TimePosition &start, bool pasteAfterSelection, SelectionManager *)
Returns the track and time position content should be pasted at.
ClipOwner * clipOwner
The clip owner to insert to (might be the same as track).
std::optional< TimePosition > time
The time to insert at.
juce::ReferenceCountedObjectPtr< Track > track
The track to insert in to.
void setNextInsertPointAfterSelected()
Sets a flag to signify chooseInsertPoint should use the selected track as the insertion point.
A struct representing a resolved insertion point.
The Tracktion Edit class!
Manages a list of items that are currently selected.
Base class for tracks which contain clips and plugins and can be added to Edit[s].
Represents a position in real-life time.
ID for objects of type EditElement - e.g.