summaryrefslogtreecommitdiff
path: root/gtk2_ardour/meterbridge.cc
diff options
context:
space:
mode:
authorRobin Gareus <robin@gareus.org>2013-07-05 22:18:04 +0200
committerRobin Gareus <robin@gareus.org>2013-07-10 15:27:11 +0200
commit62d5585e34d410c9c5feb7cf7b4742360c2187b0 (patch)
tree3ca7125166d46d2205187867a8f499aa009fcda8 /gtk2_ardour/meterbridge.cc
parent09be35c5cbfc218f9a83842e10f41db14ba4abea (diff)
prepare meter configuration..
- rework metric/tick image cache invalidation - flush cache - send signal to queue redraws (TODO) selectively flush cache // cache per size, style - add four common line up levels
Diffstat (limited to 'gtk2_ardour/meterbridge.cc')
-rw-r--r--gtk2_ardour/meterbridge.cc16
1 files changed, 16 insertions, 0 deletions
diff --git a/gtk2_ardour/meterbridge.cc b/gtk2_ardour/meterbridge.cc
index 99b80fb668..782a8f84fc 100644
--- a/gtk2_ardour/meterbridge.cc
+++ b/gtk2_ardour/meterbridge.cc
@@ -51,6 +51,8 @@
#include "route_sorter.h"
#include "actions.h"
#include "gui_thread.h"
+#include "global_signals.h"
+#include "meter_patterns.h"
#include "i18n.h"
@@ -200,6 +202,10 @@ Meterbridge::Meterbridge ()
Gtk::Viewport* viewport = (Gtk::Viewport*) scroller.get_child();
viewport->set_shadow_type(Gtk::SHADOW_NONE);
viewport->set_border_width(0);
+
+ UI::instance()->theme_changed.connect (sigc::mem_fun(*this, &Meterbridge::on_theme_changed));
+ ColorsChanged.connect (sigc::mem_fun (*this, &Meterbridge::on_theme_changed));
+ DPIReset.connect (sigc::mem_fun (*this, &Meterbridge::on_theme_changed));
}
Meterbridge::~Meterbridge ()
@@ -398,6 +404,7 @@ Meterbridge::set_session (Session* s)
_session->DirtyChanged.connect (_session_connections, invalidator (*this), boost::bind (&Meterbridge::update_title, this), gui_context());
_session->StateSaved.connect (_session_connections, invalidator (*this), boost::bind (&Meterbridge::update_title, this), gui_context());
_session->config.ParameterChanged.connect (*this, invalidator (*this), ui_bind (&Meterbridge::parameter_changed, this, _1), gui_context());
+ Config->ParameterChanged.connect (*this, invalidator (*this), ui_bind (&Meterbridge::parameter_changed, this, _1), gui_context());
if (_visible) {
show_window();
@@ -654,4 +661,13 @@ Meterbridge::parameter_changed (std::string const & p)
_show_midi = _session->config.get_show_midi_on_meterbridge();
sync_order_keys(MixerSort);
}
+ else if (p == "meter-line-up-level") {
+ meter_clear_pattern_cache();
+ }
+}
+
+void
+Meterbridge::on_theme_changed ()
+{
+ meter_clear_pattern_cache();
}