summaryrefslogtreecommitdiff
path: root/gtk2_ardour
diff options
context:
space:
mode:
authorRobin Gareus <robin@gareus.org>2014-02-19 18:32:00 +0100
committerPaul Davis <paul@linuxaudiosystems.com>2014-02-19 23:25:08 -0500
commit55c7ce98abc285e4bf90d937530bc69168032189 (patch)
tree8aabd6d8c31cd30441bb15f3fee7a440bcbfdd4b /gtk2_ardour
parent1d39cf754355805d2281232905808670e32f7d6e (diff)
fix meter(s) when mixer-strip is switched to AuxSend
Diffstat (limited to 'gtk2_ardour')
-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 e428958343..94b8d63d7f 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 bb552c936b..fb79c4b4a0 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"
@@ -1863,6 +1864,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());