tooner/tooner.sh
2021-09-10 16:47:20 -05:00

44 lines
1.0 KiB
Bash
Executable File

#!/bin/bash
! pgrep mpd > /dev/null && mpd
lastFile=/tmp/radioLast.$USER
nowPlaying=`mpc current -f "[%artist% - ]%title%"`
nowPlaying=`echo $nowPlaying | sed 's/&/\&amp;/g; s/</\&lt;/g; s/>/\&gt;/g; s/"/\&quot;/g; s/'"'"'/\&#39;/g'`
width=$((${#nowPlaying} > 30 ? ${#nowPlaying} : 30))
if [ $# -eq 0 ]; then
stationFile=~/.stations
else
stationFile=$1
fi
stations=`cat $stationFile`
if [ -f "$lastFile" ]; then
last="$(cat $lastFile)"
else
touch $lastFile
chmod 660 $lastFile
fi
names=()
urls=()
IFS=$'\n'
for item in $stations; do
if [ "$(echo $item | head -c 1)" != "#" ]; then
IFS='|' read -r name url <<< "$item"
names+=("$name")
urls+=("$url")
fi
done
[ "${#names[@]}" -lt 10 ] && l=${#names[@]} || l=10
choice=`echo "${names[*]}" | rofi -i -dmenu -format i -mesg "<small>$nowPlaying</small>" -l $l -width -$width -location 7 -p "Radio" -no-custom -select $last`
if [ ! -z "$choice" ]; then
mpc clear
mpc add ${urls[choice]}
mpc play
echo ${names[choice]} > $lastFile
fi