diff options
author | Paul Davis <paul@linuxaudiosystems.com> | 2006-09-25 21:24:00 +0000 |
---|---|---|
committer | Paul Davis <paul@linuxaudiosystems.com> | 2006-09-25 21:24:00 +0000 |
commit | ac1272c0d4d4632106f7ed636ff1a9182b671a05 (patch) | |
tree | fda4c478477a9d3ea17fd6f4257b99c847623f24 /gtk2_ardour/gain_meter.cc | |
parent | 7b99808a5720b6916ee78d8700d4b9f261e72a2a (diff) |
the BIG CONFIG patch
git-svn-id: svn://localhost/ardour2/trunk@926 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'gtk2_ardour/gain_meter.cc')
-rw-r--r-- | gtk2_ardour/gain_meter.cc | 25 |
1 files changed, 16 insertions, 9 deletions
diff --git a/gtk2_ardour/gain_meter.cc b/gtk2_ardour/gain_meter.cc index d2e829581a..d553011898 100644 --- a/gtk2_ardour/gain_meter.cc +++ b/gtk2_ardour/gain_meter.cc @@ -201,7 +201,7 @@ GainMeter::GainMeter (boost::shared_ptr<IO> io, Session& s) gain_adjustment.signal_value_changed().connect (mem_fun(*this, &GainMeter::gain_adjusted)); peak_display.signal_button_release_event().connect (mem_fun(*this, &GainMeter::peak_button_release)); - _session.MeterHoldChanged.connect (mem_fun(*this, &GainMeter::meter_hold_changed)); + Config->ParameterChanged.connect (mem_fun (*this, &GainMeter::parameter_changed)); gain_changed (0); update_gain_sensitive (); @@ -346,17 +346,24 @@ GainMeter::update_meters () } void -GainMeter::meter_hold_changed() +GainMeter::parameter_changed(const char* parameter_name) { - ENSURE_GUI_THREAD(mem_fun(*this, &GainMeter::meter_hold_changed)); - - vector<MeterInfo>::iterator i; - uint32_t n; +#define PARAM_IS(x) (!strcmp (parameter_name, (x))) + + ENSURE_GUI_THREAD (bind (mem_fun(*this, &GainMeter::parameter_changed), parameter_name)); + + if (PARAM_IS ("meter-hold")) { - for (n = 0, i = meters.begin(); i != meters.end(); ++i, ++n) { + vector<MeterInfo>::iterator i; + uint32_t n; - (*i).meter->set_hold_count ((uint32_t) floor(_session.meter_hold())); + for (n = 0, i = meters.begin(); i != meters.end(); ++i, ++n) { + + (*i).meter->set_hold_count ((uint32_t) floor(Config->get_meter_hold())); + } } + +#undef PARAM_IS } void @@ -424,7 +431,7 @@ GainMeter::setup_meters () for (uint32_t n = 0; n < nmeters; ++n) { if (meters[n].width != width) { delete meters[n].meter; - meters[n].meter = new FastMeter ((uint32_t) floor (_session.meter_hold()), width, FastMeter::Vertical); + meters[n].meter = new FastMeter ((uint32_t) floor (Config->get_meter_hold()), width, FastMeter::Vertical); meters[n].width = width; meters[n].meter->add_events (Gdk::BUTTON_RELEASE_MASK); |