Dynamic menu

Feature:
+all Sonos device are automatically discover and have an entrie in principal menu.
This commit is contained in:
2021-01-21 09:10:59 +01:00
parent e3fc8b6755
commit a05c4f0309

View File

@@ -12,10 +12,13 @@ set -u
list="local" list="local"
if [ "$list" = "discovery" ]; then loc=""; if [ "$list" = "discovery" ]; then loc="";
else loc=" -l"; fi else loc=" -l"; fi
echo "$loc" #echo "$loc"
#sleep 3 #sleep 3
GITHUB_TOKEN=13314ba0099450eaa6c0b2233d0f6adde1f5c718 GITHUB_TOKEN=13314ba0099450eaa6c0b2233d0f6adde1f5c718
discover=$(sonos-discover -p)
dev=$(echo "$discover" | grep -E "([0-9]{1,3}[\.]){3}[0-9]{1,3}")
italic="\033[3m" italic="\033[3m"
underline="\033[4m" underline="\033[4m"
bgd="\033[1;4;31m" bgd="\033[1;4;31m"
@@ -40,35 +43,55 @@ main() {
echo -e "" echo -e ""
echo -e "${bold} 🔈 SoCo-Cli GUI${reset}" echo -e "${bold} 🔈 SoCo-Cli GUI${reset}"
echo -e "" echo -e ""
echo -e " " echo -e " "
echo -e "---------------------------------" echo -e "---------------------------------"
echo -e " Main Menu " echo -e " Main Menu "
echo -e "---------------------------------" echo -e "---------------------------------"
echo -e " 1) ${bgd}A${reset}bout " echo -e " 1) ${bgd}A${reset}bout "
echo -e " 2) ${bgd}H${reset}elp " echo -e " 2) ${bgd}H${reset}elp "
echo -e " 3) ➔ ${bgd}C${reset}hambre "
echo -e " 4) ➔ ${bgd}S${reset}alon " j=3
echo -e " 5) ➔ A${bgd}l${reset}l devices " while IFS= read -r line; do
echo -e " 6) ${bgd}Q${reset}uit " name=$(echo "${line}" | awk '{print $1}')
model=$(echo "${line}" | awk '{print $3}')
echo -e " $j) ➔ Sonos $model device: $name "
((j++))
done <<< "$dev"
l=$j # All devices entrie
k=$((j+1)) # Quit entrie
echo -e " $j) ➔ A${bgd}l${reset}l devices "
echo -e " $k) ${bgd}Q${reset}uit "
echo -e "=================================" echo -e "================================="
echo -e "Enter your menu choice [1-6]: \c " echo -e "Enter your menu choice [1-$k]: \c "
read main_menu read main_menu
case "$main_menu" in
1|a|A) about if [ $main_menu == "3" ] || [ $main_menu == "4" ]; then
nth=$(($main_menu - 2))
nth_device=$(echo "$dev" | sed -n "${nth}p")
name=$(echo "${nth_device}" | awk '{print $1}')
soco $name
elif [ $main_menu == "1" ] || [[ $main_menu == "a" ]] || [[ $main_menu == "A" ]]; then
about
elif [ $main_menu == "2" ] || [[ $main_menu == "h" ]] || [[ $main_menu == "H" ]]; then
help
elif [ $main_menu == "$j" ] || [[ $main_menu == "l" ]] || [[ $main_menu == "L" ]]; then
all
elif [ $main_menu == "$k" ] || [[ $main_menu == "q" ]] || [[ $main_menu == "Q" ]]; then
exit 0
else
echo -e "\n${red}Oops!!! Please Select Correct Choice${reset}";
echo -e "Press ${bold}ENTER${reset} To Continue..." ;
read -p "" read -p ""
;; fi
2|h|H) help;;
3|c|C) soco "Chambre";;
4|s|S) soco "Salon";;
5|l|L) all;;
6|q|Q) exit 0;;
*) echo -e "\n${red}Oops!!! Please Select Correct Choice${reset}";
echo -e "Press ${bold}ENTER${reset} To Continue..." ; read ;;
esac
done done
} }
@@ -105,6 +128,7 @@ about() {
echo -e "\n$vers\n" echo -e "\n$vers\n"
echo "<Press Enter to quit>" echo "<Press Enter to quit>"
read -p ""
} }