diff --git a/libs/ardour/ardour/audio_backend.h b/libs/ardour/ardour/audio_backend.h index 72e40f3665..100832275a 100644 --- a/libs/ardour/ardour/audio_backend.h +++ b/libs/ardour/ardour/audio_backend.h @@ -338,6 +338,10 @@ public: return false; } + typedef std::vector ChannelMask; + ChannelMask const & input_channel_mask() const { return _input_channel_mask; } + ChannelMask const & output_channel_mask() const { return _output_channel_mask; } + /** Returns a collection of float identifying sample rates that are * potentially usable with the hardware identified by \p device . * Any of these values may be supplied in other calls to this backend @@ -859,6 +863,11 @@ protected: AudioEngine& engine; virtual int _start (bool for_latency_measurement) = 0; + + void setup_channel_masks (size_t in, size_t out); + + ChannelMask _input_channel_mask; + ChannelMask _output_channel_mask; }; } // namespace ARDOUR diff --git a/libs/ardour/audio_backend.cc b/libs/ardour/audio_backend.cc index 30df66c6ff..1f485891d6 100644 --- a/libs/ardour/audio_backend.cc +++ b/libs/ardour/audio_backend.cc @@ -111,4 +111,11 @@ AudioBackend::get_standard_device_name (StandardDeviceName device_name) return std::string(); } +void +AudioBackend::setup_channel_masks (size_t in, size_t out) +{ + _input_channel_mask.assign (in, true); + _output_channel_mask.assign (out, true); +} + } // namespace ARDOUR