MappingMode get_mapping_mode() const;
InputMapping get_input_mapping() const;
+ // See extra_devices.
+ void set_extra_devices(const std::set<DeviceSpec> &devices);
+
unsigned num_buses() const;
void set_locut_cutoff(float cutoff_hz)
void send_audio_level_callback();
std::vector<DeviceSpec> get_active_devices() const;
void set_input_mapping_lock_held(const InputMapping &input_mapping);
+ void start_or_stop_alsa_capture(DeviceSpec device_spec);
unsigned num_capture_cards, num_ffmpeg_inputs;
std::unique_ptr<BusMetrics[]> bus_metrics; // One for each bus in <input_mapping>.
DelayAnalyzerInterface *delay_analyzer = nullptr;
+
+ // A set of devices (potentially empty) that should be kept open even
+ // if they're not used in any bus. This allows the delay analyzer to
+ // make sure a given ALSA device is opened to tap into its data, even if
+ // there is no bus using it. (Non-ALSA devices are allowed to be here,
+ // but won't do anything.)
+ std::set<DeviceSpec> extra_devices;
};
extern AudioMixer *global_audio_mixer;