Ein einfaches Shellscript, das das umsetzt:
Code:
--------------------
#!/bin/bash
LMS=nas
DEBUG=
declare -A plStat
while true; do
psAR=( `echo "players 0 99"|nc6 -q1 $LMS 9090 2>/dev/null` )
for i in "${psAR[@]}"; do
if [[ $i == "playerid"* ]]; then
PLID=${i/playerid%3A/}
fi
if [[ $i == "connected%3A"* ]]; then
CS=${i/connected%3A/}
[ $DEBUG ] && echo "P: $PLID C: $CS (O:
${plStat[$PLID]} )"
if [ -n "${plStat[$PLID]}" ] && [ "${plStat[$PLID]}"
-eq "$CS" ]; then
[ $DEBUG ] && echo "unchanged"
else
[ $DEBUG ] && echo "changed"
if [ $CS -eq 1 ]; then
[ $DEBUG ] && echo "play"
echo "$PLID play"|nc6 --send-only $LMS
9090 &>/dev/null
fi
fi
plStat["$PLID"]=$CS;
fi
done
sleep 2
done
--------------------
Anmerkungen:
- Rudimentär getestet mit Receiver und SqueezePlay
- Der Variable LMS den Name / die IP Adresse des LMS Servers zuweisen
- Der Variable DEBUG einen Wert zuweisen, wenn man debug Ausgaben sehen
will
- Es wird netcat6 (nc6) verwendet, netcat würde ebenso funktionieren
(die zwei ... nc6 ... Zeilen anpassen)
- Es wird alle 2 Sekunden überprüft, ob sich eine neuer Player verbunden
hat (sleep 2)
- Wie erwartet, kostet dies effektiv keine Performance (LMS kennt ja
immer den Verbindungsstatus der Player, also beschränkt es sich auf das
Beantworten eines simplen CLI-Kommandos (players))
[ extGUI4LMS - an alternative web interface: 'forum'
(http://forums.slimdevices.com/showthread.php?98186-Announce-Alternative-Web-Interface-(beta))
/ 'homepage' (http://code.google.com/p/extgui4lms/) | 'music visualizer'
(http://forums.slimdevices.com/showthread.php?103073-Announce-music-visualizer-for-squeezelite)
for squeezelite | 'Howto'
(http://forums.slimdevices.com/showthread.php?99648-Howto-build-a-self-contained-LMS):
build a self-contained LMS ]
------------------------------------------------------------------------
Roland0's Profile: http://forums.slimdevices.com/member.php?userid=56808
View this thread: http://forums.slimdevices.com/showthread.php?t=102511
_______________________________________________
slimserver-de mailing list
[email protected]
http://lists.slimdevices.com/mailman/listinfo/slimserver-de