summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2014-12-16 00:05:45 -0500
committerDavid Robillard <d@drobilla.net>2014-12-16 00:05:45 -0500
commite0cb9efb003500fea319552a772364f00753a26f (patch)
treeb49c48d16b2a0e5b9fb94cfa4c335671be3e7fd5
parent211f8f61d7cc11dcf867010735e335201563b1d2 (diff)
Various color tweaks.
This commit changes some color names, nuke your theme. This isn't quite ideal yet, but takes some steps towards where I think things should go aesthetically: Make automation tracks/regions colors correspond to their parent's type. Make selected MIDI notes outlined in red like most everything else, and scrap separate min/mid/max fill colors for selected MIDI notes. Color automation ghost MIDI notes based on original note color. Try to kill 90's looking brightish gray gradients in general.
-rw-r--r--gtk2_ardour/automation_region_view.cc1
-rw-r--r--gtk2_ardour/automation_streamview.cc28
-rw-r--r--gtk2_ardour/automation_time_axis.cc6
-rw-r--r--gtk2_ardour/dark.colors74
-rw-r--r--gtk2_ardour/ghostregion.cc6
-rw-r--r--gtk2_ardour/midi_region_view.cc5
-rw-r--r--gtk2_ardour/note_base.cc10
-rw-r--r--gtk2_ardour/note_base.h44
-rw-r--r--gtk2_ardour/time_axis_view_item.cc13
-rw-r--r--gtk2_ardour/time_axis_view_item.h3
-rw-r--r--gtk2_ardour/ui_config.cc6
-rw-r--r--gtk2_ardour/ui_config.h1
12 files changed, 97 insertions, 100 deletions
diff --git a/gtk2_ardour/automation_region_view.cc b/gtk2_ardour/automation_region_view.cc
index 61b0f1f39c..ac9083e6ed 100644
--- a/gtk2_ardour/automation_region_view.cc
+++ b/gtk2_ardour/automation_region_view.cc
@@ -75,6 +75,7 @@ AutomationRegionView::init (bool /*wfd*/)
set_height (trackview.current_height());
+ _fill_color_name = "midi frame base";
set_colors ();
_enable_display = true;
diff --git a/gtk2_ardour/automation_streamview.cc b/gtk2_ardour/automation_streamview.cc
index c4787f14ea..89ae7fa079 100644
--- a/gtk2_ardour/automation_streamview.cc
+++ b/gtk2_ardour/automation_streamview.cc
@@ -31,19 +31,21 @@
#include "ardour/midi_region.h"
#include "ardour/midi_source.h"
-#include "automation_streamview.h"
-#include "region_view.h"
+#include "ardour_ui.h"
#include "automation_region_view.h"
+#include "automation_streamview.h"
#include "automation_time_axis.h"
-#include "region_selection.h"
-#include "selection.h"
+#include "global_signals.h"
+#include "gui_thread.h"
#include "public_editor.h"
-#include "ardour_ui.h"
+#include "region_selection.h"
+#include "region_view.h"
#include "rgb_macros.h"
-#include "gui_thread.h"
+#include "selection.h"
using namespace std;
using namespace ARDOUR;
+using namespace ARDOUR_UI_UTILS;
using namespace PBD;
using namespace Editing;
@@ -56,7 +58,9 @@ AutomationStreamView::AutomationStreamView (AutomationTimeAxisView& tv)
CANVAS_DEBUG_NAME (_canvas_group, string_compose ("SV canvas group auto %1", tv.name()));
CANVAS_DEBUG_NAME (canvas_rect, string_compose ("SV canvas rectangle auto %1", tv.name()));
- canvas_rect->set_fill (false);
+ color_handler ();
+
+ ColorsChanged.connect(sigc::mem_fun(*this, &AutomationStreamView::color_handler));
}
AutomationStreamView::~AutomationStreamView ()
@@ -191,13 +195,11 @@ AutomationStreamView::setup_rec_box ()
void
AutomationStreamView::color_handler ()
{
- /*if (_trackview.is_midi_track()) {
- canvas_rect->property_fill_color_rgba() = ARDOUR_UI::config()->get_MidiTrackBase();
+ if (_trackview.is_midi_track()) {
+ canvas_rect->set_fill_color (ARDOUR_UI::config()->color_mod ("midi track base", "midi track base"));
+ } else {
+ canvas_rect->set_fill_color (ARDOUR_UI::config()->color ("midi bus base"));
}
-
- if (!_trackview.is_midi_track()) {
- canvas_rect->property_fill_color_rgba() = ARDOUR_UI::config()->get_MidiBusBase();;
- }*/
}
AutoState
diff --git a/gtk2_ardour/automation_time_axis.cc b/gtk2_ardour/automation_time_axis.cc
index d4c62a2739..3452da3847 100644
--- a/gtk2_ardour/automation_time_axis.cc
+++ b/gtk2_ardour/automation_time_axis.cc
@@ -110,6 +110,10 @@ AutomationTimeAxisView::AutomationTimeAxisView (
_controller = AutomationController::create (_automatable, _control->parameter(), _control->desc(), _control);
}
+ const std::string fill_color_name = (dynamic_cast<MidiTimeAxisView*>(&parent)
+ ? "midi automation track fill"
+ : "audio automation track fill");
+
automation_menu = 0;
auto_off_item = 0;
auto_touch_item = 0;
@@ -124,7 +128,7 @@ AutomationTimeAxisView::AutomationTimeAxisView (
CANVAS_DEBUG_NAME (_base_rect, string_compose ("base rect for %1", _name));
_base_rect->set_x1 (ArdourCanvas::COORD_MAX);
_base_rect->set_outline (false);
- _base_rect->set_fill_color (ARDOUR_UI::config()->color_mod ("automation track fill", "automation track fill"));
+ _base_rect->set_fill_color (ARDOUR_UI::config()->color_mod (fill_color_name, "automation track fill"));
_base_rect->set_data ("trackview", this);
_base_rect->Event.connect (sigc::bind (sigc::mem_fun (_editor, &PublicEditor::canvas_automation_track_event), _base_rect, this));
if (!a) {
diff --git a/gtk2_ardour/dark.colors b/gtk2_ardour/dark.colors
index 5724b09fcd..507f8420ad 100644
--- a/gtk2_ardour/dark.colors
+++ b/gtk2_ardour/dark.colors
@@ -117,14 +117,14 @@
<Color name="color 98" value="0x9effffff"/>
<Color name="color 99" value="0x5da3c1ff"/>
</Colors>
- <ColorAliases>
+ <ColorAliases>
<ColorAlias name="active crossfade" alias="color 1"/>
<ColorAlias name="arrange base" alias="color 2"/>
+ <ColorAlias name="audio automation track fill" alias="color 70"/>
<ColorAlias name="audio bus base" alias="color 3"/>
<ColorAlias name="audio master bus base" alias="color 4"/>
- <ColorAlias name="audio track base" alias="color 5"/>
+ <ColorAlias name="audio track base" alias="color 70"/>
<ColorAlias name="automation line" alias="color 6"/>
- <ColorAlias name="automation track fill" alias="color 5"/>
<ColorAlias name="automation track outline" alias="color 7"/>
<ColorAlias name="big clock active: background" alias="color 4"/>
<ColorAlias name="big clock active: cursor" alias="color 8"/>
@@ -141,13 +141,11 @@
<ColorAlias name="clock: cursor" alias="color 8"/>
<ColorAlias name="clock: edited text" alias="color 8"/>
<ColorAlias name="clock: text" alias="color 12"/>
- <ColorAlias name="control point fill" alias="color 13"/>
- <ColorAlias name="control point outline" alias="color 9"/>
- <ColorAlias name="control point selected" alias="color 14"/>
<ColorAlias name="control point fill" alias="color 17"/>
<ColorAlias name="control point outline" alias="meter color3"/>
<ColorAlias name="control point selected fill" alias="color 72"/>
<ColorAlias name="control point selected outline" alias="color 9"/>
+ <ColorAlias name="covered region" alias="color 87"/>
<ColorAlias name="crossfade editor base" alias="color 15"/>
<ColorAlias name="crossfade editor line" alias="color 4"/>
<ColorAlias name="crossfade editor line shading" alias="color 16"/>
@@ -168,7 +166,7 @@
<ColorAlias name="generic button: fill" alias="color 25"/>
<ColorAlias name="generic button: fill active" alias="color 9"/>
<ColorAlias name="generic button: led active" alias="color 18"/>
- <ColorAlias name="ghost track base" alias="color 28"/>
+ <ColorAlias name="ghost track base" alias="color 46"/>
<ColorAlias name="ghost track midi outline" alias="color 4"/>
<ColorAlias name="ghost track wave" alias="color 29"/>
<ColorAlias name="ghost track wave clip" alias="color 29"/>
@@ -248,17 +246,18 @@
<ColorAlias name="meterbridge peakindicator: led" alias="color 9"/>
<ColorAlias name="meterbridge peakindicator: led active" alias="color 9"/>
<ColorAlias name="meterbridge peaklabel" alias="color 9"/>
- <ColorAlias name="meterstrip dpm fg" alias="color 31"/>
- <ColorAlias name="meterstrip ppm fg" alias="color 31"/>
- <ColorAlias name="meterstrip vu fg" alias="color 4"/>
<ColorAlias name="meterstrip dpm bg" alias="color 27"/>
+ <ColorAlias name="meterstrip dpm fg" alias="color 31"/>
<ColorAlias name="meterstrip ppm bg" alias="color 27"/>
+ <ColorAlias name="meterstrip ppm fg" alias="color 31"/>
<ColorAlias name="meterstrip vu bg" alias="color 32"/>
+ <ColorAlias name="meterstrip vu fg" alias="color 4"/>
+ <ColorAlias name="midi automation track fill" alias="color 94"/>
<ColorAlias name="midi bus base" alias="color 4"/>
<ColorAlias name="midi device: fill" alias="color 25"/>
<ColorAlias name="midi device: fill active" alias="color 42"/>
<ColorAlias name="midi device: led active" alias="color 17"/>
- <ColorAlias name="midi frame base" alias="color 51"/>
+ <ColorAlias name="midi frame base" alias="color 87"/>
<ColorAlias name="midi input button: fill active" alias="color 48"/>
<ColorAlias name="midi input button: led active" alias="color 4"/>
<ColorAlias name="midi meter color0" alias="color 52"/>
@@ -271,18 +270,19 @@
<ColorAlias name="midi meter color7" alias="color 56"/>
<ColorAlias name="midi meter color8" alias="color 56"/>
<ColorAlias name="midi meter color9" alias="color 17"/>
+ <ColorAlias name="midi note inactive channel" alias="color 4"/>
<ColorAlias name="midi note max" alias="color 52"/>
<ColorAlias name="midi note mid" alias="color 57"/>
<ColorAlias name="midi note min" alias="color 58"/>
- <ColorAlias name="midi note inactive channel" alias="color 4"/>
<ColorAlias name="midi note selected" alias="color 59"/>
+ <ColorAlias name="midi note selected outline" alias="color 9"/>
<ColorAlias name="midi note velocity text" alias="color 32"/>
<ColorAlias name="midi patch change fill" alias="color 60"/>
<ColorAlias name="midi patch change outline" alias="color 26"/>
<ColorAlias name="midi select rect outline" alias="color 63"/>
<ColorAlias name="midi sysex fill" alias="color 32"/>
<ColorAlias name="midi sysex outline" alias="color 64"/>
- <ColorAlias name="midi track base" alias="color 65"/>
+ <ColorAlias name="midi track base" alias="color 41"/>
<ColorAlias name="mixer strip button: fill active" alias="color 8"/>
<ColorAlias name="mixer strip button: led active" alias="color 8"/>
<ColorAlias name="mixer strip name button: fill active" alias="color 67"/>
@@ -336,7 +336,7 @@
<ColorAlias name="nudge clock: edited text" alias="color 8"/>
<ColorAlias name="nudge clock: text" alias="color 12"/>
<ColorAlias name="piano roll black" alias="color 76"/>
- <ColorAlias name="piano roll black outline" alias="color 10"/>
+ <ColorAlias name="piano roll black outline" alias="color 33"/>
<ColorAlias name="piano roll white" alias="color 45"/>
<ColorAlias name="play head" alias="color 9"/>
<ColorAlias name="plugin bypass button: fill" alias="color 71"/>
@@ -368,14 +368,13 @@
<ColorAlias name="range marker bar" alias="color 34"/>
<ColorAlias name="record enable button: fill active" alias="color 83"/>
<ColorAlias name="record enable button: led active" alias="color 85"/>
+ <ColorAlias name="recording rect" alias="color 86"/>
<ColorAlias name="recording waveform fill" alias="color 13"/>
<ColorAlias name="recording waveform outline" alias="color 43"/>
- <ColorAlias name="recording rect" alias="color 86"/>
+ <ColorAlias name="region base" alias="color 94"/>
<ColorAlias name="region list automatic" alias="color 53"/>
<ColorAlias name="region list missing source" alias="color 9"/>
<ColorAlias name="region list whole file" alias="color 1"/>
- <ColorAlias name="covered region" alias="color 87"/>
- <ColorAlias name="region base" alias="color 11"/>
<ColorAlias name="route button: fill active" alias="color 67"/>
<ColorAlias name="route button: led active" alias="color 8"/>
<ColorAlias name="rubber band rect" alias="color 88"/>
@@ -398,9 +397,7 @@
<ColorAlias name="secondary delta clock: cursor" alias="color 9"/>
<ColorAlias name="secondary delta clock: edited text" alias="color 9"/>
<ColorAlias name="secondary delta clock: text" alias="color 92"/>
- <ColorAlias name="selected midi note max" alias="color 62"/>
- <ColorAlias name="selected midi note mid" alias="color 93"/>
- <ColorAlias name="selected midi note min" alias="color 61"/>
+ <ColorAlias name="selected midi note frame" alias="color 86"/>
<ColorAlias name="selected region base" alias="color 25"/>
<ColorAlias name="selected time axis frame" alias="color 86"/>
<ColorAlias name="selected waveform fill" alias="color 8"/>
@@ -411,10 +408,10 @@
<ColorAlias name="selection clock: edited text" alias="color 9"/>
<ColorAlias name="selection clock: text" alias="color 12"/>
<ColorAlias name="selection rect" alias="color 95"/>
- <ColorAlias name="send bg" alias="color 38"/>
<ColorAlias name="send alert button: fill" alias="color 71"/>
<ColorAlias name="send alert button: fill active" alias="color 38"/>
<ColorAlias name="send alert button: led active" alias="color 4"/>
+ <ColorAlias name="send bg" alias="color 38"/>
<ColorAlias name="shuttle" alias="color 12"/>
<ColorAlias name="silence" alias="color 98"/>
<ColorAlias name="silence text" alias="color 99"/>
@@ -478,33 +475,34 @@
<ColorAlias name="zero line" alias="color 104"/>
<ColorAlias name="zoom button: fill active" alias="color 48"/>
<ColorAlias name="zoom button: led active" alias="color 8"/>
- </ColorAliases>
+ </ColorAliases>
<Modifiers>
+ <Modifier name="audio bus base" modifier="= alpha:0.4078"/>
+ <Modifier name="audio track base" modifier="= alpha:0.4078"/>
+ <Modifier name="automation track fill" modifier="= alpha:0.326156"/>
<Modifier name="crossfade alpha" modifier="= alpha:0.1803"/>
- <Modifier name="stereo panner inverted" modifier="= alpha:0.7882"/>
- <Modifier name="loop rectangle" modifier="= alpha:0.9764"/>
- <Modifier name="mono panner position fill" modifier="= alpha:0.8"/>
- <Modifier name="region base" modifier="= alpha:0.8"/>
<Modifier name="gain line inactive" modifier="= alpha:0.7725"/>
- <Modifier name="ghost track base" modifier="= alpha:0.7764"/>
- <Modifier name="audio bus base" modifier="= alpha:0.4078"/>
+ <Modifier name="ghost track base" modifier="= alpha:0.640782"/>
+ <Modifier name="ghost track midi fill" modifier="= alpha:0.228968"/>
<Modifier name="inactive crossfade" modifier="= alpha:0.4666"/>
- <Modifier name="midi note velocity text" modifier="= alpha:0.4666"/>
- <Modifier name="midi sysex fill" modifier="= alpha:0.4666"/>
- <Modifier name="verbose canvas cursor" modifier="= alpha:0.4666"/>
+ <Modifier name="loop rectangle" modifier="= alpha:0.9764"/>
<Modifier name="measure line beat" modifier="= alpha:0.4627"/>
- <Modifier name="piano roll white" modifier="= alpha:0.4627"/>
- <Modifier name="audio track base" modifier="= alpha:0.4078"/>
- <Modifier name="automation track fill" modifier="= alpha:0.4078"/>
<Modifier name="midi frame base" modifier="= alpha:0.4"/>
+ <Modifier name="midi note" modifier="= alpha:0.686905"/>
+ <Modifier name="midi note velocity text" modifier="= alpha:0.4666"/>
<Modifier name="midi patch change fill" modifier="= alpha:0.6274"/>
- <Modifier name="stereo panner inverted bg" modifier="= alpha:0.7529"/>
+ <Modifier name="midi sysex fill" modifier="= alpha:0.4666"/>
<Modifier name="midi track base" modifier="= alpha:0.3725"/>
+ <Modifier name="mono panner position fill" modifier="= alpha:0.8"/>
<Modifier name="panner fill" modifier="= alpha:0.7882"/>
- <Modifier name="piano roll black" modifier="= alpha:0.4196"/>
+ <Modifier name="piano roll black" modifier="= alpha:0.331098"/>
+ <Modifier name="piano roll white" modifier="= alpha:0.4627"/>
+ <Modifier name="region base" modifier="= alpha:0.99"/>
+ <Modifier name="selected midi note" modifier="= alpha:0.7529"/>
<Modifier name="selection rect" modifier="= alpha:0.4666"/>
<Modifier name="silence" modifier="= alpha:0.4784"/>
- <Modifier name="midi note" modifier="= alpha:0.5333"/>
- <Modifier name="selected midi note" modifier="= alpha:0.7529"/>
+ <Modifier name="stereo panner inverted" modifier="= alpha:0.7882"/>
+ <Modifier name="stereo panner inverted bg" modifier="= alpha:0.7529"/>
+ <Modifier name="verbose canvas cursor" modifier="= alpha:0.4666"/>
</Modifiers>
</Ardour>
diff --git a/gtk2_ardour/ghostregion.cc b/gtk2_ardour/ghostregion.cc
index aff64e9845..0813a229bb 100644
--- a/gtk2_ardour/ghostregion.cc
+++ b/gtk2_ardour/ghostregion.cc
@@ -230,12 +230,10 @@ MidiGhostRegion::set_height ()
void
MidiGhostRegion::set_colors()
{
- guint fill = source_track_color(200);
-
GhostRegion::set_colors();
for (EventList::iterator it = events.begin(); it != events.end(); ++it) {
- (*it)->rect->set_fill_color (fill);
+ (*it)->rect->set_fill_color (ARDOUR_UI::config()->color_mod((*it)->event->base_color(), "ghost track midi fill"));
(*it)->rect->set_outline_color (ARDOUR_UI::config()->color ("ghost track midi outline"));
}
}
@@ -272,7 +270,7 @@ MidiGhostRegion::add_note (NoteBase* n)
GhostEvent* event = new GhostEvent (n, group);
events.push_back (event);
- event->rect->set_fill_color (source_track_color(200));
+ event->rect->set_fill_color (ARDOUR_UI::config()->color_mod(n->base_color(), "ghost track midi fill"));
event->rect->set_outline_color (ARDOUR_UI::config()->color ("ghost track midi outline"));
MidiStreamView* mv = midi_view();
diff --git a/gtk2_ardour/midi_region_view.cc b/gtk2_ardour/midi_region_view.cc
index 2e1da30c37..96dd9b27a7 100644
--- a/gtk2_ardour/midi_region_view.cc
+++ b/gtk2_ardour/midi_region_view.cc
@@ -274,6 +274,7 @@ MidiRegionView::init (bool wfd)
_model = midi_region()->midi_source(0)->model();
_enable_display = false;
+ _fill_color_name = "midi frame base";
RegionView::init (false);
@@ -3282,8 +3283,8 @@ MidiRegionView::set_frame_color()
if (_selected) {
f = ARDOUR_UI::config()->color ("selected region base");
- } else if (high_enough_for_name) {
- f= ARDOUR_UI::config()->color_mod ("midi frame base", "midi frame base");
+ } else if (high_enough_for_name || !ARDOUR_UI::config()->get_color_regions_using_track_color()) {
+ f = ARDOUR_UI::config()->color_mod ("midi frame base", "midi frame base");
} else {
f = fill_color;
}
diff --git a/gtk2_ardour/note_base.cc b/gtk2_ardour/note_base.cc
index 158161d62d..71d8dd98fc 100644
--- a/gtk2_ardour/note_base.cc
+++ b/gtk2_ardour/note_base.cc
@@ -122,7 +122,8 @@ NoteBase::on_channel_selection_change(uint16_t selection)
// make note change its color if its channel is not marked active
if ( (selection & (1 << _note->channel())) == 0 ) {
set_fill_color(ARDOUR_UI::config()->color ("midi note inactive channel"));
- set_outline_color(calculate_outline(ARDOUR_UI::config()->color ("midi note inactive channel")));
+ set_outline_color(calculate_outline(ARDOUR_UI::config()->color ("midi note inactive channel"),
+ _selected));
} else {
// set the color according to the notes selection state
set_selected(_selected);
@@ -149,12 +150,7 @@ NoteBase::set_selected(bool selected)
_selected = selected;
set_fill_color (base_color());
- if (_selected) {
- set_outline_color(calculate_outline(ARDOUR_UI::config()->color ("midi note selected")));
- } else {
- set_outline_color(calculate_outline(base_color()));
- }
-
+ set_outline_color(calculate_outline(base_color(), _selected));
}
#define SCALE_USHORT_TO_UINT8_T(x) ((x) / 257)
diff --git a/gtk2_ardour/note_base.h b/gtk2_ardour/note_base.h
index 22dd9d462e..d426a7b59d 100644
--- a/gtk2_ardour/note_base.h
+++ b/gtk2_ardour/note_base.h
@@ -103,36 +103,26 @@ class NoteBase : public sigc::trackable
MidiRegionView& region_view() const { return _region; }
inline static uint32_t meter_style_fill_color(uint8_t vel, bool selected) {
- if (selected) {
- if (vel < 64) {
- return UINT_INTERPOLATE(
- ARDOUR_UI::config()->color_mod ("selected midi note min", "selected midi note"),
- ARDOUR_UI::config()->color_mod ("selected midi note mid", "selected midi note"),
- (vel / (double)63.0));
- } else {
- return UINT_INTERPOLATE(
- ARDOUR_UI::config()->color_mod ("selected midi note mid", "selected midi note"),
- ARDOUR_UI::config()->color_mod ("selected midi note max", "selected midi note"),
- ((vel-64) / (double)63.0));
- }
- } else {
- if (vel < 64) {
- return UINT_INTERPOLATE(
- ARDOUR_UI::config()->color_mod ("midi note min", "midi note"),
- ARDOUR_UI::config()->color_mod ("midi note mid", "midi note"),
- (vel / (double)63.0));
- } else {
- return UINT_INTERPOLATE(
- ARDOUR_UI::config()->color_mod ("midi note mid", "midi note"),
- ARDOUR_UI::config()->color_mod ("midi note max", " midi note"),
- ((vel-64) / (double)63.0));
- }
- }
+ if (vel < 64) {
+ return UINT_INTERPOLATE(
+ ARDOUR_UI::config()->color_mod ("midi note min", "midi note"),
+ ARDOUR_UI::config()->color_mod ("midi note mid", "midi note"),
+ (vel / (double)63.0));
+ } else {
+ return UINT_INTERPOLATE(
+ ARDOUR_UI::config()->color_mod ("midi note mid", "midi note"),
+ ARDOUR_UI::config()->color_mod ("midi note max", " midi note"),
+ ((vel-64) / (double)63.0));
+ }
}
/// calculate outline colors from fill colors of notes
- inline static uint32_t calculate_outline(uint32_t color) {
- return UINT_INTERPOLATE(color, 0x000000ff, 0.5);
+ inline static uint32_t calculate_outline(uint32_t color, bool selected=false) {
+ if (selected) {
+ return ARDOUR_UI::config()->color ("midi note selected outline");
+ } else {
+ return UINT_INTERPOLATE(color, 0x000000ff, 0.5);
+ }
}
/// hue circle divided into 16 equal-looking parts, courtesy Thorsten Wilms
diff --git a/gtk2_ardour/time_axis_view_item.cc b/gtk2_ardour/time_axis_view_item.cc
index 60b39e1c71..78c5b3299a 100644
--- a/gtk2_ardour/time_axis_view_item.cc
+++ b/gtk2_ardour/time_axis_view_item.cc
@@ -169,6 +169,7 @@ TimeAxisViewItem::init (ArdourCanvas::Item* parent, double fpp, uint32_t base_co
group->Event.connect (sigc::mem_fun (*this, &TimeAxisViewItem::canvas_group_event));
fill_color = base_color;
+ _fill_color_name = "region base";
samples_per_pixel = fpp;
frame_position = start;
item_duration = duration;
@@ -729,21 +730,19 @@ TimeAxisViewItem::fill_opacity () const
return 130;
}
- uint32_t col = ARDOUR_UI::config()->color_mod ("region base", "region base");
+ uint32_t col = ARDOUR_UI::config()->color_mod (_fill_color_name, _fill_color_name);
return UINT_RGBA_A (col);
}
uint32_t
TimeAxisViewItem::get_fill_color () const
{
- uint32_t f;
- uint32_t o;
-
- o = fill_opacity ();
+ uint32_t f;
+ uint32_t o = fill_opacity ();
if (_selected) {
- f = ARDOUR_UI::config()->color ("selected region base");
+ f = ARDOUR_UI::config()->color ("selected region base");
if (o == 0) {
/* some condition of this item has set fill opacity to
@@ -759,7 +758,7 @@ TimeAxisViewItem::get_fill_color () const
f = ARDOUR_UI::config()->color ("recording rect");
} else {
if ((!Config->get_show_name_highlight() || high_enough_for_name) && !ARDOUR_UI::config()->get_color_regions_using_track_color()) {
- f = ARDOUR_UI::config()->color_mod ("region base", "region base");
+ f = ARDOUR_UI::config()->color_mod (_fill_color_name, _fill_color_name);
} else {
f = fill_color;
}
diff --git a/gtk2_ardour/time_axis_view_item.h b/gtk2_ardour/time_axis_view_item.h
index 2488355eef..74a655a6c0 100644
--- a/gtk2_ardour/time_axis_view_item.h
+++ b/gtk2_ardour/time_axis_view_item.h
@@ -76,7 +76,7 @@ class TimeAxisViewItem : public Selectable, public PBD::ScopedConnectionList
void set_color (uint32_t);
void set_name_text_color ();
- uint32_t get_fill_color () const;
+ uint32_t get_fill_color () const;
ArdourCanvas::Item* get_canvas_frame();
ArdourCanvas::Item* get_canvas_group();
@@ -241,6 +241,7 @@ class TimeAxisViewItem : public Selectable, public PBD::ScopedConnectionList
double _height;
Visibility visibility;
+ std::string _fill_color_name;
bool _recregion;
bool _automation; ///< true if this is an automation region view
bool _dragging;
diff --git a/gtk2_ardour/ui_config.cc b/gtk2_ardour/ui_config.cc
index e1aba7d524..8021d3dc9e 100644
--- a/gtk2_ardour/ui_config.cc
+++ b/gtk2_ardour/ui_config.cc
@@ -558,6 +558,12 @@ UIConfiguration::color_mod (std::string const & colorname, std::string const & m
}
ArdourCanvas::Color
+UIConfiguration::color_mod (const ArdourCanvas::Color& color, std::string const & modifiername) const
+{
+ return HSV (color).mod (modifier (modifiername)).color ();
+}
+
+ArdourCanvas::Color
UIConfiguration::color (const std::string& name, bool* failed) const
{
ColorAliases::const_iterator e = color_aliases.find (name);
diff --git a/gtk2_ardour/ui_config.h b/gtk2_ardour/ui_config.h
index c8dcbacf12..244c1a0a82 100644
--- a/gtk2_ardour/ui_config.h
+++ b/gtk2_ardour/ui_config.h
@@ -71,6 +71,7 @@ class UIConfiguration : public PBD::Stateful
ArdourCanvas::Color color (const std::string&, bool* failed = 0) const;
ArdourCanvas::Color color_mod (std::string const & color, std::string const & modifier) const;
+ ArdourCanvas::Color color_mod (const ArdourCanvas::Color& color, std::string const & modifier) const;
ArdourCanvas::HSV color_hsv (const std::string&) const;
ArdourCanvas::SVAModifier modifier (const std::string&) const;