xscDevBlog – LastSharp & Co.

Der xscheme-DevelopmentBlog

Inside Last.FM: LastSharp und die eigene Playlist

with 6 comments

Wenn man versucht, als Nicht-Abonnent mit LastSharp die eigene Playlist herunterzuladen, gelingt das meistens noch mit dem ersten Titel, bevor folgende Meldung erscheint:

Es ist ein Problem beim TuneIn aufgetreten:
There is not enough content provided by Last.FM to play the station. If this is your playlist, fill it up. Otherwise (or if this message keeps appearing), wait or try another station.

Das ist kein Problem, das von LastSharp verursacht wird, sondern hat mit Last.FM bzw. dessen Verhalten bei Playlistabfragen zu tun. Im Folgenden will ich versuchen, meine Erkenntnisse zusammenzufassen.

Man betrachte die Last.FM-FAQ zum Thema “Musik hören auf  Last.FM”:

Du kannst Playlisten anhören, wenn du ein Abonnent bist. Um eine Playlist anzuhören – deine eigene oder die eines anderen Benutzers – gehe zu der Seite der jeweiligen Playlist (zum Beispiel in deiner eigenen Musiksammlung) und klicke dort den Button “Spiele diese Playlist”. Playlisten werden immer mit zufälliger Titelreihenfolge wiedergegeben, und sie müssen mindestens 45 Titel von 15 Künstlern enthalten, bevor du sie spielen kannst.

Beachte: Playlisten können derzeit nur auf der Website, nicht im Softwareplayer wiedergegeben werden.

Falls du kein Abonnent bist, kannst trotzdem deine eigenen Playlisten erstellen, aber du kannst sie dir nicht als solche anhören. Deine neueste Playlist wird in dem Player auf deiner Profilseite erscheinen, wo die Titel von dir oder anderen Leuten, die dein Profil besuchen, einzeln gespielt oder angespielt werden können.

Zur Illustration: das Last.FM-Widget verwendet folgende URL, um an die Playlist zu kommen:

lastfm://playlist/[PlaylistID]/shuffle

Verwendet man diese URL als Nicht-Abonnent, erhält man die Meldung, dass diese Radiostation nur für Abonnenten zugänglich ist. (Fehlercode 5)

In LastSharp wird also bei Nicht-Abonnenten das “/shuffle” am Ende weggelassen, was Last.FM dazu bringt, dennoch die richtige Playlist zu senden. Allerdings erscheint schon bald der o.g. Fehler, wenn man mit dem Herunterladen beginnt – wahrscheinlich bemerkt Last.FM, dass da etwas im Gange ist, was eigentlich nicht erlaubt wäre. Stellt sich die Frage, warum man es nicht von vornherein unterbindet.

Antwort siehe oben: “Deine neueste Playlist wird in dem Player auf deiner Profilseite erscheinen, wo die Titel von dir oder anderen Leuten, die dein Profil besuchen, einzeln gespielt oder angespielt werden können.” Man kann also als Nicht-Abonennt nicht gezielt die eigene Playlist anhören, sondern nur, wenn sie auf der eigenen Profilseite erscheint. Und wie macht das Widget das dann? So: Inside Last.FM: Bestimmten Titel direkt downloaden

Ich stelle also die Frage: Sollte man die Widget-Methode in LastSharp implementieren, damit auch Nicht-Abonnenten ihre Playlist herunterladen können – auf die Gefahr hin, LastSharp ein wenig fragwürdiger erscheinen zu lassen, was Legalität angeht?

Written by xsc

April 21st, 2009 at 7:46 pm

Posted in HowTo

6 Responses to 'Inside Last.FM: LastSharp und die eigene Playlist'

Subscribe to comments with RSS or TrackBack to 'Inside Last.FM: LastSharp und die eigene Playlist'.

  1. Ich denke, für diejenigen die in möglichst kurzer Zeit möglichst viel Musik kostenfrei abgreifen wollen wäre diese Methode mit Sicherheit super. Auch die Funktion des direkten Download ist Klasse – auch für Leute die einen Eindruck von einem ganz speziellen Interpretem bekommen möchten.

    Allerdings habe ich keinen Schimmer ob das legal ist. Da Last.fm sich selbst ja als Radio bezeichnet ist die Sache ja noch eindeutig. Das Gesetz steht ja über den Nutzerbedingungen von Last.fm. Was nun den Rest angeht habe ich keine Ahnung – es ist wohl tatsächlich eine Grauzone. Ich fände die Funktion nicht schlecht, aber du solltest dir überlegen ob du die Verantwortung stellvertretend für alle deine User übernehmen willst. Leider weiss ich auch nicht, ob man für das Ausnutzen von Grauzonen zur Rechenschaft gezogen werden kann.

    Eine andere Super Funktion wäre auch, Titel, die in voller Länge verfügbar sind direkt downzuloaden und dann nicht über den Stream aufzuzeichnen. Das würde due Performance extrem steigern. Zur Legalität gilt allerdings dasselbe wie oben.

    Stefan

    21 Apr 09 at 20:05

  2. Ich werde die Methode für Playlists in der nächsten Version (als Zusatz zum normalen Weg) implementieren.

    Das Laden einer Playlist beim TuneIn dauert dann allerdings länger, abhängig von der Anzahl der Titel, da nicht nur 5 (wie beim normalen Weg), sondern alle Elemente gesendet werden.
    Außerdem wird dann beim Abruf der User-Playlist automatisch die “modifizierte Verbindung” aktiviert, da ansonsten der bekannte Protokollfehler auftritt.

    Die Sache auch für vollst. Titel zu ermöglichen, wurde (wie du in den Kommentaren zum verlinkten Artikel nachlesen kannst), weder von mir noch von anderen gutgeheißen, weshalb ich das nicht implementieren werde.
    (Allerdings wird es mithilfe von Lapicon möglich sein, sich das ganze selbst zu implementieren. Aber das ist dann nicht mein Problem.^^)

    Yannick

    xsc

    21 Apr 09 at 22:25

  3. Ich kanns echt verstehen, das du den zweiten Aspekt nicht umsetzen willst, aber dein einer Artikel gibt ja jedem, der ein bisschen PHP kann, die nötigen Informationen das selbst umzusetzen.

    Ich sehe halt nur nicht den übermäßigen Unterschied zwischen den beiden oben genannten Funktionen – beim einen gebe ich den Titel direkt ein und beim anderen füge ich den Titel der Playlist an und lade den Titel dann gezielt runter.

    Wann kommt denn die nächste Version? :-D

    Stefan

    21 Apr 09 at 22:40

  4. Ganz ehrlich: ich spiele ja mit dem Gedanken, einen rein API-basierten Downloader zu entwickeln, aus zwei Gründen:

    (a) Es ist halt komfortabel.
    (b) Der Name DarkSharp ist einfach geil. (Copyright hiermit reserviert^^)

    Nächste Version… Hmm… Freitag? Vielleicht früher, vielleicht später. Ich halt mich eh nicht an meine Vorhersagen…

    Yannick

    xsc

    21 Apr 09 at 22:47

  5. > Sollte man die Widget-Methode in LastSharp
    > implementieren, damit auch Nicht-Abonnenten ihre
    > Playlist herunterladen können

    Dafür!

    Aug

    24 Apr 09 at 07:48

  6. [...] müssen, dass der Download der eigenen Playlist erheblich eingeschränkt ist (siehe hier) – und der Grund dafür ist schlicht und einfach, dass Last.FM das Anhören (und somit die [...]

Leave a Reply