aboutsummaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authordec05eba <dec05eba@protonmail.com>2024-09-11 22:09:40 +0200
committerdec05eba <dec05eba@protonmail.com>2024-09-11 22:09:40 +0200
commitbeb4441be84b92cc748c92dc6839279303cd27a4 (patch)
tree4e6b3813fa3160f037cacee05a62a33a21a652e4 /include
parent7d6732a7d3d286507ce11565bd4736fa3b94659c (diff)
Fix loading audio tracks incorrect config, finish recording option
Diffstat (limited to 'include')
-rw-r--r--include/Config.hpp20
-rw-r--r--include/Overlay.hpp8
-rw-r--r--include/gui/SettingsPage.hpp2
3 files changed, 19 insertions, 11 deletions
diff --git a/include/Config.hpp b/include/Config.hpp
index 63e7984..549696e 100644
--- a/include/Config.hpp
+++ b/include/Config.hpp
@@ -13,17 +13,17 @@ namespace gsr {
};
struct RecordOptions {
- std::string record_area_option;
+ std::string record_area_option = "screen";
int32_t record_area_width = 0;
int32_t record_area_height = 0;
int32_t fps = 60;
bool merge_audio_tracks = true;
std::vector<std::string> audio_tracks;
- std::string color_range;
- std::string video_quality;
- std::string video_codec;
- std::string audio_codec;
- std::string framerate_mode;
+ std::string color_range = "limited";
+ std::string video_quality = "very_high";
+ std::string video_codec = "auto";
+ std::string audio_codec = "opus";
+ std::string framerate_mode = "vfr";
bool advanced_view = false;
bool overclock = false;
bool record_cursor = true;
@@ -45,14 +45,14 @@ namespace gsr {
struct CustomStreamConfig {
std::string url;
- std::string container;
+ std::string container = "flv";
};
struct StreamingConfig {
RecordOptions record_options;
bool show_streaming_started_notifications = true;
bool show_streaming_stopped_notifications = true;
- std::string streaming_service;
+ std::string streaming_service = "twitch";
YoutubeStreamConfig youtube;
TwitchStreamConfig twitch;
CustomStreamConfig custom;
@@ -64,7 +64,7 @@ namespace gsr {
bool show_recording_started_notifications = true;
bool show_video_saved_notifications = true;
std::string save_directory;
- std::string container;
+ std::string container = "mp4";
ConfigHotkey start_stop_recording_hotkey;
ConfigHotkey pause_unpause_recording_hotkey;
};
@@ -75,7 +75,7 @@ namespace gsr {
bool show_replay_stopped_notifications = true;
bool show_replay_saved_notifications = true;
std::string save_directory;
- std::string container;
+ std::string container = "mp4";
int32_t replay_time = 60;
ConfigHotkey start_stop_recording_hotkey;
ConfigHotkey save_recording_hotkey;
diff --git a/include/Overlay.hpp b/include/Overlay.hpp
index de5fa79..bb366e7 100644
--- a/include/Overlay.hpp
+++ b/include/Overlay.hpp
@@ -13,6 +13,8 @@
#include <mglpp/graphics/Text.hpp>
namespace gsr {
+ class DropdownButton;
+
class Overlay {
public:
Overlay(mgl::Window &window, std::string resources_path, GsrInfo gsr_info, egl_functions egl_funcs, mgl::Color bg_color);
@@ -28,6 +30,9 @@ namespace gsr {
void toggle_show();
bool is_open() const;
private:
+ void on_press_start_replay(const std::string &id);
+ void on_press_start_record(const std::string &id);
+ void on_press_start_stream(const std::string &id);
bool update_compositor_texture(const mgl_monitor *monitor);
private:
mgl::Window &window;
@@ -52,5 +57,8 @@ namespace gsr {
uint64_t default_cursor = 0;
pid_t gpu_screen_recorder_process = -1;
std::optional<Config> config;
+ DropdownButton *replay_dropdown_button_ptr = nullptr;
+ DropdownButton *record_dropdown_button_ptr = nullptr;
+ DropdownButton *stream_dropdown_button_ptr = nullptr;
};
} \ No newline at end of file
diff --git a/include/gui/SettingsPage.hpp b/include/gui/SettingsPage.hpp
index ebbc98c..e9102da 100644
--- a/include/gui/SettingsPage.hpp
+++ b/include/gui/SettingsPage.hpp
@@ -86,7 +86,7 @@ namespace gsr {
std::unique_ptr<List> create_stream_container_section();
void add_stream_widgets();
- void load_audio_tracks();
+ void load_audio_tracks(RecordOptions &record_options);
void load_common(RecordOptions &record_options);
void load_replay();
void load_record();