shared peak-display reset in mixer+meterbridge
authorRobin Gareus <robin@gareus.org>
Fri, 5 Jul 2013 14:39:38 +0000 (16:39 +0200)
committerRobin Gareus <robin@gareus.org>
Wed, 10 Jul 2013 13:27:10 +0000 (15:27 +0200)
gtk2_ardour/gain_meter.cc
gtk2_ardour/gain_meter.h
gtk2_ardour/meter_patterns.cc
gtk2_ardour/meter_patterns.h
gtk2_ardour/meter_strip.cc
gtk2_ardour/meter_strip.h
gtk2_ardour/meterbridge.cc
gtk2_ardour/meterbridge.h

index 50d4ff80b84ee165d30a1a07d807c06f9fc2e05e..124389e3ef00f28529bc47ded28aade499f99114 100644 (file)
@@ -61,9 +61,6 @@ using namespace Gtk;
 using namespace std;
 using Gtkmm2ext::Keyboard;
 
-sigc::signal<void> GainMeterBase::ResetAllPeakDisplays;
-sigc::signal<void,RouteGroup*> GainMeterBase::ResetGroupPeakDisplays;
-
 GainMeterBase::GainMeterBase (Session* s, bool horizontal, int fader_length, int fader_girth)
        : gain_adjustment (gain_to_slider_position_with_max (1.0, Config->get_max_gain()), 0.0, 1.0, 0.01, 0.1)
        , gain_automation_style_button ("")
index 8a4613be5a2f043d54ad6ee35f2b9b930606838b..ba7842e085cb6a50c30dd60c867a8b3f67d23599 100644 (file)
@@ -183,9 +183,6 @@ class GainMeterBase : virtual public sigc::trackable, ARDOUR::SessionHandlePtr
        void reset_peak_display ();
        void reset_group_peak_display (ARDOUR::RouteGroup*);
 
-       static sigc::signal<void> ResetAllPeakDisplays;
-       static sigc::signal<void,ARDOUR::RouteGroup*> ResetGroupPeakDisplays;
-
        void on_theme_changed ();
        void color_handler(bool);
        ARDOUR::DataType _data_type;
index 6069bcb343eb8fa3925e7046af9fac997004e03f..a5fd5ea40700ed52fc0ccb2fed90ac8227f56a7b 100644 (file)
@@ -38,6 +38,9 @@ using namespace std;
 
 static const int max_pattern_metric_size = 1026;
 
+sigc::signal<void> ResetAllPeakDisplays;
+sigc::signal<void,ARDOUR::RouteGroup*> ResetGroupPeakDisplays;
+
 cairo_pattern_t*
 meter_render_ticks (Gtk::Widget& w, vector<ARDOUR::DataType> types)
 {
index 5951ff2fd6691f184d25b0f9880a76d730ddc6d4..4a37271f405907ef8aed379aad3eb5ce580c80e3 100644 (file)
 #include "ardour/types.h"
 #include "gtkmm2ext/cairo_widget.h"
 
+#include <sigc++/signal.h>
+extern sigc::signal<void> ResetAllPeakDisplays;
+extern sigc::signal<void,ARDOUR::RouteGroup*> ResetGroupPeakDisplays;
+
 cairo_pattern_t* meter_render_ticks (Gtk::Widget& w, std::vector<ARDOUR::DataType> types);
 cairo_pattern_t* meter_render_metrics (Gtk::Widget& w, std::vector<ARDOUR::DataType> types);
 
index d28e123d1fa7ac54b8c3e985f78d4e19033c84f6..cd15dd5bb050332b4eda1ccada4f4fe5be5b35f8 100644 (file)
@@ -54,11 +54,8 @@ using namespace Gtkmm2ext;
 using namespace std;
 
 PBD::Signal1<void,MeterStrip*> MeterStrip::CatchDeletion;
-PBD::Signal0<void> MeterStrip::ResetAllPeakDisplays;
-PBD::Signal1<void,RouteGroup*> MeterStrip::ResetGroupPeakDisplays;
 PBD::Signal0<void> MeterStrip::MetricChanged;
 
-
 MeterStrip::MeterStrip (int metricmode)
        : AxisView(0)
        , RouteUI(0)
@@ -173,6 +170,10 @@ MeterStrip::MeterStrip (Session* sess, boost::shared_ptr<ARDOUR::Route> rt)
        _route->shared_peak_meter()->ConfigurationChanged.connect (
                        route_connections, invalidator (*this), boost::bind (&MeterStrip::meter_configuration_changed, this, _1), gui_context()
                        );
+
+       ResetAllPeakDisplays.connect (sigc::mem_fun(*this, &MeterStrip::reset_peak_display));
+       ResetGroupPeakDisplays.connect (sigc::mem_fun(*this, &MeterStrip::reset_group_peak_display));
+
        meter_configuration_changed (_route->shared_peak_meter()->input_streams ());
 
        meter_ticks1_area.set_size_request(3,-1);
index dca86d67222c27031f1e2bafae4a88f5e7dd8544..3836ede93f88062d80aa750ef340cbfdab6ebef7 100644 (file)
@@ -54,8 +54,6 @@ class MeterStrip : public Gtk::VBox, public RouteUI
        boost::shared_ptr<ARDOUR::Route> route() { return _route; }
 
        static PBD::Signal1<void,MeterStrip*> CatchDeletion;
-       static PBD::Signal0<void> ResetAllPeakDisplays;
-       static PBD::Signal1<void,ARDOUR::RouteGroup*> ResetGroupPeakDisplays;
        static PBD::Signal0<void> MetricChanged;
 
        void reset_peak_display ();
index 71fcddd6da2828e8967224988bd72cf02b7b421d..56a70a8d9a64cf30f7755f046c9beea735279517 100644 (file)
@@ -155,8 +155,6 @@ Meterbridge::Meterbridge ()
        signal_configure_event().connect (sigc::mem_fun (*ARDOUR_UI::instance(), &ARDOUR_UI::configure_handler));
        Route::SyncOrderKeys.connect (*this, invalidator (*this), boost::bind (&Meterbridge::sync_order_keys, this, _1), gui_context());
        MeterStrip::CatchDeletion.connect (*this, invalidator (*this), boost::bind (&Meterbridge::remove_strip, this, _1), gui_context());
-       MeterStrip::ResetAllPeakDisplays.connect_same_thread (*this, boost::bind(&Meterbridge::reset_all_peaks, this));
-       MeterStrip::ResetGroupPeakDisplays.connect_same_thread (*this, boost::bind (&Meterbridge::reset_group_peaks, this, _1));
        MeterStrip::MetricChanged.connect_same_thread (*this, boost::bind(&Meterbridge::update_metrics, this));
 
        /* work around ScrolledWindowViewport alignment mess Part one */
@@ -540,22 +538,6 @@ Meterbridge::update_metrics ()
        }
 }
 
-void
-Meterbridge::reset_all_peaks ()
-{
-       for (list<MeterStrip *>::iterator i = strips.begin(); i != strips.end(); ++i) {
-               (*i)->reset_peak_display ();
-       }
-}
-
-void
-Meterbridge::reset_group_peaks (RouteGroup* rg)
-{
-       for (list<MeterStrip *>::iterator i = strips.begin(); i != strips.end(); ++i) {
-               (*i)->reset_group_peak_display (rg);
-       }
-}
-
 void
 Meterbridge::sync_order_keys (RouteSortOrderKey src)
 {
index a44b7f552dee34bc1bf8730ccde07e791b34f84a..f02d6b82ab1303559396772ab1b679b95d363209 100644 (file)
@@ -76,9 +76,6 @@ class Meterbridge :
        void remove_strip (MeterStrip *);
        void update_metrics ();
 
-       void reset_all_peaks ();
-       void reset_group_peaks (ARDOUR::RouteGroup*);
-
        void session_going_away ();
        void sync_order_keys (ARDOUR::RouteSortOrderKey src);