diff options
Diffstat (limited to 'gtk2_ardour/gain_meter.cc')
-rw-r--r-- | gtk2_ardour/gain_meter.cc | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/gtk2_ardour/gain_meter.cc b/gtk2_ardour/gain_meter.cc index a74df66bc0..8438147746 100644 --- a/gtk2_ardour/gain_meter.cc +++ b/gtk2_ardour/gain_meter.cc @@ -35,6 +35,7 @@ #include <gtkmm2ext/gtk_ui.h> #include <midi++/manager.h> #include <pbd/fastlog.h> +#include <pbd/stacktrace.h> #include "ardour_ui.h" #include "gain_meter.h" @@ -160,6 +161,8 @@ GainMeterBase::~GainMeterBase () void GainMeterBase::set_io (boost::shared_ptr<IO> io) { + cerr << this << " Clear all connections\n"; + connections.clear (); _io = io; @@ -200,6 +203,8 @@ GainMeterBase::set_io (boost::shared_ptr<IO> io) } } + cerr << "Connect " << this << " to gain change for " << _io->name() << endl; + connections.push_back (_io->gain_control()->Changed.connect (mem_fun(*this, &GainMeterBase::gain_changed))); gain_changed (); @@ -371,8 +376,11 @@ GainMeterBase::show_gain () void GainMeterBase::gain_adjusted () { + cerr << this << " for " << _io->name() << " GAIN ADJUSTED\n"; if (!ignore_toggle) { + cerr << "Set GC\n"; _io->gain_control()->set_value (slider_position_to_gain (gain_adjustment.get_value())); + cerr << "Set GC OUT\n"; } show_gain (); } @@ -382,6 +390,9 @@ GainMeterBase::effective_gain_display () { gfloat value = gain_to_slider_position (_io->effective_gain()); + cerr << this << " for " << _io->name() << " EGAIN = " << value << " AGAIN = " << gain_adjustment.get_value () << endl; + // stacktrace (cerr, 20); + if (gain_adjustment.get_value() != value) { ignore_toggle = true; gain_adjustment.set_value (value); |