diff --git a/sonos.sh b/sonos.sh index a62016f..af47fa9 100755 --- a/sonos.sh +++ b/sonos.sh @@ -1,17 +1,56 @@ #!/bin/bash clear +about() { + echo "" + echo -e "\033[1mAbout:\033[0m" + echo "" + } + +help() { + echo "" + echo -e "\033[1mHelp:\033[0m" + echo "" + } + +inform() { + device="$1" + info=$(sonos $device info) + model_name=$(echo "$info" | grep "model_name" | awk -F"=" '{print $2}') + model_number=$(echo "$info" | grep "model_number" | awk -F"=" '{print $2}') + player_name=$(echo "$info" | grep "player_name" | awk -F"=" '{print $2}') + zone_name=$(echo "$info" | grep "zone_name" | awk -F"=" '{print $2}') + mac_address=$(echo "$info" | grep "mac_address" | awk -F"=" '{print $2}') + ip_address=$(echo "$info" | grep "ip_address" | awk -F"=" '{print $2}') + display_version=$(echo "$info" | grep "display_version" | awk -F"=" '{print $2}') + hardware_version=$(echo "$info" | grep "hardware_version" | awk -F"=" '{print $2}') + software_version=$(echo "$info" | grep "software_version" | awk -F"=" '{print $2}') + + echo "" + printf "\e[1m| %-20s | %-20s |\e[0m\n" "$model_name" "$player_name" + printf "| %-20s | %-20s |\n" "Model name" "$model_name" + printf "| %-20s | %-20s |\n" "Model number" "$model_number" + printf "| %-20s | %-20s |\n" "Player name" "$player_name" + printf "| %-20s | %-20s |\n" "Zone name" "$zone_name" + printf "| %-20s | %-20s |\n" "mac adress" "$mac_address" + printf "| %-20s | %-20s |\n" "IP address" "$ip_address" + printf "| %-20s | %-20s |\n" "Display version" "$display_version" + printf "| %-20s | %-20s |\n" "Hardware version" "$hardware_version" + printf "| %-20s | %-20s |\n" "Software version" "$software_version" + + } + soco() { device="$1" while true do clear - echo "###############" - echo " Sonos $device " - echo "###############" + #echo "###############" + echo -e "\033[1m 🔊 Sonos $device \033[0m" + #echo "###############" echo "" - PS3='Select an option: ' + PS3="Select an option: " options=( "France Info" "France Inter" @@ -29,123 +68,130 @@ soco() { "-mute OFF" "-status light ON" "-status light OFF" + "-infos on $device" "Menu Principal" ) select opt2 in "${options[@]}" do case $opt2 in "France Info") - echo "Playing France Info" + echo -e "\033[1m Playing France Info... \033[0m" sonos $device play_fav 'franceinfo' && sleep 2 break ;; "France Inter") - echo "Playing France Inter" + echo -e "\033[1m Playing France Inter... \033[0m" sonos $device play_fav 'france inter' && sleep 2 break ;; "K6 FM") - echo "Playing K6 FM" + echo -e "\033[1m Playing K6 FM... \033[0m" sonos $device play_fav 'K6 FM' && sleep 2 break ;; "Rires et Chansons") - echo "Playing Rires et Chansons" + echo -e "\033[1m Playing Rires et Chansons... \033[0m" sonos $device play_fav 'Rire et Chansons' && sleep 2 break ;; "RTL") - echo "Playing RTL" + echo -e "\033[1m Playing RTL... \033[0m" sonos $device play_fav 'RTL' && sleep 2 break ;; "Deezer Flow") - echo "Playing Deezer Flow" + echo -e "\033[1m Playing Deezer Flow... \033[0m" sonos $device play_fav 'Flow' break ;; "Playlist list_favs") - echo "Display playlist list_favs" + echo -e "\033[1m Display playlist list_favs... \033[0m" sonos $device list_favs read -p "" break ;; "-start $device") - echo "Start $device" + echo -e "\033[1m Start $device... \033[0m" sonos $device start && sleep 2 break ;; "-stop $device") - echo "Stop $device" + echo -e "\033[1m Stop $device... \033[0m" sonos $device stop && sleep 2 break ;; "-volume 11") - echo "Set volume to level 11" + echo -e "\033[1m Set volume to level 11... \033[0m" sonos $device volume 11 && sleep 2 break ;; "-volume 13") - echo "Set volume to level 13" + echo -e "\033[1m Set volume to level 13... \033[0m" sonos $device volume 13 && sleep 2 break ;; "-volume 15") - echo "Set volume to level 15" + echo -e "\033[1m Set volume to level 15... \033[0m" sonos $device volume 15 && sleep 2 break ;; "-mute ON") - echo "Mute ON" + echo -e "\033[1m Mute ON... \033[0m" sonos $device mute on && sleep 2 break ;; "-mute OFF") - echo "Mute OFF" + echo -e "\033[1m Mute OFF... \033[0m" sonos $device mute off && sleep 2 break ;; "-status light ON") - echo "Status light ON" + echo -e "\033[1m Status light ON... \033[0m" sonos $device status_light on && sleep 2 break ;; - "-status light OFF") - echo "Status light OFF" + "-status light OFF") + echo -e "\033[1m Status light OFF... \033[0m" sonos $device status_light off && sleep 2 break ;; - "Menu Principal") + "-infos on $device") + echo -e "\033[1m Infos on $device... \033[0m" + inform $device + read -p "" + break + ;; + "Menu Principal") exec "$0" ;; - *) echo "invalid option";; + *) echo -e "\033[1;31m invalid option \033[0m";; esac done done } - + while true do clear -echo "######" -echo " SoCo-Cli GUI" -echo "######" -echo "" +echo -e "\033[1m 🔈 SoCo-Cli GUI\033[0m" +echo -e "" PS3='Select an option: ' -options=("Option1" "Option2" "Chambre" "Salon" "Exit") +options=("About" "Help" "Chambre" "Salon" "Exit") select opt in "${options[@]}" do case $opt in - "Option1") - echo Option1 + "About") + #echo "About" + about read -p "" break ;; - "Option2") - echo Option2 + "Help") + #echo "Help" + help read -p "" break ;;