@@ -771,11 +771,56 @@ ${RED}${RESET} Exit" | launcher "Select Media Action" | sed 's/. //g')"
771
771
if echo " $url " | grep -q " list=RD" || echo " $urlForAll " | grep -q " list=RD" || [ " $( echo " $search_results " | jq ' has("uploader_url") | not' ) " = " true" ]; then
772
772
if [ -n " $urlForAll " ]; then
773
773
cached_playlist=" $CLI_AUTO_GEN_PLAYLISTS /$( generate_sha256 " $urlForAll " ) .m3u8"
774
- [ -s " $cached_playlist " ] || yt-dlp " $urlForAll " --flat-playlist -J | jq ' .entries[].url' -r > " $cached_playlist "
774
+ if ! [ -s " $cached_playlist " ]; then
775
+ _mix_data=$( yt-dlp " $urlForAll " --flat-playlist -J)
776
+ [ -z " $_mix_data " ] && send_notification " Failed to get mix data" && continue
777
+ echo ' #EXTM3U' >> " $cached_playlist "
778
+
779
+ lines=" $( echo " $_mix_data " | jq ' .entries[].url' -r | wc -l) "
780
+ for i in $( seq 1 " $lines " ) ; do
781
+ local _video
782
+ local _title
783
+ local _channel
784
+ local _url
785
+ _video=$( echo " $_mix_data " | jq " .entries[$(( i - 1 )) ]" )
786
+ _title=$( echo " $_video " | jq " .title" -r)
787
+ _channel=$( echo " $_video " | jq ' .channel' -r)
788
+ _url=$( echo " $_video " | jq ' .url' -r)
789
+ echo " #EXTINF:-1,$_title " >> " $cached_playlist "
790
+ echo " $_url " >> " $cached_playlist "
791
+ # echo "#EXTALB:Album Name" >>"$cached_playlist"
792
+ # echo "#EXTGENRE:Genre" >>"$cached_playlist"
793
+ # echo "#EXTGRP:Group Name" >>"$cached_playlist"
794
+ echo " " >> " $cached_playlist "
795
+ done
796
+ fi
775
797
mpv " $cached_playlist "
776
798
else
777
799
cached_playlist=" $CLI_AUTO_GEN_PLAYLISTS /$( generate_sha256 " $url " ) .m3u8"
778
- [ -s " $cached_playlist " ] || yt-dlp " $url " --flat-playlist -J | jq ' .entries[].url' -r > " $cached_playlist "
800
+
801
+ if ! [ -s " $cached_playlist " ]; then
802
+ _mix_data=$( yt-dlp " url" --flat-playlist -J)
803
+ [ -z " $_mix_data " ] && send_notification " Failed to get mix data" && continue
804
+ echo ' #EXTM3U' >> " $cached_playlist "
805
+
806
+ lines=" $( echo " $_mix_data " | jq ' .entries[].url' -r | wc -l) "
807
+ for i in $( seq 1 " $lines " ) ; do
808
+ local _video
809
+ local _title
810
+ local _channel
811
+ local _url
812
+ _video=$( echo " $_mix_data " | jq " .entries[$(( i - 1 )) ]" )
813
+ _title=$( echo " $_video " | jq " .title" -r)
814
+ _channel=$( echo " $_video " | jq ' .channel' -r)
815
+ _url=$( echo " $_video " | jq ' .url' -r)
816
+ echo " #EXTINF:-1,$_title " >> " $cached_playlist "
817
+ echo " $_url " >> " $cached_playlist "
818
+ # echo "#EXTALB:Album Name" >>"$cached_playlist"
819
+ # echo "#EXTGENRE:Genre" >>"$cached_playlist"
820
+ # echo "#EXTGRP:Group Name" >>"$cached_playlist"
821
+ echo " " >> " $cached_playlist "
822
+ done
823
+ fi
779
824
mpv " $cached_playlist "
780
825
fi
781
826
else
@@ -790,11 +835,56 @@ ${RED}${RESET} Exit" | launcher "Select Media Action" | sed 's/. //g')"
790
835
if echo " $url " | grep -q " list=RD" || echo " $urlForAll " | grep -q " list=RD" || [ " $( echo " $search_results " | jq ' has("uploader_url") | not' ) " = " true" ]; then
791
836
if [ -n " $urlForAll " ]; then
792
837
cached_playlist=" $CLI_AUTO_GEN_PLAYLISTS /$( generate_sha256 " $urlForAll " ) .m3u8"
793
- [ -s " $cached_playlist " ] || yt-dlp " $urlForAll " --flat-playlist -J | jq ' .entries[].url' -r > " $cached_playlist "
838
+
839
+ if ! [ -s " $cached_playlist " ]; then
840
+ _mix_data=$( yt-dlp " $urlForAll " --flat-playlist -J)
841
+ [ -z " $_mix_data " ] && send_notification " Failed to get mix data" && continue
842
+ echo ' #EXTM3U' >> " $cached_playlist "
843
+
844
+ lines=" $( echo " $_mix_data " | jq ' .entries[].url' -r | wc -l) "
845
+ for i in $( seq 1 " $lines " ) ; do
846
+ local _video
847
+ local _title
848
+ local _channel
849
+ local _url
850
+ _video=$( echo " $_mix_data " | jq " .entries[$(( i - 1 )) ]" )
851
+ _title=$( echo " $_video " | jq " .title" -r)
852
+ _channel=$( echo " $_video " | jq ' .channel' -r)
853
+ _url=$( echo " $_video " | jq ' .url' -r)
854
+ echo " #EXTINF:-1,$_title " >> " $cached_playlist "
855
+ echo " $_url " >> " $cached_playlist "
856
+ # echo "#EXTALB:Album Name" >>"$cached_playlist"
857
+ # echo "#EXTGENRE:Genre" >>"$cached_playlist"
858
+ # echo "#EXTGRP:Group Name" >>"$cached_playlist"
859
+ echo " " >> " $cached_playlist "
860
+ done
861
+ fi
794
862
mpv " $cached_playlist " --no-video
795
863
else
796
864
cached_playlist=" $CLI_AUTO_GEN_PLAYLISTS /$( generate_sha256 " $url " ) .m3u8"
797
- [ -s " $cached_playlist " ] || yt-dlp " $url " --flat-playlist -J | jq ' .entries[].url' -r > " $cached_playlist "
865
+ if ! [ -s " $cached_playlist " ]; then
866
+ _mix_data=$( yt-dlp " $url " --flat-playlist -J)
867
+ [ -z " $_mix_data " ] && send_notification " Failed to get mix data" && continue
868
+ echo ' #EXTM3U' >> " $cached_playlist "
869
+
870
+ lines=" $( echo " $_mix_data " | jq ' .entries[].url' -r | wc -l) "
871
+ for i in $( seq 1 " $lines " ) ; do
872
+ local _video
873
+ local _title
874
+ local _channel
875
+ local _url
876
+ _video=$( echo " $_mix_data " | jq " .entries[$(( i - 1 )) ]" )
877
+ _title=$( echo " $_video " | jq " .title" -r)
878
+ _channel=$( echo " $_video " | jq ' .channel' -r)
879
+ _url=$( echo " $_video " | jq ' .url' -r)
880
+ echo " #EXTINF:-1,$_title " >> " $cached_playlist "
881
+ echo " $_url " >> " $cached_playlist "
882
+ # echo "#EXTALB:Album Name" >>"$cached_playlist"
883
+ # echo "#EXTGENRE:Genre" >>"$cached_playlist"
884
+ # echo "#EXTGRP:Group Name" >>"$cached_playlist"
885
+ echo " " >> " $cached_playlist "
886
+ done
887
+ fi
798
888
mpv " $cached_playlist " --no-video
799
889
fi
800
890
else
@@ -841,7 +931,29 @@ ${RED}${RESET} Exit" | launcher "Select Media Action" | sed 's/. //g')"
841
931
if echo " $video_url " | grep -q " list=RD" ; then
842
932
video_id=$( echo " $video " | jq ' .id' -r | sed ' s/RD//g' )
843
933
cached_playlist=" $CLI_AUTO_GEN_PLAYLISTS /$( generate_sha256 " https://www.youtube.com/watch?v=${video_id} &list=RD$video_id " ) .m3u8"
844
- [ -s " $cached_playlist " ] || yt-dlp " https://www.youtube.com/watch?v=${video_id} &list=RD$video_id " --flat-playlist -J | jq ' .entries[].url' -r > " $cached_playlist "
934
+ if ! [ -s " $cached_playlist " ]; then
935
+ _mix_data=$( yt-dlp " https://www.youtube.com/watch?v=${video_id} &list=RD$video_id " --flat-playlist -J)
936
+ [ -z " $_mix_data " ] && send_notification " Failed to get mix data" && continue
937
+ echo ' #EXTM3U' >> " $cached_playlist "
938
+
939
+ lines=" $( echo " $_mix_data " | jq ' .entries[].url' -r | wc -l) "
940
+ for i in $( seq 1 " $lines " ) ; do
941
+ local _video
942
+ local _title
943
+ local _channel
944
+ local _url
945
+ _video=$( echo " $_mix_data " | jq " .entries[$(( i - 1 )) ]" )
946
+ _title=$( echo " $_video " | jq " .title" -r)
947
+ _channel=$( echo " $_video " | jq ' .channel' -r)
948
+ _url=$( echo " $_video " | jq ' .url' -r)
949
+ echo " #EXTINF:-1,$_title " >> " $cached_playlist "
950
+ echo " $_url " >> " $cached_playlist "
951
+ # echo "#EXTALB:Album Name" >>"$cached_playlist"
952
+ # echo "#EXTGENRE:Genre" >>"$cached_playlist"
953
+ # echo "#EXTGRP:Group Name" >>"$cached_playlist"
954
+ echo " " >> " $cached_playlist "
955
+ done
956
+ fi
845
957
mpv " $cached_playlist " --no-video
846
958
else
847
959
if ! [ " $PLAYER " = mpv ] || [ " $PLATFORM " = android ]; then
@@ -900,10 +1012,34 @@ ${RED}${RESET} Exit" | launcher "Select Media Action" | sed 's/. //g')"
900
1012
901
1013
video_url=$( echo " $video " | jq ' .url' -r)
902
1014
if echo " $video_url " | grep -q " list=RD" ; then
1015
+ local _mix_data
903
1016
video_id=$( echo " $video " | jq ' .id' -r | sed ' s/RD//g' )
904
1017
905
1018
cached_playlist=" $CLI_AUTO_GEN_PLAYLISTS /$( generate_sha256 " https://www.youtube.com/watch?v=${video_id} &list=RD$video_id " ) .m3u8"
906
- [ -s " $cached_playlist " ] || yt-dlp " https://www.youtube.com/watch?v=${video_id} &list=RD$video_id " --flat-playlist -J | jq ' .entries[].url' -r > " $cached_playlist "
1019
+
1020
+ if ! [ -s " $cached_playlist " ]; then
1021
+ _mix_data=$( yt-dlp " https://www.youtube.com/watch?v=${video_id} &list=RD$video_id " --flat-playlist -J)
1022
+ [ -z " $_mix_data " ] && send_notification " Failed to get mix data" && continue
1023
+ echo ' #EXTM3U' >> " $cached_playlist "
1024
+
1025
+ lines=" $( echo " $_mix_data " | jq ' .entries[].url' -r | wc -l) "
1026
+ for i in $( seq 1 " $lines " ) ; do
1027
+ local _video
1028
+ local _title
1029
+ local _channel
1030
+ local _url
1031
+ _video=$( echo " $_mix_data " | jq " .entries[$(( i - 1 )) ]" )
1032
+ _title=$( echo " $_video " | jq " .title" -r)
1033
+ _channel=$( echo " $_video " | jq ' .channel' -r)
1034
+ _url=$( echo " $_video " | jq ' .url' -r)
1035
+ echo " #EXTINF:-1,$_title " >> " $cached_playlist "
1036
+ echo " $_url " >> " $cached_playlist "
1037
+ # echo "#EXTALB:Album Name" >>"$cached_playlist"
1038
+ # echo "#EXTGENRE:Genre" >>"$cached_playlist"
1039
+ # echo "#EXTGRP:Group Name" >>"$cached_playlist"
1040
+ echo " " >> " $cached_playlist "
1041
+ done
1042
+ fi
907
1043
mpv " $cached_playlist "
908
1044
else
909
1045
if ! [ " $PLAYER " = mpv ] || [ " $PLATFORM " = android ]; then
0 commit comments