Added playlist safety for videos that fail to play

This commit is contained in:
bluesaxman 2022-10-25 16:00:30 -06:00
parent 575cf2705a
commit 03d492c946

View File

@ -199,28 +199,32 @@ $suggestions->set_binding( sub {
}, KEY_ENTER); }, KEY_ENTER);
$suggestions->set_binding( sub { $suggestions->set_binding( sub {
my $video = $watchlist[0]; my $video = $watchlist[0];
unless($video) { return 0; }
$cui->status("Playing Video, controls will resume once video is compelte\n Currently Playing: ".$watchArray[0]); $cui->status("Playing Video, controls will resume once video is compelte\n Currently Playing: ".$watchArray[0]);
my $success=`mpv --script-opts=ytdl_hook-ytdl_path=yt-dlp --ytdl-raw-options=cookies=$cookiesFile,mark-watched=,buffer-size=200M,format='bestvideo[height<=720]+bestaudio/best[height<=720]' --terminal=no https://www.youtube.com/watch?v=$video->{id}`; if (0 == system("mpv --script-opts=ytdl_hook-ytdl_path=yt-dlp --ytdl-raw-options=cookies=$cookiesFile,mark-watched=,buffer-size=200M,format='bestvideo[height<=720]+bestaudio/best[height<=720]' --terminal=no https://www.youtube.com/watch?v=$video->{id}")) {
if($success) { shift(@watchArray);
shift(@watchlist);} shift(@watchlist);
sync2files(); sync2files();
$win->draw(); $win->draw();
$suggestions->draw(); $suggestions->draw();
$wlist->draw(); $wlist->draw();
$cui->status("Playback Complete, video cleared");
} else { } else {
$cui->status("PLAYBACK ERROR: Video not removed for safety."); $cui->status("PLAYBACK ERROR: Video not removed for safety.");
} }
}, "p"); }, "p");
$wlist->set_binding( sub { $wlist->set_binding( sub {
my $video = $watchlist[$wlist->get_active_id()]; my $video = $watchlist[$wlist->get_active_id()];
unless($video) { return 0; }
$cui->status("Playing Video, controls will resume once video is compelte\n Currently Playing: ".$watchArray[$wlist->get_active_id()]); $cui->status("Playing Video, controls will resume once video is compelte\n Currently Playing: ".$watchArray[$wlist->get_active_id()]);
my $success=`mpv --script-opts=ytdl_hook-ytdl_path=yt-dlp --ytdl-raw-options=cookies=$cookiesFile,mark-watched=,buffer-size=200M,format='bestvideo[height<=720]+bestaudio/best[height<=720]' --terminal=no https://www.youtube.com/watch?v=$video->{id}`; if (0 == system("mpv --script-opts=ytdl_hook-ytdl_path=yt-dlp --ytdl-raw-options=cookies=$cookiesFile,mark-watched=,buffer-size=200M,format='bestvideo[height<=720]+bestaudio/best[height<=720]' --terminal=no https://www.youtube.com/watch?v=$video->{id}")) {
if ($success) { splice(@watchArray,$wlist->get_active_id(),1);
splice(@watchlist,$wlist->get_active_id(),1); splice(@watchlist,$wlist->get_active_id(),1);
sync2files(); sync2files();
$win->draw(); $win->draw();
$suggestions->draw(); $suggestions->draw();
$wlist->draw(); $wlist->draw();
$cui->status("Playback Complete, video cleared");
} else { } else {
$cui->status("PLAYBACK ERROR: Video not removed for safety."); $cui->status("PLAYBACK ERROR: Video not removed for safety.");
} }
@ -244,7 +248,7 @@ $suggestions->set_binding( sub {
$cui->status("Video: ".$vid->{title}."\nChannel: ".$vid->{channel}."\nRuntime: ".$vid->{runtime}."\nPublished: ".$vid->{published}."\nURL: https://www.youtube.com/watch?v=".$vid->{id}); $cui->status("Video: ".$vid->{title}."\nChannel: ".$vid->{channel}."\nRuntime: ".$vid->{runtime}."\nPublished: ".$vid->{published}."\nURL: https://www.youtube.com/watch?v=".$vid->{id});
}, "i"); }, "i");
$wlist->set_binding( sub { $wlist->set_binding( sub {
my $vid = $videos[$wlist->get_active_id()]; my $vid = $watchlist[$wlist->get_active_id()];
$cui->status("Video: ".$vid->{title}."\nChannel: ".$vid->{channel}."\nRuntime: ".$vid->{runtime}."\nPublished: ".$vid->{published}."\nURL: https://www.youtube.com/watch?v=".$vid->{id}); $cui->status("Video: ".$vid->{title}."\nChannel: ".$vid->{channel}."\nRuntime: ".$vid->{runtime}."\nPublished: ".$vid->{published}."\nURL: https://www.youtube.com/watch?v=".$vid->{id});
} , "i"); } , "i");