summaryrefslogtreecommitdiff
path: root/libs/ardour/monitor_processor.cc
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2010-03-17 16:01:58 +0000
committerPaul Davis <paul@linuxaudiosystems.com>2010-03-17 16:01:58 +0000
commit8caed20c973636343a8a337dc78b34a399b74d78 (patch)
treea4a0136e581109c92faae36b4aa1d8913c355071 /libs/ardour/monitor_processor.cc
parentda3f9e3e079049884fea2ad1cc4c84aa2e404b76 (diff)
fixes for various consistency/settings issues in monitor section; minor edit to PACKAGER_README
git-svn-id: svn://localhost/ardour2/branches/3.0@6771 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'libs/ardour/monitor_processor.cc')
-rw-r--r--libs/ardour/monitor_processor.cc31
1 files changed, 24 insertions, 7 deletions
diff --git a/libs/ardour/monitor_processor.cc b/libs/ardour/monitor_processor.cc
index f7dbd7bfdb..aa1609a844 100644
--- a/libs/ardour/monitor_processor.cc
+++ b/libs/ardour/monitor_processor.cc
@@ -4,6 +4,7 @@
#include "ardour/amp.h"
#include "ardour/dB.h"
+#include "ardour/debug.h"
#include "ardour/audio_buffer.h"
#include "ardour/monitor_processor.h"
#include "ardour/session.h"
@@ -243,6 +244,20 @@ MonitorProcessor::run (BufferSet& bufs, sframes_t /*start_frame*/, sframes_t /*e
}
}
+ DEBUG_TRACE (DEBUG::Monitor,
+ string_compose("channel %1 sb %2 gc %3 gd %4 cd %5 dl %6 cp %7 cc %8 cs %9 sc %10 TG %11\n",
+ chn,
+ solo_boost,
+ global_cut,
+ global_dim,
+ _channels[chn].dim,
+ dim_level,
+ _channels[chn].polarity,
+ _channels[chn].cut,
+ _channels[chn].soloed,
+ solo_cnt,
+ target_gain));
+
if (target_gain != _channels[chn].current_gain || target_gain != 1.0f) {
Amp::apply_gain (*b, nframes, _channels[chn].current_gain, target_gain);
@@ -331,13 +346,15 @@ MonitorProcessor::set_cut (uint32_t chn, bool yn)
void
MonitorProcessor::set_solo (uint32_t chn, bool solo)
{
- _channels[chn].soloed = solo;
-
- if (solo) {
- solo_cnt++;
- } else {
- if (solo_cnt > 0) {
- solo_cnt--;
+ if (solo != _channels[chn].soloed) {
+ _channels[chn].soloed = solo;
+
+ if (solo) {
+ solo_cnt++;
+ } else {
+ if (solo_cnt > 0) {
+ solo_cnt--;
+ }
}
}
}