From 424d368614eda4b3c34d1a0962ef641d6850fb6d Mon Sep 17 00:00:00 2001 From: Robin Gareus Date: Fri, 5 Jul 2013 16:39:38 +0200 Subject: [PATCH] shared peak-display reset in mixer+meterbridge --- gtk2_ardour/gain_meter.cc | 3 --- gtk2_ardour/gain_meter.h | 3 --- gtk2_ardour/meter_patterns.cc | 3 +++ gtk2_ardour/meter_patterns.h | 4 ++++ gtk2_ardour/meter_strip.cc | 7 ++++--- gtk2_ardour/meter_strip.h | 2 -- gtk2_ardour/meterbridge.cc | 18 ------------------ gtk2_ardour/meterbridge.h | 3 --- 8 files changed, 11 insertions(+), 32 deletions(-) diff --git a/gtk2_ardour/gain_meter.cc b/gtk2_ardour/gain_meter.cc index 50d4ff80b8..124389e3ef 100644 --- a/gtk2_ardour/gain_meter.cc +++ b/gtk2_ardour/gain_meter.cc @@ -61,9 +61,6 @@ using namespace Gtk; using namespace std; using Gtkmm2ext::Keyboard; -sigc::signal GainMeterBase::ResetAllPeakDisplays; -sigc::signal 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 ("") diff --git a/gtk2_ardour/gain_meter.h b/gtk2_ardour/gain_meter.h index 8a4613be5a..ba7842e085 100644 --- a/gtk2_ardour/gain_meter.h +++ b/gtk2_ardour/gain_meter.h @@ -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 ResetAllPeakDisplays; - static sigc::signal ResetGroupPeakDisplays; - void on_theme_changed (); void color_handler(bool); ARDOUR::DataType _data_type; diff --git a/gtk2_ardour/meter_patterns.cc b/gtk2_ardour/meter_patterns.cc index 6069bcb343..a5fd5ea407 100644 --- a/gtk2_ardour/meter_patterns.cc +++ b/gtk2_ardour/meter_patterns.cc @@ -38,6 +38,9 @@ using namespace std; static const int max_pattern_metric_size = 1026; +sigc::signal ResetAllPeakDisplays; +sigc::signal ResetGroupPeakDisplays; + cairo_pattern_t* meter_render_ticks (Gtk::Widget& w, vector types) { diff --git a/gtk2_ardour/meter_patterns.h b/gtk2_ardour/meter_patterns.h index 5951ff2fd6..4a37271f40 100644 --- a/gtk2_ardour/meter_patterns.h +++ b/gtk2_ardour/meter_patterns.h @@ -26,6 +26,10 @@ #include "ardour/types.h" #include "gtkmm2ext/cairo_widget.h" +#include +extern sigc::signal ResetAllPeakDisplays; +extern sigc::signal ResetGroupPeakDisplays; + cairo_pattern_t* meter_render_ticks (Gtk::Widget& w, std::vector types); cairo_pattern_t* meter_render_metrics (Gtk::Widget& w, std::vector types); diff --git a/gtk2_ardour/meter_strip.cc b/gtk2_ardour/meter_strip.cc index d28e123d1f..cd15dd5bb0 100644 --- a/gtk2_ardour/meter_strip.cc +++ b/gtk2_ardour/meter_strip.cc @@ -54,11 +54,8 @@ using namespace Gtkmm2ext; using namespace std; PBD::Signal1 MeterStrip::CatchDeletion; -PBD::Signal0 MeterStrip::ResetAllPeakDisplays; -PBD::Signal1 MeterStrip::ResetGroupPeakDisplays; PBD::Signal0 MeterStrip::MetricChanged; - MeterStrip::MeterStrip (int metricmode) : AxisView(0) , RouteUI(0) @@ -173,6 +170,10 @@ MeterStrip::MeterStrip (Session* sess, boost::shared_ptr 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); diff --git a/gtk2_ardour/meter_strip.h b/gtk2_ardour/meter_strip.h index dca86d6722..3836ede93f 100644 --- a/gtk2_ardour/meter_strip.h +++ b/gtk2_ardour/meter_strip.h @@ -54,8 +54,6 @@ class MeterStrip : public Gtk::VBox, public RouteUI boost::shared_ptr route() { return _route; } static PBD::Signal1 CatchDeletion; - static PBD::Signal0 ResetAllPeakDisplays; - static PBD::Signal1 ResetGroupPeakDisplays; static PBD::Signal0 MetricChanged; void reset_peak_display (); diff --git a/gtk2_ardour/meterbridge.cc b/gtk2_ardour/meterbridge.cc index 71fcddd6da..56a70a8d9a 100644 --- a/gtk2_ardour/meterbridge.cc +++ b/gtk2_ardour/meterbridge.cc @@ -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::iterator i = strips.begin(); i != strips.end(); ++i) { - (*i)->reset_peak_display (); - } -} - -void -Meterbridge::reset_group_peaks (RouteGroup* rg) -{ - for (list::iterator i = strips.begin(); i != strips.end(); ++i) { - (*i)->reset_group_peak_display (rg); - } -} - void Meterbridge::sync_order_keys (RouteSortOrderKey src) { diff --git a/gtk2_ardour/meterbridge.h b/gtk2_ardour/meterbridge.h index a44b7f552d..f02d6b82ab 100644 --- a/gtk2_ardour/meterbridge.h +++ b/gtk2_ardour/meterbridge.h @@ -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);