diff options
Diffstat (limited to 'cmusShow.sh')
-rwxr-xr-x | cmusShow.sh | 33 |
1 files changed, 24 insertions, 9 deletions
diff --git a/cmusShow.sh b/cmusShow.sh index b61e908..4382e68 100755 --- a/cmusShow.sh +++ b/cmusShow.sh @@ -21,11 +21,20 @@ sToTime() { echo "${min}:${s}" } -# Album art info +getAlbumIcon() { + albumIcon="/tmp/$(echo "$playingFile" | base64 -w0).png" + ffmpeg -y -i "$playingFile" -an -vf scale="${iconSize}:${iconSize}" "$albumIcon" + echo "$albumIcon" +} + +# Song info playingFile="$(getCmusInfo 'file' '2')" -albumArt="/tmp/$(echo "$playingFile" | base64 -w0).png" -ffmpeg -y -i "$playingFile" -an -vf scale="${iconSize}:${iconSize}" "$albumArt" +title="πΆ $(getCmusInfo 'tag title' '3') πΆ" +artist="π§βπ€ $(getCmusInfo 'tag artist' '3')" +album="$(getCmusInfo 'tag album' '3') π½" +duration="$(getCmusInfo 'duration' '2')" +albumIcon="$(getAlbumIcon)" # Bluetooth info @@ -40,25 +49,31 @@ if bluetoothctl info; then bluetoothInfo="\n${device} - ${battery}" fi +playingIcon='' i=0 while [ "$i" -lt "$steps" ]; do - playingIcon='' + currentlyPlayingFile="$(getCmusInfo 'file' '2')" + if [ "$currentlyPlayingFile" != "$playingFile" ]; then + albumIcon="$(getAlbumIcon)" + title="πΆ $(getCmusInfo 'tag title' '3') πΆ" + artist="π§βπ€ $(getCmusInfo 'tag artist' '3')" + album="$(getCmusInfo 'tag album' '3') π½" + duration="$(getCmusInfo 'duration' '2')" + playingFile="$currentlyPlayingFile" + fi + [ "$(getCmusInfo 'status' 2)" = 'playing' ] && playingIcon='βΆοΈ' [ "$(getCmusInfo 'status' 2)" = 'paused' ] && playingIcon='βΈοΈ' - title="πΆ $(getCmusInfo 'tag title' '3') πΆ" - artist="π§βπ€ $(getCmusInfo 'tag artist' '3')" - album="$(getCmusInfo 'tag album' '3') π½" position="$(getCmusInfo 'position' '2')" - duration="$(getCmusInfo 'duration' '2')" percentage="$(awk "BEGIN { print int(${position}/${duration}*100) }")" dunstify \ -r "$(dunstifyIDs.sh cmusShow)" \ -t 1000 \ - -i "$albumArt" \ + -i "$albumIcon" \ -h "int:value:${percentage}" \ "${title}" \ "${artist} - ${album}\n${playingIcon} $(sToTime "${position}") - $(sToTime "${duration}")${bluetoothInfo}" |