41 lines
794 B
Bash
41 lines
794 B
Bash
|
#!/bin/bash
|
||
|
! pgrep mpd && mpd
|
||
|
lastFile=/tmp/radioLast.$USER
|
||
|
|
||
|
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 -l $l -width -30 -location 7 -theme android_notification -p "Radio" -no-custom -select $last`
|
||
|
|
||
|
if [ ! -z "$choice" ]; then
|
||
|
mpc clear
|
||
|
mpc add ${urls[choice]}
|
||
|
mpc play
|
||
|
echo ${names[choice]} > $lastFile
|
||
|
fi
|