Skip to content

Commit a7de37c

Browse files
committed
Tidied up the way clips handle storing their colour when defaults are involved
1 parent e0e88cc commit a7de37c

File tree

4 files changed

+16
-17
lines changed

4 files changed

+16
-17
lines changed

modules/tracktion_engine/model/clips/tracktion_Clip.cpp

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -118,9 +118,6 @@ void Clip::initialise()
118118

119119
const juce::ScopedValueSetter<bool> initialiser (isInitialised, false, true);
120120

121-
if (colour.isUsingDefault())
122-
colour = getDefaultColour();
123-
124121
if (sourceFileReference.isUsingProjectReference())
125122
sourceMediaChanged();
126123

@@ -760,9 +757,20 @@ void Clip::setGroup (EditItemID newGroupID)
760757

761758
juce::Colour Clip::getColour() const
762759
{
760+
if (colour.isUsingDefault())
761+
return getDefaultColour();
762+
763763
return colour.get();
764764
}
765765

766+
void Clip::setColour (juce::Colour c)
767+
{
768+
if (c.isTransparent())
769+
colour.resetToDefault();
770+
else
771+
colour = c;
772+
}
773+
766774
//==============================================================================
767775
AutomationCurveList* Clip::getAutomationCurveList (bool createIfNoItems)
768776
{

modules/tracktion_engine/model/clips/tracktion_Clip.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -341,7 +341,7 @@ class Clip : public TrackItem,
341341
/** Returns the colour property of this clip. */
342342
virtual juce::Colour getColour() const;
343343
/** Sets the colour property of this clip. */
344-
void setColour (juce::Colour col) { colour = col; }
344+
void setColour (juce::Colour);
345345

346346
//==============================================================================
347347
/** Removes the given plugin from the clip if the clip supports plugins. */

modules/tracktion_engine/model/clips/tracktion_MarkerClip.cpp

Lines changed: 4 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,10 @@ juce::String MarkerClip::getSelectableDescription()
4343

4444
juce::Colour MarkerClip::getDefaultColour() const
4545
{
46-
return juce::Colours::red.withHue (1.0f / 9.0f);
46+
if (isSyncAbsolute()) return juce::Colours::red.withHue (0.0f);
47+
if (isSyncBarsBeats()) return juce::Colours::red.withHue (1.0f / 9.0f);
48+
49+
return MarkerClip::getDefaultColour();
4750
}
4851

4952
void MarkerClip::setMarkerID (int newID)
@@ -79,15 +82,4 @@ void MarkerClip::valueTreePropertyChanged (juce::ValueTree& v, const juce::Ident
7982
Clip::valueTreePropertyChanged (v, i);
8083
}
8184

82-
juce::Colour MarkerClip::getColour() const
83-
{
84-
if (Clip::getColour() == getDefaultColour())
85-
{
86-
if (isSyncAbsolute()) return juce::Colours::red.withHue (0.0f);
87-
if (isSyncBarsBeats()) return juce::Colours::red.withHue (1.0f / 9.0f);
88-
}
89-
90-
return Clip::getColour();
91-
}
92-
9385
}} // namespace tracktion { inline namespace engine

modules/tracktion_engine/model/clips/tracktion_MarkerClip.h

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,6 @@ class MarkerClip : public Clip
2828

2929
juce::String getSelectableDescription() override;
3030
bool canBeAddedTo (ClipOwner&) override;
31-
juce::Colour getColour() const override;
3231
juce::Colour getDefaultColour() const override;
3332
void initialise() override;
3433

0 commit comments

Comments
 (0)