From 3d51801a90f5045871e575ed896c0be7619ba1f6 Mon Sep 17 00:00:00 2001 From: dec05eba Date: Mon, 4 Nov 2024 20:53:00 +0100 Subject: Mention where the video is saved in notification --- scripts/notify-saved-name.sh | 18 ++++++++++++++++++ scripts/save-video-in-game-folder.sh | 4 ++-- src/Overlay.cpp | 31 +++++++------------------------ 3 files changed, 27 insertions(+), 26 deletions(-) create mode 100755 scripts/notify-saved-name.sh diff --git a/scripts/notify-saved-name.sh b/scripts/notify-saved-name.sh new file mode 100755 index 0000000..09ae9d2 --- /dev/null +++ b/scripts/notify-saved-name.sh @@ -0,0 +1,18 @@ +#!/bin/sh + +[ "$GSR_SHOW_SAVED_NOTIFICATION" != "1" ] && exit 0 + +filepath="$1" +type="$2" + +file_name="$(basename "$filepath")" +file_dir="$(dirname "$filepath")" + +case "$type" in + "regular") + gsr-notify --text "Saved recording to '$file_name'" --timeout 3.0 --icon record --bg-color "$GSR_NOTIFY_BG_COLOR" + ;; + "replay") + gsr-notify --text "Saved replay to '$file_name'" --timeout 3.0 --icon replay --bg-color "$GSR_NOTIFY_BG_COLOR" + ;; +esac \ No newline at end of file diff --git a/scripts/save-video-in-game-folder.sh b/scripts/save-video-in-game-folder.sh index 4dafa03..694c9d8 100755 --- a/scripts/save-video-in-game-folder.sh +++ b/scripts/save-video-in-game-folder.sh @@ -17,9 +17,9 @@ mv "$filepath" "$new_filepath" case "$type" in "regular") - gsr-notify --text "Saved recording to a folder called '$game_name'" --timeout 3.0 --icon record --bg-color "$GSR_NOTIFY_BG_COLOR" + gsr-notify --text "Saved recording to '$game_name/$file_name'" --timeout 3.0 --icon record --bg-color "$GSR_NOTIFY_BG_COLOR" ;; "replay") - gsr-notify --text "Saved replay to a folder called '$game_name'" --timeout 3.0 --icon replay --bg-color "$GSR_NOTIFY_BG_COLOR" + gsr-notify --text "Saved replay to '$game_name/$file_name'" --timeout 3.0 --icon replay --bg-color "$GSR_NOTIFY_BG_COLOR" ;; esac \ No newline at end of file diff --git a/src/Overlay.cpp b/src/Overlay.cpp index 7526b2b..4028410 100644 --- a/src/Overlay.cpp +++ b/src/Overlay.cpp @@ -236,10 +236,6 @@ namespace gsr { /* Ignore... */ } gpu_screen_recorder_process = -1; - - // TODO: Show this with a slight delay to make sure it doesn't show up in the video - if(recording_status == RecordingStatus::RECORD && config.record_config.show_video_saved_notifications && !config.record_config.save_video_in_game_folder) - show_notification("Recording has been saved", 3.0, mgl::Color(255, 255, 255), get_color_theme().tint_color, NotificationType::RECORD); } } @@ -727,10 +723,7 @@ namespace gsr { } case RecordingStatus::RECORD: { update_ui_recording_stopped(); - if(exit_code == 0) { - if(config.record_config.show_video_saved_notifications && !config.record_config.save_video_in_game_folder) - show_notification("Recording has been saved", 3.0, mgl::Color(255, 255, 255), get_color_theme().tint_color, NotificationType::RECORD); - } else { + if(exit_code != 0) { fprintf(stderr, "Warning: gpu-screen-recorder (%d) exited with exit status %d\n", (int)gpu_screen_recorder_process, exit_code); show_notification("Failed to start/save recording", 3.0, mgl::Color(255, 0, 0), mgl::Color(255, 0, 0), NotificationType::RECORD); } @@ -869,8 +862,6 @@ namespace gsr { return; kill(gpu_screen_recorder_process, SIGUSR1); - if(config.replay_config.show_replay_saved_notifications && !config.replay_config.save_video_in_game_folder) - show_notification("Replay saved", 3.0, mgl::Color(255, 255, 255), get_color_theme().tint_color, NotificationType::REPLAY); } void Overlay::on_press_start_replay(bool disable_notification) { @@ -972,11 +963,9 @@ namespace gsr { } setenv("GSR_SHOW_SAVED_NOTIFICATION", config.replay_config.show_replay_saved_notifications ? "1" : "0", true); - const std::string save_video_in_game_folder = resources_path + "scripts/save-video-in-game-folder.sh"; - if(config.replay_config.save_video_in_game_folder) { - args.push_back("-sc"); - args.push_back(save_video_in_game_folder.c_str()); - } + const std::string script_to_run_on_save = resources_path + (config.replay_config.save_video_in_game_folder ? "scripts/save-video-in-game-folder.sh" : "scripts/notify-saved-name.sh"); + args.push_back("-sc"); + args.push_back(script_to_run_on_save.c_str()); args.push_back(nullptr); @@ -1033,10 +1022,6 @@ namespace gsr { gpu_screen_recorder_process = -1; recording_status = RecordingStatus::NONE; update_ui_recording_stopped(); - - // TODO: Show this with a slight delay to make sure it doesn't show up in the video - if(config.record_config.show_video_saved_notifications && !config.record_config.save_video_in_game_folder) - show_notification("Recording has been saved", 3.0, mgl::Color(255, 255, 255), get_color_theme().tint_color, NotificationType::RECORD); return; } @@ -1101,11 +1086,9 @@ namespace gsr { } setenv("GSR_SHOW_SAVED_NOTIFICATION", config.record_config.show_video_saved_notifications ? "1" : "0", true); - const std::string save_video_in_game_folder = resources_path + "scripts/save-video-in-game-folder.sh"; - if(config.record_config.save_video_in_game_folder) { - args.push_back("-sc"); - args.push_back(save_video_in_game_folder.c_str()); - } + const std::string script_to_run_on_save = resources_path + (config.record_config.save_video_in_game_folder ? "scripts/save-video-in-game-folder.sh" : "scripts/notify-saved-name.sh"); + args.push_back("-sc"); + args.push_back(script_to_run_on_save.c_str()); args.push_back(nullptr); -- cgit v1.2.3