11namespace tracktion {
inline namespace engine
27 void removeClip (
Clip*);
29 bool containsClip (
Clip* clip)
const noexcept {
return clips.
contains (clip); }
36 bool moveToTrack (
Track&);
37 void updateStartAndEnd();
42 int getNumClips() const noexcept {
return clips.
size(); }
43 Clip::Ptr getClip (
int index)
const {
return clips[index]; }
44 const Clip::Array& getClips() const noexcept {
return clips; }
46 void setDragging (
bool nowDragging)
noexcept { dragging = nowDragging; }
47 bool isDragging() const noexcept {
return dragging; }
50 EditItemID getGroupID() const noexcept {
return groupID; }
51 void setGroupID (EditItemID newGroupID) { groupID = newGroupID; }
53 bool isGroupCollection()
const {
return getFolderTrack() ==
nullptr; }
60 bool dragging =
false;
int size() const noexcept
bool contains(const ObjectClass *objectToLookFor) const noexcept
Track * getTrack() const override
Must return the track this item lives on.
juce::String getSelectableDescription() override
Subclasses must return a description of what they are.
ClipPosition getPosition() const override
Must return the position of this item.
Base class for EditItems that live in a Track, e.g.
Base class for tracks which contain clips and plugins and can be added to Edit[s].
#define TRANS(stringLiteral)
RangeType< TimePosition > TimeRange
A RangeType based on real time (i.e.
Represents a duration in real-life time.
Represents the position of a clip on a timeline.
ID for objects of type EditElement - e.g.