]> git.sesse.net Git - nageru/blobdiff - nageru/mainwindow.h
IWYU-fix nageru/*.h.
[nageru] / nageru / mainwindow.h
index 36be4b8be01a90dbff75d095c1af61b5bc1aa7d1..c80c3c5cdfebca2a7f99d76468fa86ba3b1acfc1 100644 (file)
@@ -1,10 +1,12 @@
 #ifndef MAINWINDOW_H
 #define MAINWINDOW_H
 
+#include <memory>
 #include <stdbool.h>
 #include <sys/types.h>
 #include <QMainWindow>
 #include <QString>
+#include <QWidget>
 #include <chrono>
 #include <string>
 #include <vector>
@@ -13,7 +15,9 @@
 #include "audio_mixer.h"
 #include "midi_mapper.h"
 #include "mixer.h"
+#include "theme.h"
 
+class QDial;
 class QEvent;
 class QObject;
 class QResizeEvent;
@@ -84,9 +88,11 @@ public slots:
        void set_treble(unsigned bus_idx, float value) override;
        void set_mid(unsigned bus_idx, float value) override;
        void set_bass(unsigned bus_idx, float value) override;
+       void set_eq_absolute(unsigned bus_idx, EQBand eq_band, float value_db);
        void set_gain(unsigned bus_idx, float value) override;
        void set_compressor_threshold(unsigned bus_idx, float value) override;
        void set_fader(unsigned bus_idx, float value) override;
+       void set_fader_absolute(unsigned bus_idx, float value_db);  // Used by the theme only.
 
        void toggle_mute(unsigned bus_idx) override;
        void toggle_locut(unsigned bus_idx) override;
@@ -96,6 +102,13 @@ public slots:
        void toggle_limiter() override;
        void toggle_auto_makeup_gain() override;
 
+       void switch_video_channel(int channel_number) override;
+       void apply_transition(int transition_number) override;
+       void prev_audio_view() override;
+       void next_audio_view() override;
+       void begin_new_segment() override;
+       void exit() override;
+
        void clear_all_highlights() override;
 
        void highlight_locut(bool highlight) override;
@@ -133,9 +146,12 @@ private:
        void update_stereo_label(unsigned bus_index, int stereo_width_percent);
        void update_eq_label(unsigned bus_index, EQBand band, float gain_db);
        void setup_theme_menu();
+       void fill_menu_from_theme_menu(const std::vector<std::unique_ptr<Theme::MenuEntry>> &entries, QMenu *menu);
+       void prev_page();
+       void next_page();
 
        // Called from DiskSpaceEstimator.
-       void report_disk_space(off_t free_bytes, double estimated_seconds_left);
+       void report_disk_space(off_t free_bytes, double estimated_seconds_left, double file_length_seconds);
 
        // 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);
@@ -149,6 +165,8 @@ private:
        template<class T>
        void set_relative_value_if_exists(unsigned bus_idx, T *Ui_AudioExpandedView::*control, float value);
 
+       void set_db_value_if_exists(unsigned bus_idx, QDial *Ui_AudioExpandedView::*control, float value_db);
+
        template<class T>
        void click_button_if_exists(unsigned bus_idx, T *Ui_AudioExpandedView::*control);