Musik-Bibliothek

Die dem Player-Modul zugrunde liegende API erlaubt sogenannte MusicSearch Abfragen an den Sonos Controller.
Da es bisher im HS keine vernünftige Möglichkeit eines Eingabefeldes gibt, habe ich die MusikSearch etwas modifiziert. Ich realisiere die MusicSearch über eine externe Datei. Die Datei liegt auch wieder auf dem Web-Server (musicsearch.txt).
Die Datei ist von Version 2.0 zu Version 3.0 modifiziert worden, um noch besser weitere Dienste automatisch einbinden zu können.
Außerdem lassen sich die "Bibliotheken" auf diese Weise noch detaillierter strukturieren

Die Schnittstelle der MusicSearch wird über die API wie folgt angesprochen:

    /RoomName/musicsearch/{service}/{type}/{search term}
Der höheren Funktionalität wegen habe ich daher auch gleich die verschiedenen Services, Types und Search-Terms mit abgebildet. Der Eintrag einer Zeile sieht daher auch wie folgt aus.

Mögliche Einträge und basierend darauf auch entsprechende Kommunikation:
Service: apple, spotify, deezer, elite, library
Type: album, song, load (für library, kann für andere Services umfangreicher sein, hierzu bitte die Infos der Schnittstelle lesen)
Display: nutze ich für die Anzeige, hierdurch ist man flexibel, gerade bei Alben
Search Term: artist name, song title, artist name + song title (für service: library, ansonsten ggf. abweichend)

Eintrag einer Suche nach Interpret: "Ultravox"
    {"service":"library", "type":"song", "display":"Ultravox", "search":"Ultravox"},

Eintrag einer Suche nach dem Album: "Dancing with Tears in My Eyes"
{"service":"library", "type":"album", "display":"Ultravox - Dancing with Tears in My Eyes",
"search":"Dancing with Tears in My Eyes"},

Die Struktur der Musikbibliotheken lässt sich relativ einfach über den Logikeditor in der Logik anpassen:

Auf diese Weise sollten die meisten Möglichkeiten hier bereits unterstützt werden, so dass nur die externe Datei entsprechend angepasst werden muss, um so entweder alle oder die wichtigsten Alben und Interpreten aus Sonos einzubringen.

Auch spielt die Anzahl der Einträge in der bibliotheinterpreten.txt keine Rolle. Das Modul fängt die Anzahl der Einträge über die Scrollbar entsprechend automatisch ab.

Über den Service kann man auch entsprechende Suchen bei Spotify, Apple usw. "abfeuern" und alles ohne irgendwelche Modul-Anpassungen.
Voraussetzung hier ist lediglich ein entsprechender Account, da dieser von Sonos verwaltet wird und mein Modul lediglich die Ergebnisse zurückliefert.

Vorteile der MusicSearch:
Es werden wirklich alle Songs der Interpreten dargestellt, auch wenn sie sich in Unterschiedlichen Ordner befinden. Um dies zu unterbinden muss man die Suche entsprechend einschränken bsp. über Angabe des Interprets und des Albums.
Einfach mal etwas mit rumspielen.

Einziger Wehrmutstropfen:
Die Suche liefert bei mehrmaliger Ausführung derselben Suche die Titel nicht immer in derselben Reihenfolge, aber ich finde es gibt Schlimmeres!