Update play-lofi

This commit is contained in:
Nicolás A. Ortega Froysa 2025-01-17 14:40:55 +01:00
parent 9bb3049dd8
commit 66b4328a30

View File

@ -1,4 +1,4 @@
#!/bin/sh
#!/bin/bash
# Copyright (C) 2020 Ortega Froysa, Nicolás <nicolas@ortegas.org> All rights reserved.
# Author: Ortega Froysa, Nicolás <nicolas@ortegas.org>
#
@ -37,16 +37,17 @@ Commands:
}
new_link() {
local results=$(curl -s "https://invidio.us/search?q=lofi+radio" |
local results
results=$(curl -s "https://invidious.tube/search?q=lofi+radio" |
grep "<p>.*watch" | tr -d "\n" | tr -s " ")
results=${results//\<p\>\<a href\=\"/\"https:\/\/invidio.us}
results=${results//\<p\>\<a href\=\"/\"https:\/\/invidious.tube}
results=${results//\"\>/\" \"}
results=${results//\<\/a\>\<\/p\>/\" þ }
results=${results::-2} # remove that last separator
# NOTE: I chose þ because never in a million years will that
# character be in the title of a lofi video stream.
IFS="þ" read -r -a streams <<< $results
IFS="þ" read -r -a streams <<< "$results"
echo "Streams:"
local id=1
@ -60,12 +61,12 @@ new_link() {
while [ "$opt" -gt "${#streams[@]}" ] || [ "$opt" -lt "1" ]
do
printf "Selection: "
read opt
read -r opt
done
link=${streams[$opt]}
link=${link//\" \"*/}
link=${link//*\"/}
echo $link > $link_file
echo "$link" > "$link_file"
}
# argument parsing
@ -85,7 +86,7 @@ elif [ "$#" -eq "2" ]
then
if [ "$1" = "set" ]
then
echo "$2" > $link_file
echo "$2" > "$link_file"
exit 0
else
echo "Unknown command '$1 $2'. Run 'play-lofi help' for a list of commands."
@ -104,28 +105,28 @@ then
while [ "$option" != "y" ] && [ "$option" != "n" ]
do
printf "Would you like to create one? [y/n] "
read option
read -r option
done
[ "$option" = "n" ] && exit 1
new_link
echo "New link file created."
fi
link=$(cat $link_file)
link=$(cat "$link_file")
# check if video is available
output=$(curl -s $link | grep "This video is unavailable.")
output=$(curl -s "$link" | grep "This video is unavailable.")
if [ -n "$output" ]
then
echo "The stream link '$link' is unavailable."
while [ "$option" != "y" ] && [ "$option" != "n" ]
do
printf "Would you like to find a new one? [y/n] "
read option
read -r option
done
[ "$option" = "n" ] && exit 1
new_link
echo "New link saved."
fi
mpv --no-video --msg-level=ffmpeg=no $link
mpv --no-video --msg-level=ffmpeg=no "$link"