Various color tweaks.
authorDavid Robillard <d@drobilla.net>
Tue, 16 Dec 2014 05:05:45 +0000 (00:05 -0500)
committerDavid Robillard <d@drobilla.net>
Tue, 16 Dec 2014 05:05:45 +0000 (00:05 -0500)
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.

12 files changed:
gtk2_ardour/automation_region_view.cc
gtk2_ardour/automation_streamview.cc
gtk2_ardour/automation_time_axis.cc
gtk2_ardour/dark.colors
gtk2_ardour/ghostregion.cc
gtk2_ardour/midi_region_view.cc
gtk2_ardour/note_base.cc
gtk2_ardour/note_base.h
gtk2_ardour/time_axis_view_item.cc
gtk2_ardour/time_axis_view_item.h
gtk2_ardour/ui_config.cc
gtk2_ardour/ui_config.h

index 61b0f1f39cbf0e78a8c95049c70c49a4a6e7e4e3..ac9083e6eda92a0f5d3e9ba64a8a5faff1443fc2 100644 (file)
@@ -75,6 +75,7 @@ AutomationRegionView::init (bool /*wfd*/)
 
        set_height (trackview.current_height());
 
+       _fill_color_name = "midi frame base";
        set_colors ();
 
        _enable_display = true;
index c4787f14ea6fabbc9a2dc3a2fa79bdaf8a424748..89ae7fa07980336203681efb56aaf1ed104599b1 100644 (file)
 #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
index d4c62a2739662d13e71410b46403cd808f0aae40..3452da3847be950ad9f9f4aaf81e706f05733587 100644 (file)
@@ -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) {
index 5724b09fcdee7afb3c49c7f2ffe0fc80dbc1faa2..507f8420adb66b549ca47a8ef3edf2dcdc4bdc93 100644 (file)
     <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"/>
     <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"/>
     <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"/>
     <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"/>
     <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"/>
     <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"/>
     <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"/>
     <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"/>
     <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"/>
     <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>
index aff64e9845dc2ddfaab05beeef7a1f3015fd285a..0813a229bb6f4cb082523926f29ebd433e40c38f 100644 (file)
@@ -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();
index 2e1da30c3710ed998dd09320b6dd722f2808f21e..96dd9b27a713b6a15f2f5a65612f4fdeb2daa5bf 100644 (file)
@@ -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;
        }
index 158161d62d4382d9231b184634ec4cadbffcacc4..71d8dd98fcfe964a3cc2da3dad2f87c31268c773 100644 (file)
@@ -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)
index 22dd9d462e1e0db09f3c57498e47b0f39a5411fb..d426a7b59d3d278ef41175316a1c4323bf058c91 100644 (file)
@@ -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
index 60b39e1c717a0af3aa0ccbe9b2d5de46687a06a4..78c5b3299a09661fe87682071fbab0c05dd98821 100644 (file)
@@ -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;
                        }
index 2488355eefc03f7b7ba4e539afa6d00210db2b96..74a655a6c0e14e33c1dab7d165123998b316625f 100644 (file)
@@ -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;
index e1aba7d524259cb285982ed0ae25a0a9df6a79f7..8021d3dc9e743c7d44ff582d9d7acdbbeae5ed9c 100644 (file)
@@ -557,6 +557,12 @@ UIConfiguration::color_mod (std::string const & colorname, std::string const & m
        return HSV (color (colorname)).mod (modifier (modifiername)).color ();
 }
 
+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
 {
index c8dcbacf126af35a4d25d758f2f55a165e779544..244c1a0a82b1a52006951e71ecfa5f38901739e9 100644 (file)
@@ -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;