diff options
author | David Robillard <d@drobilla.net> | 2014-12-16 00:05:45 -0500 |
---|---|---|
committer | David Robillard <d@drobilla.net> | 2014-12-16 00:05:45 -0500 |
commit | e0cb9efb003500fea319552a772364f00753a26f (patch) | |
tree | b49c48d16b2a0e5b9fb94cfa4c335671be3e7fd5 | |
parent | 211f8f61d7cc11dcf867010735e335201563b1d2 (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.cc | 1 | ||||
-rw-r--r-- | gtk2_ardour/automation_streamview.cc | 28 | ||||
-rw-r--r-- | gtk2_ardour/automation_time_axis.cc | 6 | ||||
-rw-r--r-- | gtk2_ardour/dark.colors | 74 | ||||
-rw-r--r-- | gtk2_ardour/ghostregion.cc | 6 | ||||
-rw-r--r-- | gtk2_ardour/midi_region_view.cc | 5 | ||||
-rw-r--r-- | gtk2_ardour/note_base.cc | 10 | ||||
-rw-r--r-- | gtk2_ardour/note_base.h | 44 | ||||
-rw-r--r-- | gtk2_ardour/time_axis_view_item.cc | 13 | ||||
-rw-r--r-- | gtk2_ardour/time_axis_view_item.h | 3 | ||||
-rw-r--r-- | gtk2_ardour/ui_config.cc | 6 | ||||
-rw-r--r-- | gtk2_ardour/ui_config.h | 1 |
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; |