Dynamic menu
Feature: +all Sonos device are automatically discover and have an entrie in principal menu.
This commit is contained in:
@@ -12,10 +12,13 @@ set -u
|
||||
list="local"
|
||||
if [ "$list" = "discovery" ]; then loc="";
|
||||
else loc=" -l"; fi
|
||||
echo "$loc"
|
||||
#echo "$loc"
|
||||
#sleep 3
|
||||
GITHUB_TOKEN=13314ba0099450eaa6c0b2233d0f6adde1f5c718
|
||||
|
||||
discover=$(sonos-discover -p)
|
||||
dev=$(echo "$discover" | grep -E "([0-9]{1,3}[\.]){3}[0-9]{1,3}")
|
||||
|
||||
italic="\033[3m"
|
||||
underline="\033[4m"
|
||||
bgd="\033[1;4;31m"
|
||||
@@ -40,35 +43,55 @@ main() {
|
||||
echo -e ""
|
||||
echo -e "${bold} 🔈 SoCo-Cli GUI${reset}"
|
||||
echo -e ""
|
||||
|
||||
echo -e " "
|
||||
echo -e "---------------------------------"
|
||||
echo -e " Main Menu "
|
||||
echo -e "---------------------------------"
|
||||
echo -e " 1) ${bgd}A${reset}bout "
|
||||
echo -e " 2) ${bgd}H${reset}elp "
|
||||
echo -e " 3) ➔ ${bgd}C${reset}hambre "
|
||||
echo -e " 4) ➔ ${bgd}S${reset}alon "
|
||||
echo -e " 5) ➔ A${bgd}l${reset}l devices "
|
||||
echo -e " 6) ${bgd}Q${reset}uit "
|
||||
|
||||
j=3
|
||||
while IFS= read -r line; do
|
||||
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 "Enter your menu choice [1-6]: \c "
|
||||
echo -e "Enter your menu choice [1-$k]: \c "
|
||||
|
||||
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 ""
|
||||
;;
|
||||
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
|
||||
fi
|
||||
|
||||
done
|
||||
}
|
||||
|
||||
@@ -105,6 +128,7 @@ about() {
|
||||
|
||||
echo -e "\n$vers\n"
|
||||
echo "<Press Enter to quit>"
|
||||
read -p ""
|
||||
}
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user