make changes to peak-meter threshold config effective immediately
authorRobin Gareus <robin@gareus.org>
Sat, 6 Jul 2013 14:09:38 +0000 (16:09 +0200)
committerRobin Gareus <robin@gareus.org>
Wed, 10 Jul 2013 13:27:11 +0000 (15:27 +0200)
gtk2_ardour/gain_meter.cc
gtk2_ardour/meter_strip.cc
gtk2_ardour/meter_strip.h

index 767754bca33702d7fccad6799286a3734d4de7a3..dcc89e1d2986be9b49f49acf86b5555b561303ab 100644 (file)
@@ -843,10 +843,9 @@ GainMeterBase::update_meters()
                        snprintf (buf, sizeof(buf), "%.1f", mpeak);
                        peak_display.set_label (buf);
                }
-
-               if (mpeak >= Config->get_meter_peak()) {
-                       peak_display.set_name ("MixerStripPeakDisplayPeak");
-               }
+       }
+       if (mpeak >= Config->get_meter_peak()) {
+               peak_display.set_name ("MixerStripPeakDisplayPeak");
        }
 }
 
index fcb3561eaa192aa5fbdc4dda79539f2d0175183f..a2872063d40bc7fb010e2b2b0568055924913e13 100644 (file)
@@ -192,6 +192,7 @@ MeterStrip::MeterStrip (Session* sess, boost::shared_ptr<ARDOUR::Route> rt)
        UI::instance()->theme_changed.connect (sigc::mem_fun(*this, &MeterStrip::on_theme_changed));
        ColorsChanged.connect (sigc::mem_fun (*this, &MeterStrip::on_theme_changed));
        DPIReset.connect (sigc::mem_fun (*this, &MeterStrip::on_theme_changed));
+       Config->ParameterChanged.connect (*this, invalidator (*this), ui_bind (&MeterStrip::parameter_changed, this, _1), gui_context());
 }
 
 MeterStrip::~MeterStrip ()
@@ -417,3 +418,11 @@ MeterStrip::redraw_metrics ()
        meter_ticks1_area.queue_draw();
        meter_ticks2_area.queue_draw();
 }
+
+void
+MeterStrip::parameter_changed (std::string const & p)
+{
+       if (p == "meter-peak") {
+               max_peak = -INFINITY;
+       }
+}
index c50c810fcfaa35fdacb5238c2957cdd0a9d9c0fd..4589742916f4ca2ce41445d6a90e2467cd7f56fe 100644 (file)
@@ -112,6 +112,7 @@ class MeterStrip : public Gtk::VBox, public RouteUI
 
        bool peak_button_release (GdkEventButton*);
 
+       void parameter_changed (std::string const & p);
        void redraw_metrics ();
 };