Initial commit.
This commit is contained in:
parent
c945869e6f
commit
cf0cf0aad4
58
radio.sh
Executable file
58
radio.sh
Executable file
@ -0,0 +1,58 @@
|
||||
#!/bin/bash
|
||||
|
||||
# To add your own stations, put them in ~/.config/radio.sh.conf
|
||||
if [[ -r "${XDG_CONFIG_HOME:-$HOME/.config}/radio.sh.conf" ]]; then
|
||||
source "${XDG_CONFIG_HOME:-$HOME/.config}/radio.sh.conf"
|
||||
else
|
||||
declare -A stations=(
|
||||
[NS Hit Radio <EDM>]="https://listen.nshitradio.com/"
|
||||
[The Metal Plague <Death Metal>]="http://46.4.40.246:8386/"
|
||||
[The True Monster <horror Punk>]="http://procyon.shoutca.st:8428/stream?fbclid=IwAR37SD7AucBHp-woBj7QyoeQPzQkCTW2BBI-CR1Q9W1hIMvIJhV9iQRQYMs"
|
||||
[Thunder Rock <Classic Rock>]="http://ice10.securenetsystems.net/KTHU2"
|
||||
)
|
||||
fi
|
||||
|
||||
|
||||
if ! command -v mpv &> /dev/null ; then
|
||||
echo "Please install mpv."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Handle subprocesses that may not close with the main program.
|
||||
trap "trap - SIGTERM && kill -- -$$" SIGINT SIGTERM EXIT
|
||||
|
||||
# Dialog accessibility
|
||||
export DIALOGOPTS='--no-lines --visit-items'
|
||||
|
||||
for i in "${!stations[@]}" ; do
|
||||
menuList+=("${stations[$i]}" "${i}")
|
||||
done
|
||||
|
||||
url="$(dialog --clear \
|
||||
--backtitle "Storm radio" \
|
||||
--no-tags \
|
||||
--extra-button \
|
||||
--extra-label "Record and Listen" \
|
||||
--ok-label "Listen" \
|
||||
--cancel-label "Exit" \
|
||||
--menu "Select a radio station" -1 -1 -1 "${menuList[@]}" --stdout)"
|
||||
menuCode=$?
|
||||
if [[ $menuCode -eq 1 ]]; then
|
||||
exit 0
|
||||
fi
|
||||
|
||||
if [[ ${menuCode} -eq 3 ]]; then
|
||||
if ! command -v streamripper &> /dev/null ; then
|
||||
echo "Please install streamripper."
|
||||
exit 1
|
||||
fi
|
||||
mkdir -p ~/stream
|
||||
streamripper "${url}" --quiet -r -z -d ~/stream &
|
||||
echo "Starting stream recording..."
|
||||
sleep 3
|
||||
mpv --quiet --no-video --volume="${1:-100}" "http://localhost:8000"
|
||||
else
|
||||
mpv --quiet --no-video --volume="${1:-100}" "${url}"
|
||||
fi
|
||||
|
||||
exit 0
|
Loading…
Reference in New Issue
Block a user