diff --git a/sonos.sh b/sonos.sh index d4394a7..a07d3f7 100755 --- a/sonos.sh +++ b/sonos.sh @@ -1,4 +1,17 @@ #!/bin/bash + +# list: local or discovery +# --use-local-speaker-list, -l +# Use the local speaker list instead of SoCo discovery +# --refresh-local-speaker-list, -r +# Refresh the local speaker list +list="local" +if [ "$list" = "discovery" ]; then + loc="" +else + loc=" -l" +fi + clear about() { @@ -31,7 +44,7 @@ help() { inform() { device="$1" - info=$(sonos $device info) + info=$(sonos $loc $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}') @@ -180,13 +193,6 @@ soco_lists() { read -p "< Press Enter>" break ;; - 7|p|P) - echo -e "\n\033[1m List albums... \033[0m" - read -p "Enter Album" alb - b=$(sonos $device list_albums | more) - echo -e "\n $b \n" - break - ;; 6|r|R) exec "$0" ;; @@ -225,8 +231,9 @@ soco() { "-volume (15)" "-status light O(N)" "-status light (O)FF" - "(I)nfos" - "(L)ists" + "Sha(z)aaaam" + "➔ (I)nfos" + "➔ (L)ists" "Menu Princip(a)l" ) select opt2 in "${options[@]}" @@ -244,38 +251,38 @@ soco() { ;; 3|k|K) echo -e "\n\033[1m Playing K6 FM... \033[0m" - sonos $device play_fav 'K6 FM' && sleep 2 + sonos $loc $device play_fav 'K6 FM' && sleep 2 break ;; 4|c|C) echo -e "\n\033[1m Playing Rires et Chansons... \033[0m" - sonos $device play_fav 'Rire et Chansons' && sleep 2 + sonos $loc $device play_fav 'Rire et Chansons' && sleep 2 break ;; 5|r|R) echo -e "\n\033[1m Playing RTL... \033[0m" - sonos $device play_fav 'RTL' && sleep 2 + sonos $loc $device play_fav 'RTL' && sleep 2 break ;; 6|d|D) echo -e "\n\033[1m Playing Deezer Flow... \033[0m" - sonos $device play_fav 'Flow' + sonos $loc $device play_fav 'Flow' break ;; 7|p|P) echo -e "\n\033[1m Display playlist list_favs... \033[0m" - sonos $device list_favs + sonos $loc $device list_favs read -p "" break ;; 8|s|S) echo -e "\n\033[1m Start $device... \033[0m" - sonos $device start && sleep 2 + sonos $loc $device start && sleep 2 break ;; 9|t|T) echo -e "\n\033[1m Stop $device... \033[0m" - sonos $device stop && sleep 2 + sonos $loc $device stop && sleep 2 break ;; 10) @@ -286,37 +293,42 @@ soco() { ;; 11) echo -e "\n\033[1m Set volume to level 11... \033[0m" - sonos $device volume 11 && sleep 2 + sonos $loc $device volume 11 && sleep 2 break ;; 12|m|M) echo -e "\n\033[1m Mute ON... \033[0m" - sonos $device mute on && sleep 2 + sonos $loc $device mute on && sleep 2 break ;; 13) echo -e "\n\033[1m Set volume to level 13... \033[0m" - sonos $device volume 13 && sleep 2 + sonos $loc $device volume 13 && sleep 2 break ;; 14|u|U) echo -e "\n\033[1m Mute OFF... \033[0m" - sonos $device mute off && sleep 2 + sonos $loc $device mute off && sleep 2 break ;; 15) echo -e "\n\033[1m Set volume to level 15... \033[0m" - sonos $device volume 15 && sleep 2 + sonos $loc $device volume 15 && sleep 2 break ;; 16|n|N) echo -e "\n\033[1m Status light ON... \033[0m" - sonos $device status_light on && sleep 2 + sonos $loc $device status_light on && sleep 2 break ;; 17|o|O) echo -e "\n\033[1m Status light OFF... \033[0m" - sonos $device status_light off && sleep 2 + sonos $loc $device status_light off && sleep 2 + break + ;; + 18|z|Z) + echo -e "\n\033[1m Shazaaaam... \033[0m" + sonos $loc $device track && sleep 5 break ;; 18|i|I) @@ -339,14 +351,6 @@ soco() { } -# local or discover -# --use-local-speaker-list, -l -# Use the local speaker list instead of SoCo discovery -# --refresh-local-speaker-list, -r -# Refresh the local speaker list - -loc=" -l" - while true do clear @@ -356,7 +360,7 @@ echo -e "\033[1m 🔈 SoCo-Cli GUI\033[0m" echo -e "" PS3='Select an option: ' -options=("(A)bout" "(H)elp" "(C)hambre" "(S)alon" "(Q)uit") +options=("(A)bout" "(H)elp" "➔ (C)hambre" "➔ (S)alon" "(Q)uit") select opt in "${options[@]}" do