shared peak-display reset in mixer+meterbridge

This commit is contained in:
Robin Gareus 2013-07-05 16:39:38 +02:00
parent ce01658942
commit 424d368614
8 changed files with 11 additions and 32 deletions

View 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 ("")

View 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;

View 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)
{

View File

@ -26,6 +26,10 @@
#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);

View 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);

View 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 ();

View 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)
{

View 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);