summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobin Gareus <robin@gareus.org>2013-07-02 02:15:04 +0200
committerRobin Gareus <robin@gareus.org>2013-07-10 15:27:04 +0200
commit3823ffc942e426590b43f72e86ca875a8306b2c7 (patch)
tree94848323dd4366be800560fe7d01e844dcbe49d5
parente4d754390e8df60a169b5a51695fd0b045da9fcc (diff)
configurable meter background color
-rw-r--r--gtk2_ardour/ardour3_ui_default.conf3
-rw-r--r--gtk2_ardour/canvas_vars.h3
-rw-r--r--gtk2_ardour/level_meter.cc8
-rw-r--r--libs/gtkmm2ext/fastmeter.cc12
-rw-r--r--libs/gtkmm2ext/gtkmm2ext/fastmeter.h5
5 files changed, 24 insertions, 7 deletions
diff --git a/gtk2_ardour/ardour3_ui_default.conf b/gtk2_ardour/ardour3_ui_default.conf
index 7a663cef57..5eda8318ba 100644
--- a/gtk2_ardour/ardour3_ui_default.conf
+++ b/gtk2_ardour/ardour3_ui_default.conf
@@ -55,6 +55,9 @@
<Option name="meter fill clip" value="ff0000ff"/>
<Option name="meter fill mid" value="73f9baff"/>
<Option name="meter fill max" value="00fd5dff"/>
+ <Option name="meter background bottom" value="111111ff"/>
+ <Option name="meter background mid" value="333333ff"/>
+ <Option name="meter background top" value="444444ff"/>
<Option name="midi meter fill min" value="effaa100"/>
<Option name="midi meter fill clip" value="f83913ff"/>
<Option name="midi meter fill mid" value="8fc78e00"/>
diff --git a/gtk2_ardour/canvas_vars.h b/gtk2_ardour/canvas_vars.h
index 97e58ddb62..6f9c081d87 100644
--- a/gtk2_ardour/canvas_vars.h
+++ b/gtk2_ardour/canvas_vars.h
@@ -72,6 +72,9 @@ CANVAS_VARIABLE(canvasvar_MidiMeterColorBase, "midi meter fill min")
CANVAS_VARIABLE(canvasvar_MidiMeterColorClip, "midi meter fill clip")
CANVAS_VARIABLE(canvasvar_MidiMeterColorMid, "midi meter fill mid")
CANVAS_VARIABLE(canvasvar_MidiMeterColorTop, "midi meter fill max")
+CANVAS_VARIABLE(canvasvar_MeterBackgroundBot, "meter background bottom")
+CANVAS_VARIABLE(canvasvar_MeterBackgroundMid, "meter background mid")
+CANVAS_VARIABLE(canvasvar_MeterBackgroundTop, "meter background top")
CANVAS_VARIABLE(canvasvar_MeterMarker, "meter marker")
CANVAS_VARIABLE(canvasvar_MidiBusBase, "midi bus base")
CANVAS_VARIABLE(canvasvar_MidiFrameBase, "midi frame base")
diff --git a/gtk2_ardour/level_meter.cc b/gtk2_ardour/level_meter.cc
index 9452ee65bc..b7739c9165 100644
--- a/gtk2_ardour/level_meter.cc
+++ b/gtk2_ardour/level_meter.cc
@@ -195,7 +195,13 @@ LevelMeter::setup_meters (int len, int initial_width, int thin_width)
}
if (meters[n].width != width || meters[n].length != len || color_changed) {
delete meters[n].meter;
- meters[n].meter = new FastMeter ((uint32_t) floor (Config->get_meter_hold()), width, FastMeter::Vertical, len, b, m, t, c);
+ meters[n].meter = new FastMeter ((uint32_t) floor (Config->get_meter_hold()), width, FastMeter::Vertical, len,
+ b, m, t, c,
+ ARDOUR_UI::config()->canvasvar_MeterBackgroundBot.get(),
+ ARDOUR_UI::config()->canvasvar_MeterBackgroundMid.get(),
+ ARDOUR_UI::config()->canvasvar_MeterBackgroundMid.get(),
+ ARDOUR_UI::config()->canvasvar_MeterBackgroundTop.get()
+ );
meters[n].width = width;
meters[n].length = len;
meters[n].meter->add_events (Gdk::BUTTON_PRESS_MASK | Gdk::BUTTON_RELEASE_MASK);
diff --git a/libs/gtkmm2ext/fastmeter.cc b/libs/gtkmm2ext/fastmeter.cc
index 2cc9fa105b..4a96353b1e 100644
--- a/libs/gtkmm2ext/fastmeter.cc
+++ b/libs/gtkmm2ext/fastmeter.cc
@@ -41,7 +41,9 @@ int FastMeter::max_pattern_metric_size = 1024;
FastMeter::PatternMap FastMeter::v_pattern_cache;
FastMeter::PatternMap FastMeter::h_pattern_cache;
-FastMeter::FastMeter (long hold, unsigned long dimen, Orientation o, int len, int clr0, int clr1, int clr2, int clr3)
+FastMeter::FastMeter (long hold, unsigned long dimen, Orientation o, int len,
+ int clr0, int clr1, int clr2, int clr3,
+ int bgc0, int bgc1, int bgc2, int bgc3)
{
orientation = o;
hold_cnt = hold;
@@ -56,10 +58,10 @@ FastMeter::FastMeter (long hold, unsigned long dimen, Orientation o, int len, in
_clr2 = clr2;
_clr3 = clr3;
- _bgc0 = 0x111111ff;
- _bgc1 = 0x333333ff;
- _bgc2 = 0x333333ff;
- _bgc3 = 0x444444ff;
+ _bgc0 = bgc0;
+ _bgc1 = bgc1;
+ _bgc2 = bgc2;
+ _bgc3 = bgc3;
set_events (BUTTON_PRESS_MASK|BUTTON_RELEASE_MASK);
diff --git a/libs/gtkmm2ext/gtkmm2ext/fastmeter.h b/libs/gtkmm2ext/gtkmm2ext/fastmeter.h
index 3be8a957ff..06ddb4817b 100644
--- a/libs/gtkmm2ext/gtkmm2ext/fastmeter.h
+++ b/libs/gtkmm2ext/gtkmm2ext/fastmeter.h
@@ -36,7 +36,10 @@ class FastMeter : public Gtk::DrawingArea {
Vertical
};
- FastMeter (long hold_cnt, unsigned long width, Orientation, int len=0, int clrb0=0x00ff00, int clr1=0xffff00, int clr2=0xffaa00, int clr3=0xff0000);
+ FastMeter (long hold_cnt, unsigned long width, Orientation, int len=0,
+ int clr0=0x00ff00, int clr1=0xffff00, int clr2=0xffaa00, int clr3=0xff0000,
+ int bgc0=0x111111ff, int bgc1=0x333333ff, int bgc2=0x333333ff, int bgc3=0x444444ff
+ );
virtual ~FastMeter ();
void set (float level);