Squeezebox Logo Radiostream und Hinweistöne?

Nabend :wink:

Ich habe mich vorhin damit beschäftigt unsere Haustürklingel in IPS zu integrieren, was schon mal gut geklappt hat. Jetzt möchte ich gern auf der SQB ein Signal ausgeben und denke das ich das auf Grund der im Forum zu findenden Beispiel hin bekomme.

Aaaaaaber … wir benutzen die SQB eigentlich nur als Radiostation für Internetradio.Viele Radiostreams haben Logos die mit übertragen werden(zumindest sind die sichtbar im SQ Server). Hat schon mal jemand versucht diese Logos in IPS darzustellen? Wie würde man da vorgehen? Kann man die auslesen oder müsste man da anders heran gehen?

Außerdem würde mich interessieren was ihr so für Hinweistöne benutzt und wo ihr die her habt.

Gruß
Jens

Hallo Jens,

bis vor kurzen (Squeezeserver < 7.5) konnte man das aktuelle Cover und Logo mit

<img src='http://ip_sqs:9000/music/current/cover_150x150.jpg?player=$player_id'></img>

in eine Stringvariable nebst ~HTMLBox-Profil zuweisen.

Seit den Version >= 7.5 funktioniert dies leider nur noch für Covers deiner Musiksammlung.

Die Logos der Radiostations werden mittlerweile mit folgender Url erzeugt, habe aber keinen Plan wie ich diesen Wert aus dem SQS/LMS bekomme.

<img height="50" width="50" onload="resize(this, 50)" src="http://www.mysqueezebox.com/public/imageproxy?w=50&h=50&u=http%3A%2F%2Fradiotime-logos.s3.amazonaws.com%2Fs14991q.png">

Hallo Rainer,

danke für die Info.
Wenn die Logos über die URL erzeugt bzw. dargestellt werden, dann muss die Information doch auch irgendwo vorhanden sein?
Nun denn … dann muss ich eben gucken, dass ich für bestimmte Sender ein festges Logo abspeichere und dann je nach Sendernamen darstelle.
Ich wollte eh Stationstasten fürs WF basteln.

Jetzt aber :smiley:

Mit dem Query ‚path‘ bekommt man die URL vom Radiostream zurück:

CSCK_SendText(23765 /*[Client Socket Squeezebox Bad]*/, $no1box.' path ?'.chr(13));


	if($array[1]=='path')   {
	   SetValue(59100,  utf8_decode(urldecode($array[2])));
	}

Ergebnis:

http://opml.radiotime.com/Tune.ashx?id=s10637&formats=aac,ogg,mp3,wmpro,wma,wmvoice&partnerId=16

Mit der id (hier s10637) müsste sich dann das passende Logo anzeigen lassen. Evtl. gucken ob das Logo schon vorhanden ist, wenn ja dann den lokalen Pfad nehmen, wenn nicht dann das Logo unter dem Namen lokal abspeichern.

Da mir aber gerade der Kopf raucht, mache ich erst mal Schluss für heute :wink:

Cool. Werde ich die Tage einmal einbauen.

Danke fürs recherchieren.

So richtig komme ich damit nicht weiter.

Der Squeezeserver muss doch auch irgendwo das Cover herbekommen.

Mal sehen was ich über die Feiertage noch rausbekomme.

Ja, der bekommt auch das Cover an Hand der Id des Radiosenders … wenn du die ID vom Sender hast, dann kannst du einfach den Pfad anpassen, der ist immer gleich.

http://radiotime-logos.s3.amazonaws.com/s10637.png

Hier habe ich jetzt einfach hinten die ID von SSL angehängt und schon kommt das Logo!

Danke.

Hast du schon ein Codeschnippsel um die ID aus der URL zu holen. Müssen ja nicht alles doppelt entwickeln.

Nein, habe den Tag heute damit verbracht ein Weihnachtsgeschenk fertig zu basteln und nebenher meinen neuen Server zu installieren.

Bin jetzt auch erst mal in Sachen „Geschenke verteilen“ unterwegs :wink:

Guten Morgen!

mit den österreichischen Kanälen scheint es nicht zu funktionieren…
hier zb. Ö3:
da bekomm ich folgende ID raus: s15580

und wenn ich die in dem folgenden Link anpasse, kommt „AccessDenied“:
http://radiotime-logos.s3.amazonaws.com/s15580.png

Ebenso bei einem anderen Sender, mit der ID s15579, funktionierts auch nicht.

Gruß,
Christian.

Komisch … bei mir ist Oe3 s8007 … und damit gehts:

http://radiotime-logos.s3.amazonaws.com/s8007.png

Außerdem gibt es 2 Logos … einmal mit q hinten dran (also: s8007q) und einmal ohne. Das Logo mit q ist größer !

Gruß
Jens

hm, interessant…
ich hab den Code von dem Beitrag #4 eingebaut und das Ergebnis ist:

http://opml.radiotime.com/Tune.ashx?id=s15580&formats=aac,ogg,mp3,wmpro,wma,wmvoice&partnerId=16&serial=eb2dbe0cc861ca2ba3207681195bde43

also wär ja s15580 richtig oder?

beim Squeezebox-Server allerdings lautet die Logo-Src

http://www.mysqueezebox.com/public/imageproxy?u=http%3A%2F%2Fradiotime-logos.s3.amazonaws.com%2Fs8007q.png&h=96&w=96

also wären die s8007 richtig…
hm. g

so, jetzt hab ichs, denk ich g
ich habe bei den Sendern 2 Tunnels gehabt, und jetzt mal den anderen ausgewählt, nun passts auch mit den ID´s :slight_smile:

Gruß,
Christian.

Ich sende, um die URL für covers zu bekommen, immer:

MAC-DER-SB status - 1 tags:K

In der Antwort erhält man dann die URL zum Cover unter dem tag „artwork_url“.

Das geht sowohl mit lokalen Daten (Musik auf dem Server) als auch mit beliebigen Streams (Radio, Last.fm, napster…)

Na auf so etwas haben wir doch gewartet :smiley:

Wie würde der Aufruf denn genau aussehen? Codebeispiel?

Gruß
Jens

Also laut der Doku ist dein Tags:K aber nicht für normale Sender verfügbar:

K artwork_url A full URL to remote artwork. Only available for certain plugins such as Pandora and Rhapsody.

Funktioniert aber bestens, aber leider bei mir nur mit Radiostreams. Bei lokalen Playlisten kommt keine Artwork_url, aber die kann man ja auf herkömmlichen Weg lösen.

Funktioniert bei mir bei allen Streams (Radio und Dienste wie napter etc), nur nicht bei Lokalen Daten. Hatte nur kurz über mein Squeezebox-Script gesehen und übersehen, dass ich eine Unterscheidung zwischen Remote und Nicht-Remote Stream mache.

Für lokale Daten greife ich so auf die Covers zu:

http://IP-SB-SERVER:PORT/music/ID-DES-TITELS/cover.jpg?MAC-DER-SQUEEZEBOX

Die Abfrage „status - 1 tags:K“ liefert gleichzeitig ein Flag „remote“ (bei Remote-Stream) zurück ansonsten die ID des laufenden Titels, mit der man dann direkt das Cover mit o.g. URL abrufen kann.

Lokale Cover, hole ich per

//------------------------------------------------------------------------------
function cover($player_id, $var_id)
{
 $time=time();
 $str = "<table width='100%' cellspacing='0'><tr><td align=center>";
 $str = $str. "<img src='http://ip_des_lms:9000/music/current/cover_150x150_$time.jpg?player=$player_id'></img>";
 $str = $str. "</td></tr></table>";
 SetValue($var_id, $str);
}

so ab. Habe dies bei mir in die inc_squeezebox ausgelager und lasse es per

cover(Wohnzimmer, 50072 /*[Tools\Squeezebox\Auswertung Squeezeboxen\Musik Büro\Cover]*/); // Cover anzeigen

im eigentlichen Auswertskript der RegisterVariable anzeigen.

Es hat bis zu den SQ-Server < 7.5 auch mit den Radios so funktioniert, aber was täten wir ohne Änderungen :rolleyes:

Und wie würde jetzt zusammengefasst der Code aussehen, um die Radio Covers noch zusätzlich zu den Albumcover anzuzeigen?
Ich werde aus den Codeschnipseln irgendwie nicht schlau.

So wupperi,

da Du ja mein Squeezeserver-Skript benutzt hier die Anpassungen dafür