From 3eca2373621b4fbd3189df75ada884861536113a Mon Sep 17 00:00:00 2001 From: dec05eba Date: Sat, 27 Mar 2021 15:54:37 +0100 Subject: bla --- src/VideoPlayer.cpp | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) (limited to 'src/VideoPlayer.cpp') diff --git a/src/VideoPlayer.cpp b/src/VideoPlayer.cpp index 3b93c44..679f5bf 100644 --- a/src/VideoPlayer.cpp +++ b/src/VideoPlayer.cpp @@ -64,7 +64,7 @@ namespace QuickMedia { XCloseDisplay(display); } - VideoPlayer::Error VideoPlayer::launch_video_process(const char *path, sf::WindowHandle _parent_window, const std::string&) { + VideoPlayer::Error VideoPlayer::launch_video_process(const char *path, sf::WindowHandle _parent_window, const std::string&, const std::string &title) { parent_window = _parent_window; if(!tmpnam(ipc_server_path)) { @@ -97,6 +97,10 @@ namespace QuickMedia { else ytdl_format = "--ytdl-format=bestvideo[height<=?" + std::to_string(monitor_height) + "]+bestaudio/best"; + std::string script_opts; + if(!title.empty()) + script_opts = "--script-opts='osc-title=" + title + "'"; + // TODO: Resume playback if the last video played matches the first video played next time QuickMedia is launched args.insert(args.end(), { "mpv", @@ -122,6 +126,9 @@ namespace QuickMedia { if(!resume_playback) args.push_back("--no-resume-playback"); + if(!script_opts.empty()) + args.push_back(script_opts.c_str()); + if(!use_system_mpv_config) { args.insert(args.end(), { "--no-config", /*"--demuxer-max-bytes=40M", "--demuxer-max-back-bytes=20M",*/ @@ -168,12 +175,12 @@ namespace QuickMedia { return Error::OK; } - VideoPlayer::Error VideoPlayer::load_video(const char *path, sf::WindowHandle _parent_window, const std::string &plugin_name) { + VideoPlayer::Error VideoPlayer::load_video(const char *path, sf::WindowHandle _parent_window, const std::string &plugin_name, const std::string &title) { // This check is to make sure we dont change window that the video belongs to. This is not a usecase we will have so // no need to support it for now at least. assert(parent_window == 0 || parent_window == _parent_window); if(video_process_id == -1) - return launch_video_process(path, _parent_window, plugin_name); + return launch_video_process(path, _parent_window, plugin_name, title); Json::Value command_data(Json::arrayValue); command_data.append("loadfile"); -- cgit v1.2.3