-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathradio
executable file
·70 lines (69 loc) · 1.94 KB
/
radio
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
#!/bin/bash
# Edgar Uriel Domínguez Espinoza
help() {
echo "Script que sintoniza un streaming"
echo "radio [OPCIONES]"
echo "Opciones:"
echo "-m <MODE> Opciones: silent - Graba todo el tiempo"
echo " capture (default) - Comienza la grabación al teclear C"
echo " y termina presionando C nuevamente. OJO:"
echo " ¡PRESIONAR NUEVAMENTE REESCRIBIRÁ EL ARCHIVO!"
echo "-t <TIME> Tiempo de duración de la ejecución. Dado en segundos"
echo " Valores clave: 1[m]=6[s] 1[h]=3600[s]"
echo " Convertir HH:MM:SS a seg en Bash:"
echo ' echo $(($(date -ud "HH:MM:SS" +%s)%86400))'
echo "-f <FILE> Archivo donde se guardará la grabación. El formato será:"
echo " <FILE>-YYYYMMDD-HHMMSS"
echo "-s <URL> Estación a sintonizar, default: http://74.86.83.83:8130 (Opus IMER 94.5)"
exit 0
}
set_mode() {
if [[ $MODE = "silent" ]]
then
OPTIONS="-dumpstream"
elif [[ $MODE = "capture" || -z $MODE ]]
then
OPTIONS="-capture"
else
help
fi
}
# TODO: Aceptar valores HH:MM:SS
set_time() {
if [[ -z $TIME ]]
then
OPTIONS="$OPTIONS"
elif [[ $TIME -gt 0 ]]
then
OPTIONS="$OPTIONS -endpos $TIME"
else
help
fi
}
# Begin Script
PLAYER=mplayer
STATION=http://74.86.83.83:8130
FILE=Opus
if [[ $1 == "-h" ]]; then
help
else
while getopts m:t:s:f: option
do
case "${option}"
in
m) MODE=${OPTARG} ;;
t) TIME=${OPTARG} ;;
s) STATION=${OPTARG} ;;
f) FILE=${OPTARG} ;;
esac
done
set_mode
set_time
FILE_NAME=$HOME/Desktop/$FILE-`date +%Y%m%d-%H%M%S`
DEFAULT_OPTS="-dumpfile ${FILE_NAME} $STATION"
# echo $PLAYER $OPTIONS $DEFAULT_OPTS #Ver que comando se ejecuta
exec $PLAYER $OPTIONS $DEFAULT_OPTS
exit 0
fi
# End Script