]> git.sesse.net Git - nageru/blobdiff - audio_mixer.h
Move ALSAPool into its own file; it is pretty large now.
[nageru] / audio_mixer.h
index faa0cc52b025b23e6fe541e993e6ee1e085427a0..279436700e4a8a4ce95505a1f3f3aab43bf68c9c 100644 (file)
@@ -19,6 +19,7 @@
 #include <zita-resampler/resampler.h>
 
 #include "alsa_input.h"
+#include "alsa_pool.h"
 #include "bmusb/bmusb.h"
 #include "correlation_measurer.h"
 #include "db.h"
@@ -252,6 +253,22 @@ public:
                }
        }
 
+       // A combination of all settings for a bus. Useful if you want to get
+       // or store them as a whole without bothering to call all of the get_*
+       // or set_* functions for that bus.
+       struct BusSettings {
+               float fader_volume_db;
+               bool locut_enabled;
+               float eq_level_db[NUM_EQ_BANDS];
+               float gain_staging_db;
+               bool level_compressor_enabled;
+               float compressor_threshold_dbfs;
+               bool compressor_enabled;
+       };
+       static BusSettings get_default_bus_settings();
+       BusSettings get_bus_settings(unsigned bus_index) const;
+       void set_bus_settings(unsigned bus_index, const BusSettings &settings);
+
 private:
        struct AudioDevice {
                std::unique_ptr<ResamplingQueue> resampling_queue;