From 3a523f0916cea7ac5c92011574c29f8d5dbfff04 Mon Sep 17 00:00:00 2001 From: rleins <> Date: Mon, 5 Jan 2015 12:10:57 +0000 Subject: [PATCH] Sonos: Correct the handling of covers during the playing from the own device (e.g. iPad or Android-tablet) git-svn-id: https://svn.fhem.de/fhem/trunk@7442 2b470e98-0d58-463d-a4d8-8e2adae1ed80 --- fhem/FHEM/00_SONOS.pm | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/fhem/FHEM/00_SONOS.pm b/fhem/FHEM/00_SONOS.pm index 30a5af8f5..ac2162ee7 100755 --- a/fhem/FHEM/00_SONOS.pm +++ b/fhem/FHEM/00_SONOS.pm @@ -32,6 +32,8 @@ # Changelog # # SVN-History: +# 05.01.2105 +# Die Cover beim Abspielen "von diesem Gerät" (also iPad, oder Android-Tablet) wurden nicht angezeigt. # 04.01.2015 # Bei der Ermittlung des Readings "AlbumArtist" gab es einen Fehler, wenn dieser von Sonos nicht übermittelt wurde. # Wenn ein Player einen Dock (iPod) wiedergibt, dann werden die Titelinformationen dort mitgesetzt. Damit entfällt die Anzeige des Titels z.B. mit 'iPod von Reinerlein'. @@ -727,7 +729,7 @@ sub SONOS_FhemWebCallback($) { last; } } - return ("text/html; charset=UTF8", 'Anfrage für Nicht-Sonos-Player: '.$URL) if ($ip && $URL !~ /\/original\//i); + return ("text/html; charset=UTF8", 'Anfrage für Nicht-Sonos-Player: '.$URL) if (defined($ip) && $albumurl !~ /\/original\//i && $albumurl !~ /\/music\/image\?/i); # Generierter Dateiname für die Cache-Funktionalitaet my $albumHash; @@ -4667,6 +4669,11 @@ sub SONOS_ServiceCallback($$) { my $tempURI = ''; $tempURI = ($1) if ($tempURIground =~ m/(.*?)<\/upnp:albumArtURI>/i); + # Wenn in der URI bereits ein kompletter Pfad drinsteht, dann diese Basis verwenden (passiert bei Wiedergabe vom iPad z.B.) + if ($tempURI =~ m/^(http:\/\/.*?\/)(.*)/) { + $groundURL = $1; + $tempURI = $2; + } SONOS_Client_Notifier('ProcessCover:'.$udn.':0:'.$tempURI.':'.$groundURL); # Auch hier den XML-Parser verhindern, und alles per regulärem Ausdruck ermitteln...