]> git.sesse.net Git - nageru/blobdiff - mixer.h
Fix --flat-audio; add the gain staging auto knob, and make sure the UI reflects the...
[nageru] / mixer.h
diff --git a/mixer.h b/mixer.h
index 6a58575febd61d230b5e0cb7c65a6771a66248e5..e893ffb8427728b235d21f93c7a9169991c14aef 100644 (file)
--- a/mixer.h
+++ b/mixer.h
@@ -250,6 +250,11 @@ public:
                locut_enabled = enabled;
        }
 
+       bool get_locut_enabled() const
+       {
+               return locut_enabled;
+       }
+
        float get_limiter_threshold_dbfs()
        {
                return limiter_threshold_dbfs;
@@ -275,11 +280,21 @@ public:
                limiter_enabled = enabled;
        }
 
+       bool get_limiter_enabled() const
+       {
+               return limiter_enabled;
+       }
+
        void set_compressor_enabled(bool enabled)
        {
                compressor_enabled = enabled;
        }
 
+       bool get_compressor_enabled() const
+       {
+               return compressor_enabled;
+       }
+
        void set_gain_staging_db(float gain_db)
        {
                std::unique_lock<std::mutex> lock(compressor_mutex);
@@ -293,6 +308,12 @@ public:
                level_compressor_enabled = enabled;
        }
 
+       bool get_gain_staging_auto() const
+       {
+               std::unique_lock<std::mutex> lock(compressor_mutex);
+               return level_compressor_enabled;
+       }
+
        void set_final_makeup_gain_db(float gain_db)
        {
                std::unique_lock<std::mutex> lock(compressor_mutex);
@@ -473,7 +494,7 @@ private:
        std::atomic<bool> should_cut{false};
 
        audio_level_callback_t audio_level_callback = nullptr;
-       std::mutex compressor_mutex;
+       mutable std::mutex compressor_mutex;
        Ebu_r128_proc r128;  // Under compressor_mutex.
        CorrelationMeasurer correlation;  // Under compressor_mutex.