TracktionEngine
|
#include <tracktion_CollectionClip.h>
Public Types | |
using | Ptr = juce::ReferenceCountedObjectPtr< CollectionClip > |
using | Array = juce::ReferenceCountedArray< CollectionClip > |
![]() | |
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... | |
![]() | |
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. | |
Track * | getTrack () const override |
Must return the track this item lives on. | |
bool | moveToTrack (Track &) |
void | updateStartAndEnd () |
FolderTrack * | getFolderTrack () 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::Array & | getClips () const noexcept |
void | setDragging (bool nowDragging) noexcept |
bool | isDragging () const noexcept |
EditItemID | getGroupID () const noexcept |
void | setGroupID (EditItemID newGroupID) |
bool | isGroupCollection () const |
![]() | |
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 TrackItem * | getGroupParent () 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. | |
![]() | |
EditItem (EditItemID, Edit &) | |
EditItem (Edit &, const juce::ValueTree &) | |
virtual | ~EditItem ()=default |
![]() | |
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 |
![]() | |
const Type | type |
The type of this item. | |
![]() | |
Edit & | edit |
const EditItemID | itemID |
Every EditItem has an ID which is unique within the edit. | |
![]() | |
WeakRef::Master | masterReference |
Additional Inherited Members | |
![]() | |
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 void | initialise () |
static bool | isSelectableValid (const Selectable *) noexcept |
checks whether this object has been deleted. | |
using tracktion::engine::CollectionClip::Ptr = juce::ReferenceCountedObjectPtr<CollectionClip> |
using tracktion::engine::CollectionClip::Array = juce::ReferenceCountedArray<CollectionClip> |
tracktion::engine::CollectionClip::CollectionClip | ( | Track & | ) |
|
override |
bool tracktion::engine::CollectionClip::removeClip | ( | EditItemID | ) |
|
overridevirtual |
Implements tracktion::engine::EditItem.
|
overridevirtual |
|
overridevirtual |
Must return the track this item lives on.
Implements tracktion::engine::TrackItem.
void tracktion::engine::CollectionClip::updateStartAndEnd | ( | ) |
|
noexcept |
Referenced by isGroupCollection().
|
overridevirtual |
Subclasses must return a description of what they are.
Implements tracktion::engine::Selectable.
|
noexcept |
|
noexcept |
|
noexcept |
|
noexcept |
void tracktion::engine::CollectionClip::setGroupID | ( | EditItemID | newGroupID | ) |
bool tracktion::engine::CollectionClip::isGroupCollection | ( | ) | const |
References getFolderTrack().
TimeRange tracktion::engine::CollectionClip::range |
Referenced by getPosition().