#!/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