summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobin Gareus <robin@gareus.org>2014-02-19 18:32:00 +0100
committerRobin Gareus <robin@gareus.org>2014-02-19 18:32:00 +0100
commitf6541d7addb16ca5aa4462b0094237b2bb147b77 (patch)
tree4115079195b9815a2e8a132782cdaf9c5afc631a
parentd697a31abf2fa1b0bedcab025188f03611920fdf (diff)
fix meter(s) when mixer-strip is switched to AuxSend
-rw-r--r--gtk2_ardour/gain_meter.cc10
-rw-r--r--gtk2_ardour/level_meter.cc1
-rw-r--r--gtk2_ardour/mixer_strip.cc2
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());