diff options
author | Robin Gareus <robin@gareus.org> | 2014-02-19 18:32:00 +0100 |
---|---|---|
committer | Robin Gareus <robin@gareus.org> | 2014-02-19 18:32:00 +0100 |
commit | f6541d7addb16ca5aa4462b0094237b2bb147b77 (patch) | |
tree | 4115079195b9815a2e8a132782cdaf9c5afc631a /gtk2_ardour | |
parent | d697a31abf2fa1b0bedcab025188f03611920fdf (diff) |
fix meter(s) when mixer-strip is switched to AuxSend
Diffstat (limited to 'gtk2_ardour')
-rw-r--r-- | gtk2_ardour/gain_meter.cc | 10 | ||||
-rw-r--r-- | gtk2_ardour/level_meter.cc | 1 | ||||
-rw-r--r-- | gtk2_ardour/mixer_strip.cc | 2 |
3 files changed, 11 insertions, 2 deletions
diff --git a/gtk2_ardour/gain_meter.cc b/gtk2_ardour/gain_meter.cc index 53dd006224..c2a5071030 100644 --- a/gtk2_ardour/gain_meter.cc +++ b/gtk2_ardour/gain_meter.cc @@ -274,18 +274,24 @@ void GainMeterBase::setup_meters (int len) { int meter_width = 5; + uint32_t meter_channels = 0; + if (_meter) { + meter_channels = _meter->input_streams().n_total(); + } else if (_route) { + meter_channels = _route->shared_peak_meter()->input_streams().n_total(); + } switch (_width) { case Wide: //meter_ticks1_area.show(); //meter_ticks2_area.show(); meter_metric_area.show(); - if (_route && _route->shared_peak_meter()->input_streams().n_total() == 1) { + if (meter_channels == 1) { meter_width = 10; } break; case Narrow: - if (_route && _route->shared_peak_meter()->input_streams().n_total() > 1) { + if (meter_channels > 1) { meter_width = 4; } //meter_ticks1_area.hide(); diff --git a/gtk2_ardour/level_meter.cc b/gtk2_ardour/level_meter.cc index 493a08baea..d76b450e38 100644 --- a/gtk2_ardour/level_meter.cc +++ b/gtk2_ardour/level_meter.cc @@ -78,6 +78,7 @@ LevelMeterBase::set_meter (PeakMeter* meter) _meter_type_connection.disconnect(); _meter = meter; + color_changed = true; if (_meter) { _meter->ConfigurationChanged.connect (_configuration_connection, parent_invalidator, boost::bind (&LevelMeterBase::configuration_changed, this, _1, _2), gui_context()); diff --git a/gtk2_ardour/mixer_strip.cc b/gtk2_ardour/mixer_strip.cc index a2900efeb0..284f46ce4b 100644 --- a/gtk2_ardour/mixer_strip.cc +++ b/gtk2_ardour/mixer_strip.cc @@ -37,6 +37,7 @@ #include "ardour/audio_track.h" #include "ardour/audioengine.h" #include "ardour/internal_send.h" +#include "ardour/meter.h" #include "ardour/midi_track.h" #include "ardour/pannable.h" #include "ardour/panner.h" @@ -1870,6 +1871,7 @@ MixerStrip::show_send (boost::shared_ptr<Send> send) set_current_delivery (send); + send->meter()->set_type(_route->shared_peak_meter()->get_type()); send->set_metering (true); _current_delivery->DropReferences.connect (send_gone_connection, invalidator (*this), boost::bind (&MixerStrip::revert_to_default_display, this), gui_context()); |