#!/bin/sh # vim: shiftwidth=4 tabstop=4 noexpandtab # constants data_repo="${HOME}/.local/share/mydata" data_rel="tables/radio.tsv" data_abs="${data_repo}/${data_rel}" # read station from command line arguments station="$1" # set a handler for keyboard interrupts trap 'exit 0' 2 15 # check dependency and warn user if necessary if ! command -v mpv > /dev/null 2>&1 then echo 'You have to install mpv (e.g. sudo pacman -S mpv mpv-mpris)' exit 1 fi # check if data file exists if ! [ -f "${data_abs}" ] then echo "Data file '""${data_abs}""' not found." exit 1 fi # translate sender name to URL address="$(grep "${station}" "${data_abs}" | awk -F '\t' '{print $2}')" if [ "${address}" = "" ] then echo "Could not translate station ${station} to URL." exit 1 fi # stream from address echo "Streaming ${station} from ${address}." mpv "${address}"