summaryrefslogtreecommitdiff
path: root/libs/ardour/ardour/monitor_processor.h
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2010-03-11 22:51:24 +0000
committerPaul Davis <paul@linuxaudiosystems.com>2010-03-11 22:51:24 +0000
commitc5dab0e2a8df77725f34f53462a4f08d7b581e57 (patch)
tree49b9f1aa8f17bd34507de3fdad7b177cb5c01f14 /libs/ardour/ardour/monitor_processor.h
parent100d7c0f82602f6225537342f6df7dee12479e9d (diff)
save/restore monitor processor state; key handling in torn off monitor section window
git-svn-id: svn://localhost/ardour2/branches/3.0@6748 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'libs/ardour/ardour/monitor_processor.h')
-rw-r--r--libs/ardour/ardour/monitor_processor.h20
1 files changed, 15 insertions, 5 deletions
diff --git a/libs/ardour/ardour/monitor_processor.h b/libs/ardour/ardour/monitor_processor.h
index eb7ab87aa1..2bef0286c8 100644
--- a/libs/ardour/ardour/monitor_processor.h
+++ b/libs/ardour/ardour/monitor_processor.h
@@ -74,17 +74,27 @@ class MonitorProcessor : public Processor
PBD::Signal0<void> Changed;
private:
- std::vector<gain_t> current_gain;
- std::vector<gain_t> _cut;
- std::vector<bool> _dim;
- std::vector<gain_t> _polarity;
- std::vector<bool> _soloed;
+ struct ChannelRecord {
+ gain_t current_gain;
+ gain_t cut;
+ bool dim;
+ gain_t polarity;
+ bool soloed;
+
+ ChannelRecord ()
+ : current_gain(1.0), cut(1.0), dim(false), polarity(1.0), soloed (false) {}
+ };
+
+ std::vector<ChannelRecord> _channels;
+
uint32_t solo_cnt;
bool _dim_all;
bool _cut_all;
bool _mono;
volatile gain_t _dim_level;
volatile gain_t _solo_boost_level;
+
+ void allocate_channels (uint32_t);
};
} /* namespace */