Scripts/wr

74 lines
1.3 KiB
Bash
Executable File

#!/usr/bin/env bash
# --- SETTINGS --------------------------------------------
# Comando do player...
PLAYER='mpv --quiet'
# Caminho e arquivo de estações de rádio...
LIST="$HOME/.config/wr/radio"
# Mensagem de voltar...
BACK='VOLTAR PARA OS ESTILOS...'
# Mensagem de sair...
EXIT='SAIR...'
# Prompt PS3, utilizado pelo menu 'select'...
PS3='Digite o número da sua opção: '
# --- FUNCTIONS -------------------------------------------
get_styles() {
echo $(awk -F'|' '{print $1}' $LIST | sort -u)
}
get_stations() {
echo "$(awk -F'|' -v s="$SEL_STYLE" '$1==s {printf "%s\n", $2}' $LIST | sort -u)"
}
styles_menu() {
select style in $EXIT $(get_styles)
do
[[ $REPLY -eq 1 ]] || echo "$style"
break
done
return 0
}
stations_menu() {
OFS="$IFS"
IFS=$'\n'
select station in "$BACK" $(get_stations)
do
echo "$station"
break
done
IFS="$OFS"
return 0
}
play_radio() {
$PLAYER $(awk -F'|' -v s="$SEL_STATION" '$2==s {print $3}' $LIST)
}
# --- MAIN ------------------------------------------------
while :; do
clear
SEL_STYLE=$(styles_menu)
[[ $SEL_STYLE ]] || break
clear
SEL_STATION=$(stations_menu)
[[ $SEL_STATION == "$BACK" ]] || break
done
if [[ $SEL_STATION ]]; then
clear
echo "$SEL_STYLE: $SEL_STATION"
play_radio
fi
exit