diff options
Diffstat (limited to 'libs/ardour/ardour/monitor_processor.h')
-rw-r--r-- | libs/ardour/ardour/monitor_processor.h | 20 |
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 */ |