diff options
author | dec05eba <dec05eba@protonmail.com> | 2024-11-20 20:17:09 +0100 |
---|---|---|
committer | dec05eba <dec05eba@protonmail.com> | 2024-11-20 20:17:09 +0100 |
commit | 520687cd3f48ee2ecb4a6d2890fb9c25939f1373 (patch) | |
tree | b438bef702947c0ea67abb16594faa868f5727b8 /include | |
parent | 2c45fa7254e13c0b76c6decaa71771a1771f86b4 (diff) |
Merge audio devices and application audio into one list
Diffstat (limited to 'include')
-rw-r--r-- | include/Config.hpp | 2 | ||||
-rw-r--r-- | include/gui/SettingsPage.hpp | 39 | ||||
-rw-r--r-- | include/gui/Widget.hpp | 2 |
3 files changed, 18 insertions, 25 deletions
diff --git a/include/Config.hpp b/include/Config.hpp index cfb64df..6044ab8 100644 --- a/include/Config.hpp +++ b/include/Config.hpp @@ -25,9 +25,7 @@ namespace gsr { bool merge_audio_tracks = true; bool application_audio_invert = false; bool change_video_resolution = false; - std::string audio_type_view = "audio_devices"; std::vector<std::string> audio_tracks; - std::vector<std::string> application_audio; std::string color_range = "limited"; std::string video_quality = "very_high"; std::string video_codec = "auto"; diff --git a/include/gui/SettingsPage.hpp b/include/gui/SettingsPage.hpp index 019de80..29f6c1a 100644 --- a/include/gui/SettingsPage.hpp +++ b/include/gui/SettingsPage.hpp @@ -29,7 +29,7 @@ namespace gsr { SettingsPage(const SettingsPage&) = delete; SettingsPage& operator=(const SettingsPage&) = delete; - void load(); + void load(const GsrInfo &gsr_info); void save(); void on_navigate_away_from_page() override; private: @@ -53,18 +53,16 @@ namespace gsr { std::unique_ptr<Button> create_remove_audio_device_button(List *audio_device_list_ptr); std::unique_ptr<List> create_audio_device(); std::unique_ptr<Button> create_add_audio_device_button(); - std::unique_ptr<List> create_audio_device_track_section(); - std::unique_ptr<CheckBox> create_merge_audio_tracks_checkbox(); - std::unique_ptr<RadioButton> create_audio_type_button(); - std::unique_ptr<Widget> create_audio_device_section(); - std::unique_ptr<List> create_application_audio_track_section(); - std::unique_ptr<CheckBox> create_application_audio_invert_checkbox(); - std::unique_ptr<List> create_application_audio_section(); std::unique_ptr<ComboBox> create_application_audio_selection_combobox(); - std::unique_ptr<Button> create_remove_application_audio_button(List *app_audio_item); std::unique_ptr<List> create_application_audio(); std::unique_ptr<List> create_custom_application_audio(); - std::unique_ptr<List> create_add_application_audio_buttons(); + std::unique_ptr<Button> create_add_application_audio_button(); + std::unique_ptr<Button> create_add_custom_application_audio_button(); + std::unique_ptr<List> create_add_audio_buttons(); + std::unique_ptr<List> create_audio_track_track_section(); + std::unique_ptr<CheckBox> create_merge_audio_tracks_checkbox(); + std::unique_ptr<CheckBox> create_application_audio_invert_checkbox(); + std::unique_ptr<Widget> create_audio_track_section(); std::unique_ptr<Widget> create_audio_section(); std::unique_ptr<List> create_video_quality_box(); std::unique_ptr<Entry> create_video_bitrate_entry(); @@ -109,12 +107,11 @@ namespace gsr { std::unique_ptr<List> create_stream_container_section(); void add_stream_widgets(); - void load_audio_device_tracks(RecordOptions &record_options); - void load_application_audio_tracks(RecordOptions &record_options); - void load_common(RecordOptions &record_options); - void load_replay(); - void load_record(); - void load_stream(); + void load_audio_tracks(const RecordOptions &record_options, const GsrInfo &gsr_info); + void load_common(RecordOptions &record_options, const GsrInfo &gsr_info); + void load_replay(const GsrInfo &gsr_info); + void load_record(const GsrInfo &gsr_info); + void load_stream(const GsrInfo &gsr_info); void save_common(RecordOptions &record_options); void save_replay(); @@ -145,14 +142,10 @@ namespace gsr { Entry *framerate_entry_ptr = nullptr; Entry *video_bitrate_entry_ptr = nullptr; List *video_bitrate_list_ptr = nullptr; - List *audio_devices_list_ptr = nullptr; - List *audio_devices_section_list_ptr = nullptr; - Label *audio_devices_label_ptr = nullptr; - List *application_audio_section_list_ptr = nullptr; - LineSeparator *audio_type_line_sep_ptr = nullptr; + List *audio_track_list_ptr = nullptr; + Button *add_application_audio_button_ptr = nullptr; + Button *add_custom_application_audio_button_ptr = nullptr; CheckBox *merge_audio_tracks_checkbox_ptr = nullptr; - RadioButton *audio_type_radio_button_ptr = nullptr; - List *application_audio_list_ptr = nullptr; CheckBox *application_audio_invert_checkbox_ptr = nullptr; CheckBox *change_video_resolution_checkbox_ptr = nullptr; ComboBox *color_range_box_ptr = nullptr; diff --git a/include/gui/Widget.hpp b/include/gui/Widget.hpp index 9a18722..57424cd 100644 --- a/include/gui/Widget.hpp +++ b/include/gui/Widget.hpp @@ -45,6 +45,8 @@ namespace gsr { Alignment get_vertical_alignment() const; void set_visible(bool visible); + + void *userdata = nullptr; protected: void set_widget_as_selected_in_parent(); void remove_widget_as_selected_in_parent(); |