11namespace tracktion {
inline namespace engine
14MarkerClip::MarkerClip (
const juce::ValueTree& v, EditItemID
id, ClipOwner& targetParent)
15 : Clip (v, targetParent, id, Type::marker)
19MarkerClip::~MarkerClip()
21 notifyListenersOfDeletion();
24void MarkerClip::initialise()
28 markerID.referTo (state, IDs::markerID, &edit.getUndoManager());
30 if (! state.hasProperty (IDs::markerID))
31 markerID = edit.getMarkerManager().getNextUniqueID();
33 if (clipName ==
TRANS(
"New Marker"))
41 return TRANS(
"Marker Clip") +
" - \"" +
getName() +
"\"";
46 return juce::Colours::red.
withHue (1.0f / 9.0f);
49void MarkerClip::setMarkerID (
int newID)
67 if (i == IDs::markerID)
69 markerID.forceUpdateOfCachedValue();
72 else if (i == IDs::sync)
74 SelectionManager::refreshAllPropertyPanels();
79 Clip::valueTreePropertyChanged (v, i);
84 if (Clip::getColour() == getDefaultColour())
86 if (isSyncAbsolute())
return juce::Colours::red.
withHue (0.0f);
87 if (isSyncBarsBeats())
return juce::Colours::red.
withHue (1.0f / 9.0f);
90 return Clip::getColour();
Colour withHue(float newHue) const noexcept
Base class for items that can contain clips.
#define TRANS(stringLiteral)
juce::String getName(LaunchQType t)
Retuns the name of a LaunchQType for display purposes.
bool isMarkerTrack(const Track &t)
Returns true if this is a MarkerTrack.