mirror of
https://github.com/dewomser/Toot_music_is_playing.git
synced 2026-03-13 16:37:17 +01:00
118 lines
3.3 KiB
Bash
Executable file
118 lines
3.3 KiB
Bash
Executable file
#!/bin/bash
|
|
#//config
|
|
BASEDIR=$(readlink -f "$0" | xargs dirname)
|
|
function urldecode() { : "${*//+/ }"; echo -e "${_//%/\\x}"; }
|
|
unset linkohnecover
|
|
|
|
#list of available player
|
|
list_pl=( "clementine" "vlc" "elisa" "plasma-browser-integration" )
|
|
#active player
|
|
for i in "${list_pl[@]}"
|
|
do
|
|
pl=$(qdbus org.mpris.MediaPlayer2."$i" /org/mpris/MediaPlayer2 org.mpris.MediaPlayer2.Player.PlaybackStatus 2>&1)
|
|
if [ "$pl" == "Playing" ]
|
|
then
|
|
player="$i"
|
|
fi
|
|
done
|
|
|
|
if [ "$player" == "" ]
|
|
then
|
|
exit
|
|
fi
|
|
|
|
#get metadata fromplayer
|
|
#Plasma-browser-integration wget cover
|
|
if [ "$player" == "plasma-browser-integration" ]
|
|
then
|
|
a[6]="$(qdbus org.mpris.MediaPlayer2."$player" /org/mpris/MediaPlayer2 org.mpris.MediaPlayer2.Player.Metadata | grep -E url: | sed -e 's/xesam://g')"
|
|
|
|
lolo4=$(qdbus org.mpris.MediaPlayer2."$player" /org/mpris/MediaPlayer2 org.mpris.MediaPlayer2.Player.Metadata | grep -E artUrl | sed -e 's/mpris:artUrl://g')
|
|
if [ -z "$lolo4" ]; then a[0]="nocover.jpg"
|
|
if [ "${a[6]}" ] && [ -z "${lolo4}" ]; then linkohnecover=1 ;fi
|
|
|
|
else
|
|
lolo3="wget $(qdbus org.mpris.MediaPlayer2."$player" /org/mpris/MediaPlayer2 org.mpris.MediaPlayer2.Player.Metadata | grep -E artUrl | sed -e 's/mpris:artUrl://g')"
|
|
$lolo3 -O cover.jpg
|
|
a[0]=cover.jpg
|
|
fi
|
|
|
|
else
|
|
a[0]="$(qdbus org.mpris.MediaPlayer2."$player" /org/mpris/MediaPlayer2 org.mpris.MediaPlayer2.Player.Metadata | grep -E artUrl: | sed -e 's/mpris:artUrl: file:\/\///g')"
|
|
if [ -z "${a[0]}" ]; then a[0]="nocover.jpg"; fi
|
|
fi
|
|
a[1]="$(qdbus org.mpris.MediaPlayer2."$player" /org/mpris/MediaPlayer2 org.mpris.MediaPlayer2.Player.Metadata | grep -E artist: | sed -e 's/xesam://g')"
|
|
if [ -z "${a[1]}" ]; then a[1]="Artist: ohne"; fi
|
|
|
|
a[2]="$(qdbus org.mpris.MediaPlayer2."$player" /org/mpris/MediaPlayer2 org.mpris.MediaPlayer2.Player.Metadata | grep -E album: | sed -e 's/xesam://g')"
|
|
if [ -z "${a[2]}" ]; then a[2]="Album: ohne"; fi
|
|
|
|
a[4]="$(qdbus org.mpris.MediaPlayer2."$player" /org/mpris/MediaPlayer2 org.mpris.MediaPlayer2.Player.Metadata | grep -E title: | sed -e 's/xesam://g')"
|
|
if [ -z "${a[4]}" ]; then a[4]="Title: ohne"; fi
|
|
|
|
|
|
if [ -z "${a[6]}" ]; then a[6]="Medialink: ohne"; fi
|
|
|
|
#//Bild kopieren
|
|
lolo1=$(urldecode "${a[0]}")
|
|
|
|
convert "$lolo1" -gravity south -background YellowGreen -splice 0x18 -annotate +0+2 'Die Toot_Music-App ist vom @dewomser' "$BASEDIR"/cover.jpg
|
|
|
|
#a[7]="$( ${a[6]} | sed -e 's/youtube/invidious/g')"
|
|
#olo1="$(echo ${a[6]} |sed -e 's/www.youtube.com/invidio.us/g')"
|
|
|
|
## this is buggy ---shellcheck Grrrr#
|
|
# wenn sed Ersatz nicht will. dann diese Zeile
|
|
#lolo1="$(echo "${a[6]}" | sed -e 's/[[:alpha:]]*.youtube.com/invidio.us/g')"
|
|
|
|
# sed Ersatz wegen shelcheck-terror
|
|
lolo3=${a[6]}
|
|
lolo2="${lolo3#*.}"
|
|
lolo1="${lolo2/youtube.com/invidio.us}"
|
|
## buggx end
|
|
|
|
|
|
|
|
# Daten an den Twitterclient
|
|
a[5]="https://www.youtube.com/results?search_query=${a[2]} ${a[4]}"
|
|
lolo="${a[5]// /+}"
|
|
text1=$"ich höre gerade:"
|
|
text="$text1
|
|
${a[4]}
|
|
${a[2]}
|
|
${a[1]}
|
|
Media-player: $player
|
|
Video (geraten): $lolo
|
|
${a[6]}
|
|
$lolo1"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# Nur zur Kontrolle
|
|
echo "$text"
|
|
echo Cover
|
|
echo "${a[@]}"
|
|
|
|
if [ $linkohnecover ]
|
|
then
|
|
echo "link ohne text"
|
|
else
|
|
echo "cover"
|
|
fi
|
|
|
|
|
|
|
|
if [ $linkohnecover ]
|
|
then
|
|
echo "$text" | toot post
|
|
else
|
|
|
|
|
|
#echo -e "Ich höre gerade \n${a[4]}\n${a[2]}\n${a[1]}\n${a[3]}\nAudio-player:$player\nVideo(geraten):$lolo"
|
|
#| toot post --media "cover.jpg"
|
|
echo "$text"| toot post --media "$BASEDIR"/cover.jpg
|
|
fi
|