#!/usr/bin/env bash # __ __ _____ # / \ / \ / __ \ # / /\ \ / /\ \ | |__| | Manuel Prinz (MP) # / / \ \/ / \ \ | ___/ # / / \__/ \ \| | # /_/ \_\_| # # description: Webradio with rofi and mpv # last change: 25.12.2025 # defining variables for radiostations dasding="DASDING" einslive="1LIVE" einslivediggi="1LIVEdiggi" sunshinelive="SUNSHINE_LIVE" swr3="SWR3" wdr2="WDR2" stop="beenden" # other variables path_logo="/home/$USER/Nextcloud/webradio" # Get answer from user via rofi selected_option=$(echo "$dasding $einslive $einslivediggi $sunshinelive $swr3 $wdr2 $stop" | rofi -dmenu\ -i\ -p "Webradio"\ -config "~/.config/rofi/webradio.rasi"\ -line-margin 3\ -line-padding 10) # Do something based on selected radiostation if [ "$selected_option" == "$dasding" ] then killall mpv mpv https://liveradio.swr.de/d9zadj3/dasding/ --input-ipc-server=/tmp/mpv & echo DASDING dasding_logo.png > /tmp/radiostation elif [ "$selected_option" == "$einslive" ] then killall mpv mpv http://wdr-1live-live.icecast.wdr.de/wdr/1live/live/mp3/128/stream.mp3 --input-ipc-server=/tmp/mpv & echo 1LIVE einslive_logo.jpg > /tmp/radiostation elif [ "$selected_option" == "$einslivediggi" ] then killall mpv mpv http://wdr-1live-diggi.icecast.wdr.de/wdr/1live/diggi/mp3/128/stream.mp3 --input-ipc-server=/tmp/mpv & echo 1LIVE_DIGGI einslivediggi_logo.png > /tmp/radiostation elif [ "$selected_option" == "$swr3" ] then killall mpv mpv https://liveradio.swr.de/sw282p3/swr3/play.mp3 --input-ipc-server=/tmp/mpv & echo SWR3 swr3_logo.jpg > /tmp/radiostation elif [ "$selected_option" == "$sunshinelive" ] then killall mpv mpv https://stream.sunshine-live.de/2000er/mp3-192/stream.sunshine-live.de --input-ipc-server=/tmp/mpv & echo SUNSHINE_LIVE sunshinelive_logo.png > /tmp/radiostation elif [ "$selected_option" == "$wdr2" ] then killall mpv mpv http://wdr-wdr2-rheinland.icecast.wdr.de/wdr/wdr2/rheinland/mp3/128/stream.mp3 --input-ipc-server=/tmp/mpv & echo WDR2 wdr2_logo.png > /tmp/radiostation elif [ "$selected_option" == "$stop" ] then if test -e "/tmp/mpv"; then # read station name and logo radiostation=`cat /tmp/radiostation | awk '{print $1}'` radiostation_logo=`cat /tmp/radiostation | awk '{print $2}'` dunstify -t 5000 -a "Webradio: $radiostation" -I "$path_logo/$radiostation_logo" "wird beendet" killall mpv rm -f /tmp/mpv rm -f /tmp/radiostation rm -f /tmp/webradio_title else dunstify -t 5000 -a "Webradio:" "läuft nicht" fi else dunstify -t 5000 -a "Webradio:" "keine Auswahl getroffen" fi