aboutsummaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authordec05eba <dec05eba@protonmail.com>2024-11-20 20:17:09 +0100
committerdec05eba <dec05eba@protonmail.com>2024-11-20 20:17:09 +0100
commit520687cd3f48ee2ecb4a6d2890fb9c25939f1373 (patch)
treeb438bef702947c0ea67abb16594faa868f5727b8 /include
parent2c45fa7254e13c0b76c6decaa71771a1771f86b4 (diff)
Merge audio devices and application audio into one list
Diffstat (limited to 'include')
-rw-r--r--include/Config.hpp2
-rw-r--r--include/gui/SettingsPage.hpp39
-rw-r--r--include/gui/Widget.hpp2
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();