#!/bin/bash clear soco() { device="$1" while true do clear echo "###############" echo " Sonos $device " echo "###############" echo "" PS3='Select an option: ' options=( "France Info" "France Inter" "K6 FM" "Rires et Chansons" "RTL" "Deezer Flow" "Playlist list_favs" "-start $device" "-stop $device" "-volume 11" "-volume 13" "-volume 15" "-mute ON" "-mute OFF" "-status light ON" "-status light OFF" "Menu Principal" ) select opt2 in "${options[@]}" do case $opt2 in "France Info") echo "Playing France Info" sonos $device play_fav 'franceinfo' && sleep 2 break ;; "France Inter") echo "Playing France Inter" sonos $device play_fav 'france inter' && sleep 2 break ;; "K6 FM") echo "Playing K6 FM" sonos $device play_fav 'K6 FM' && sleep 2 break ;; "Rires et Chansons") echo "Playing Rires et Chansons" sonos $device play_fav 'Rire et Chansons' && sleep 2 break ;; "RTL") echo "Playing RTL" sonos $device play_fav 'RTL' && sleep 2 break ;; "Deezer Flow") echo "Playing Deezer Flow" sonos $device play_fav 'Flow' break ;; "Playlist list_favs") echo "Display playlist list_favs" sonos $device list_favs read -p "" break ;; "-start $device") echo "Start $device" sonos $device start && sleep 2 break ;; "-stop $device") echo "Stop $device" sonos $device stop && sleep 2 break ;; "-volume 11") echo "Set volume to level 11" sonos $device volume 11 && sleep 2 break ;; "-volume 13") echo "Set volume to level 13" sonos $device volume 13 && sleep 2 break ;; "-volume 15") echo "Set volume to level 15" sonos $device volume 15 && sleep 2 break ;; "-mute ON") echo "Mute ON" sonos $device mute on && sleep 2 break ;; "-mute OFF") echo "Mute OFF" sonos $device mute off && sleep 2 break ;; "-status light ON") echo "Status light ON" sonos $device status_light on && sleep 2 break ;; "-status light OFF") echo "Status light OFF" sonos $device status_light off && sleep 2 break ;; "Menu Principal") exec "$0" ;; *) echo "invalid option";; esac done done } while true do clear echo "######" echo " SoCo-Cli GUI" echo "######" echo "" PS3='Select an option: ' options=("Option1" "Option2" "Chambre" "Salon" "Exit") select opt in "${options[@]}" do case $opt in "Option1") echo Option1 read -p "" break ;; "Option2") echo Option2 read -p "" break ;; "Chambre") soco "Chambre" ;; "Salon") soco "Salon" ;; "Exit") exit ;; *) echo "invalid option" ;; esac done done