+ void reset_audio_mapping_ui();
+ void setup_audio_miniview();
+ void setup_audio_expanded_view();
+ bool eventFilter(QObject *watched, QEvent *event) override;
+ void set_white_balance(int channel_number, int x, int y);
+ void update_cutoff_labels(float cutoff_hz);
+ void update_eq_label(unsigned bus_index, EQBand band, float gain_db);
+
+ // Called from DiskSpaceEstimator.
+ void report_disk_space(off_t free_bytes, double estimated_seconds_left);
+
+ // Called from the mixer.
+ void audio_level_callback(float level_lufs, float peak_db, std::vector<AudioMixer::BusLevel> bus_levels, float global_level_lufs, float range_low_lufs, float range_high_lufs, float final_makeup_gain_db, float correlation);
+ std::chrono::steady_clock::time_point last_audio_level_callback;
+
+ void audio_state_changed();
+
+ template<class T>
+ void set_relative_value(T *control, float value);
+
+ template<class T>
+ void set_relative_value_if_exists(unsigned bus_idx, T *Ui_AudioExpandedView::*control, float value);
+
+ template<class T>
+ void click_button_if_exists(unsigned bus_idx, T *Ui_AudioExpandedView::*control);
+