diff --git a/example_config.sh b/example_config.sh new file mode 100644 index 0000000..eddfaf2 --- /dev/null +++ b/example_config.sh @@ -0,0 +1,2 @@ +webpage_path="" # HTML file to write music data to for the webui (can be ommitted) +playlist_path="/mount/deadvey/Music/" # File location for the playlist (required) diff --git a/mpvmusic.sh b/mpvmusic.sh new file mode 100755 index 0000000..076207a --- /dev/null +++ b/mpvmusic.sh @@ -0,0 +1,44 @@ +#!/bin/bash +# +# Dependencies: +# MPV +# exiftool +# jq +# +#set -x + +config_path="$HOME/.config/mpvmusic/config.sh" +if [ -f $config_path ]; then + echo "config exists" +else + install -Dv example_config.sh $config_path +fi +source $config_path +previous_songs_path="" +#find $playlist_path -type f > song_list.txt + +mpv --shuffle --really-quiet $playlist_path --input-ipc-server=/tmp/mpvsocket & +sleep 1 + +while [ 1 == 1 ]; do + path=$(echo '{ "command": ["get_property", "path"] }' | socat - "/tmp/mpvsocket" | jq -r '.data') + if [[ $path != $previous_songs_path ]]; then + clear + name=$(exiftool -Title "$path" | awk -F: '{print $2}') + artist=$(exiftool -Artist "$path" | awk -F: '{print $2}') + + echo Song name: $name + echo Artist: $artist + + if [ -z $webpage_path ]; then + echo "

Currently listening to:

" > $webpage_path + echo Name: $name"
" >> $webpage_path + echo Artist: $artist"
" >> $webpage_path + echo "
" >> $webpage_path + echo "
" >> $webpage_path + echo "
" >> $webpage_path + fi + fi + previous_songs_path=$path + sleep 0.5 +done