TracktionEngine
Public Types | Public Member Functions | Public Attributes | List of all members
tracktion::engine::CollectionClip Class Reference
Inheritance diagram for tracktion::engine::CollectionClip:

Public Types

using Ptr = juce::ReferenceCountedObjectPtr< CollectionClip >
 
- 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

 CollectionClip (Track &)
 
 ~CollectionClip () override
 
void addClip (Clip *)
 
void removeClip (Clip *)
 
bool removeClip (EditItemID)
 
bool containsClip (Clip *clip) const noexcept
 
juce::String getName () const override
 
ClipPosition getPosition () const override
 Must return the position of this item. More...
 
TrackgetTrack () const override
 Must return the track this item lives on. More...
 
bool moveToTrack (Track &)
 
void updateStartAndEnd ()
 
FolderTrackgetFolderTrack () const noexcept
 
juce::String getSelectableDescription () override
 Subclasses must return a description of what they are. More...
 
int getNumClips () const noexcept
 
Clip::Ptr getClip (int index) const
 
const Clip::ArraygetClips () const noexcept
 
void setDragging (bool nowDragging) noexcept
 
bool isDragging () const noexcept
 
EditItemID getGroupID () const noexcept
 
void setGroupID (EditItemID newGroupID)
 
bool isGroupCollection () const
 
- Public Member Functions inherited from tracktion::engine::TrackItem
 TrackItem (Edit &, EditItemID, Type)
 Creates a TrackItem with an ID and type. More...
 
 ~TrackItem ()
 Destructor. More...
 
virtual bool isGrouped () const
 Should return true if this clip is part of a group. More...
 
virtual TrackItemgetGroupParent () const
 If this clip is part of a group, this should return the parent item it belongs to. More...
 
TimeRange getEditTimeRange () const
 Returns the time range of this item. More...
 
BeatRange getEditBeatRange () const
 Returns the beat range of this item. More...
 
BeatPosition getStartBeat () const
 Returns the start beat in the Edit of this item. More...
 
BeatPosition getContentStartBeat () const
 Returns the start beat of the content in the Edit of this item. More...
 
BeatPosition getEndBeat () const
 Returns the end beat in the Edit of this item. More...
 
BeatDuration getLengthInBeats () const
 Returns the duration in beats the of this item. More...
 
TimePosition getTimeOfRelativeBeat (BeatDuration) const
 Returns an Edit time point for a given number of beats from the start of this item. More...
 
BeatPosition getBeatOfRelativeTime (TimeDuration) const
 Returns an Edit beat point for a given number of seconds from the start of this item. More...
 
BeatDuration getOffsetInBeats () const
 Returns an the offset of this item in beats. More...
 
EditItemID getTrackID () const
 Returns the ID of the Track this item lives on. More...
 
- Public Member Functions inherited from tracktion::engine::EditItem
 EditItem (EditItemID, Edit &)
 
virtual ~EditItem ()=default
 
- Public Member Functions inherited from tracktion::engine::Selectable
 Selectable ()
 
virtual ~Selectable ()
 
virtual void selectionStatusChanged (bool isNowSelected)
 Can be overridden to tell this object that it has just been selected or deselected. More...
 
virtual void changed ()
 This should be called to send a change notification to any SelectableListeners that are registered with this object. More...
 
virtual void selectableAboutToBeDeleted ()
 Called just before the selectable is about to be deleted so any subclasses should still be valid at this point. More...
 
void addSelectableListener (SelectableListener *)
 
void removeSelectableListener (SelectableListener *)
 
void cancelAnyPendingUpdates ()
 If changed() has been called, this will cancel any pending async change notificaions. More...
 
void deselect ()
 
void propertiesChanged ()
 
void notifyListenersOfDeletion ()
 
WeakRef getWeakRef ()
 

Public Attributes

TimeRange range
 
- Public Attributes inherited from tracktion::engine::TrackItem
const Type type
 The type of this item. More...
 
- Public Attributes inherited from tracktion::engine::EditItem
Editedit
 
const EditItemID itemID
 Every EditItem has an ID which is unique within the edit. More...
 
- Public Attributes inherited from tracktion::engine::Selectable
WeakRef::Master masterReference
 

Additional Inherited Members

- Static Public Member Functions inherited from tracktion::engine::TrackItem
static const char * typeToString (Type)
 Returns the string version of a TrackItem::Type. More...
 
static juce::Identifier clipTypeToXMLType (Type)
 Returns an Identifier version of a TrackItem::Type. More...
 
static TrackItem::Type xmlTagToType (juce::StringRef)
 Returns the TrackItem::Type of a type string. More...
 
static TrackItem::Type stringToType (const juce::String &)
 Returns the TrackItem::Type of a type string. More...
 
static juce::String getSuggestedNameForNewItem (Type)
 Returns a text string for a new clip of the given type. More...
 
template<typename ArrayType >
static void sortByTime (ArrayType &items)
 Helper function to sort an array of TrackItem[s] by their start time. More...
 
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. More...
 
- 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. More...
 

Member Typedef Documentation

◆ Ptr

using tracktion::engine::CollectionClip::Ptr = juce::ReferenceCountedObjectPtr<CollectionClip>

Constructor & Destructor Documentation

◆ CollectionClip()

tracktion::engine::CollectionClip::CollectionClip ( Track )

◆ ~CollectionClip()

tracktion::engine::CollectionClip::~CollectionClip ( )
override

Member Function Documentation

◆ addClip()

void tracktion::engine::CollectionClip::addClip ( Clip )

◆ removeClip() [1/2]

void tracktion::engine::CollectionClip::removeClip ( Clip )

◆ removeClip() [2/2]

bool tracktion::engine::CollectionClip::removeClip ( EditItemID  )

◆ containsClip()

bool tracktion::engine::CollectionClip::containsClip ( Clip clip) const
noexcept

◆ getName()

juce::String tracktion::engine::CollectionClip::getName ( ) const
overridevirtual

◆ getPosition()

ClipPosition tracktion::engine::CollectionClip::getPosition ( ) const
overridevirtual

Must return the position of this item.

Implements tracktion::engine::TrackItem.

References range.

◆ getTrack()

Track* tracktion::engine::CollectionClip::getTrack ( ) const
overridevirtual

Must return the track this item lives on.

Implements tracktion::engine::TrackItem.

◆ moveToTrack()

bool tracktion::engine::CollectionClip::moveToTrack ( Track )

◆ updateStartAndEnd()

void tracktion::engine::CollectionClip::updateStartAndEnd ( )

◆ getFolderTrack()

FolderTrack* tracktion::engine::CollectionClip::getFolderTrack ( ) const
noexcept

Referenced by isGroupCollection().

◆ getSelectableDescription()

juce::String tracktion::engine::CollectionClip::getSelectableDescription ( )
overridevirtual

Subclasses must return a description of what they are.

Implements tracktion::engine::Selectable.

◆ getNumClips()

int tracktion::engine::CollectionClip::getNumClips ( ) const
noexcept

◆ getClip()

Clip::Ptr tracktion::engine::CollectionClip::getClip ( int  index) const

◆ getClips()

const Clip::Array& tracktion::engine::CollectionClip::getClips ( ) const
noexcept

◆ setDragging()

void tracktion::engine::CollectionClip::setDragging ( bool  nowDragging)
noexcept

◆ isDragging()

bool tracktion::engine::CollectionClip::isDragging ( ) const
noexcept

◆ getGroupID()

EditItemID tracktion::engine::CollectionClip::getGroupID ( ) const
noexcept

◆ setGroupID()

void tracktion::engine::CollectionClip::setGroupID ( EditItemID  newGroupID)

◆ isGroupCollection()

bool tracktion::engine::CollectionClip::isGroupCollection ( ) const

References getFolderTrack().

Member Data Documentation

◆ range

TimeRange tracktion::engine::CollectionClip::range

Referenced by getPosition().


The documentation for this class was generated from the following file: