|
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495 |
- #!/bin/bash
-
- SERIAL=/dev/ttyUSB0
-
- VOLUME_CONTROL="Line Out"
-
- RADIO1_URL="http://us2.internet-radio.com:8443/stream"
- RADIO2_URL="https://rozhlas.stream/ddur_mp3_128.mp3"
- RADIO3_URL="https://rozhlas.stream/brno_mp3_128.mp3"
- #https://rozhlas.stream/radiozurnal_aac_128.aac
- RADIO4_URL="https://ice3.abradio.cz/croretro128.mp3"
-
- killStream() {
- kill `ps aux | grep "$1" | awk '{print $2}'` 2>/dev/null
- }
-
- playStream() {
- mplayer "$1" </dev/null >/dev/null 2>&1 &
- }
-
- handleStream() {
- STREAM=$1
- STATE=$2
- #killStream "$STREAM"
- if [ $STATE = 1 ]; then
- playStream "$STREAM"
- echo "Started radio: $STREAM"
- else
- echo "Stopped radio: $STREAM"
- fi
- }
-
- execVolume() {
- VOLUME_RAW=`echo "scale=4; $1/255*100" | bc`
- VOLUME=`printf "%.0f%%" "$VOLUME_RAW"`
- amixer sset "$VOLUME_CONTROL" "$VOLUME" >/dev/null &
- echo Volume set to $VOLUME
- #echo Volume set to $1
- }
-
-
- execButton() {
- case $1 in
- 1)
- handleStream "$RADIO1_URL" "$2"
- ;;
- 2)
- handleStream "$RADIO2_URL" "$2"
- ;;
- 3)
- handleStream "$RADIO3_URL" "$2"
- ;;
- 4)
- handleStream "$RADIO4_URL" "$2"
- ;;
- *)
- echo "Unknown button '$1'." >&2
- ;;
- esac
- }
-
- process_event() {
- case $1 in
- volume)
- execVolume "$2"
- ;;
-
- button*)
- NUM=`echo $1 | tr -dc [:digit:]`
- execButton "$NUM" "$2"
- ;;
-
- "")
- ;;
-
- *)
- echo "Unknown event '$1'." >&2
- ;;
- esac
- }
-
- consume_events() {
- while true; do
- IFS=$'\r'= read EVENT VALUE
- if [ $? == 0 ]; then
- #echo EVENT: $EVENT = $VALUE
- process_event "$EVENT" "$VALUE"
- else
- echo Invalid input. >&2
- fi
- done
- }
-
- cat $SERIAL | consume_events
-
|