TracktionEngine
Loading...
Searching...
No Matches
Public Types | Public Member Functions | Public Attributes | List of all members
engine::CollectionClip Class Reference

#include <tracktion_CollectionClip.h>

Inheritance diagram for engine::CollectionClip:

Public Types

using Ptr = juce::ReferenceCountedObjectPtr< CollectionClip >
 
using Array = juce::ReferenceCountedArray< CollectionClip >
 
- Public Types inherited from 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 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.
 
TrackgetTrack () const override
 Must return the track this item lives on.
 
bool moveToTrack (Track &)
 
void updateStartAndEnd ()
 
FolderTrackgetFolderTrack () const noexcept
 
juce::String getSelectableDescription () override
 Subclasses must return a description of what they are.
 
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 engine::TrackItem
 TrackItem (Edit &, EditItemID, Type)
 Creates a TrackItem with an ID and type.
 
 ~TrackItem ()
 Destructor.
 
virtual bool isGrouped () const
 Should return true if this clip is part of a group.
 
virtual TrackItemgetGroupParent () const
 If this clip is part of a group, this should return the parent item it belongs to.
 
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 engine::EditItem
 EditItem (EditItemID, Edit &)
 
 EditItem (Edit &, const juce::ValueTree &)
 
virtual ~EditItem ()=default
 
- Public Member Functions inherited from 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.
 
virtual void changed ()
 This should be called to send a change notification to any SelectableListeners that are registered with this object.
 
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 Attributes

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

Additional Inherited Members

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

Member Typedef Documentation

◆ Ptr

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

◆ Array

using engine::CollectionClip::Array = juce::ReferenceCountedArray<CollectionClip>

Constructor & Destructor Documentation

◆ CollectionClip()

engine::CollectionClip::CollectionClip ( Track )

◆ ~CollectionClip()

engine::CollectionClip::~CollectionClip ( )
override

Member Function Documentation

◆ addClip()

void engine::CollectionClip::addClip ( Clip )

◆ removeClip() [1/2]

void engine::CollectionClip::removeClip ( Clip )

◆ removeClip() [2/2]

bool engine::CollectionClip::removeClip ( EditItemID  )

◆ containsClip()

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

◆ getName()

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

Implements engine::EditItem.

◆ getPosition()

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

Must return the position of this item.

Implements engine::TrackItem.

◆ getTrack()

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

Must return the track this item lives on.

Implements engine::TrackItem.

◆ moveToTrack()

bool engine::CollectionClip::moveToTrack ( Track )

◆ updateStartAndEnd()

void engine::CollectionClip::updateStartAndEnd ( )

◆ getFolderTrack()

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

◆ getSelectableDescription()

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

Subclasses must return a description of what they are.

Implements engine::Selectable.

◆ getNumClips()

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

◆ getClip()

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

◆ getClips()

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

◆ setDragging()

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

◆ isDragging()

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

◆ getGroupID()

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

◆ setGroupID()

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

◆ isGroupCollection()

bool engine::CollectionClip::isGroupCollection ( ) const

Member Data Documentation

◆ range

TimeRange engine::CollectionClip::range

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