41 lines
794 B
Bash
Executable File
41 lines
794 B
Bash
Executable File
#!/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
|