dotfiles/bin/radio

101 lines
1.7 KiB
Bash
Executable File

#!/bin/bash
# Listen to a (radio) stream
# @author: Eric Teunis de Boone, edeboone@science.ru.nl
trap "echo Aborted!; exit;" SIGINT SIGTERM
MPLAYER='mplayer'
# ---------------------------------------------
# Radio definitions
# ---------------------------------------------
RADIOS="Jamendo Veronica"
# Jamendo
JAMENDOSTREAMS="Rock Electro Pop Jazz Lounge Classical Relaxation Folk Metal Indie HipHop Country"
JAMENDOURL='http://streaming.radionomy.com/Jam'
# Veronica
VERONICAURL='http://8633.live.streamtheworld.com/VERONICA.mp3'
# Let's go do things
usage() {
cat <<-Usage
usage: $0 [-h|--help] [-b] [-p player] [ -V | -j [${JAMENDOSTREAMS//\ /\|}]]
-h|--help show this help
-p player to use
-j jamendo [GENRE]
-V Radio Veronica
-b put into background
Usage
}
while [[ $# > 0 ]]
do
case "$1" in
-h|--help|--usage)
usage
exit
;;
-b)
echo "backgrounded"
BACKGROUND="\&"
;;
-V|-v)
RADIO="Veronica"
;;
-j)
RADIO="Jamendo"
STREAM=$2
shift
;;
-p)
MPLAYER=$2
shift
;;
esac
shift
done
# choose radio
if [ -z $RADIO ]
then
echo "Which radio?:"
select RADIO in $RADIOS
do
echo "You chose: ${RADIO}"
break
done
fi
# define urls and streams if needed
case $RADIO in
Veronica)
URL=$VERONICAURL
;;
Jamendo)
URL=$JAMENDOURL
STREAMS=$JAMENDOSTREAMS
;;
esac
# if there are streams, check whether we actually use one
if [ -n "$STREAMS" ]
then
if [ -z "$STREAM" ]
then
echo "What stream do you want to listen to:"
select STREAM in $STREAMS;
do
echo "You chose: ${STREAM}"
break
done
elif [[ ! $STREAM =~ $STREAMS ]]
then
echo "Genre must be one of '${STREAMS}'"
exit 1
fi
URL="$URL$STREAM"
fi
# Cue the audio
$MPLAYER "$URL" $BACKGROUND