xscDevBlog – LastSharp & Co.

Der xscheme-DevelopmentBlog

[Release] LastSharp 0.3.2

with 8 comments

Vor allem fürs Auge gibt es ein paar Neuerungen in LastSharp: durch das Ersetzen der ListBox durch eine ListView und dem daraus resultierenden größeren Abstand zwischen einzelnen Zeilen der Playlist, wirkt letztere aufgeräumter und lockerer. Auch werden nun all die Titel, die man nicht mehr herunterladen kann, grau eingefärbt, während der aktuelle Titel im Fettdruck erscheint.

Und dann gab es da noch einen Wunsch von Benni (kennsch.de), der einen Weg wollte, die heruntergeladenen Dateien in Playlisten zu arrangieren. Weil ich LastSharp nicht überladen will (wird wohl unübersichtlich, wenn noch mehr Funktionen/Optionen hinzukommen), lässt sich dies in der settings.ini mit der Zeile “savePlaylists=yes” aktivieren. LastSharp speichert daraufhin im Unterordner “playlists” des Musikverzeichnisses Playlisten im M3U-Format (mit relativen Pfadangaben). Wenn ich einen Weg gefunden habe, diese Option platzsparend und nicht verwirrend im GUI unterzubringen, kommen auch noch andere Möglichkeiten (PLS, XSPF) hinzu.

Das Eingabefeld im TuneIn-Bereich verfügt nun über eine AutoComplete-Funktion, die sich die bisherigen Eingaben merkt und Vorschläge zur Vervollständigung anbietet. (wie ein Web-Formular)

Die Kontrollkästchen vor den einzelnen Titeln ermöglichen die einfache Kontrolle des automatischen Downloads. Sowohl mit als auch ohne Filter werden diejenigen Titel, vor denen kein Häkchen gesetzt ist, beim Download ignoriert.

Der AudioPlayer bietet nun auch eine Möglichkeit, die Lautstärke des wiedergegebenen Titels zu verändern. (rechts unten).

Das war neben ein paar kleineren Ausbesserungen und Anpassungen eigentlich alles. Rückmeldung wäre hierzu schön, weil ich mir selbst nicht ganz sicher bin, ob diese Release gelungen ist.

Rapidshare (460KB): http://rapidshare.com/files/139026357/LastSharp032.rar

Written by xsc

August 21st, 2008 at 6:45 pm

Posted in LastSharp

Tagged with

8 Responses to '[Release] LastSharp 0.3.2'

Subscribe to comments with RSS or TrackBack to '[Release] LastSharp 0.3.2'.

  1. Hallo,
    erst einmal ein großes Dankeschön für das Programm.
    Ich habe es jetzt ein paar mal ausprobiert und es läuft
    ganz super.

    Was mir aber aufgefallen ist, es bleibt bei mir des öfteren hängen wenn es so um die 4 Playlisten geladen hat. Der ‘Download’ bleibt dann einfach stehen.
    Ich konnte aber bisher noch nicht herausbekommen woran das liegen könnte. Nach einem neustart geht es wieder problemlos weiter.

    P.S. gibt es eine Möglichkeit die dann fehlerhaften Lieder zu finden? (evtl ein Tool)

    Rüdiger Mohr

    Rüdiger

    22 Aug 08 at 10:29

  2. Danke für da Lob und danke für die Mitteilung über das Problem!

    Ich werds mir anschauen, wenn ich dazu komme, jetzt bin ich leider erst einmal bis 1. September im Urlaub… Aber damit ichs nicht vergesse, kommts in die “Known Issues”.
    Aber ausprobieren werd ichs jetzt gleich…

    Noch eine Frage: “der Download bleibt stehen”, also die Fortschrittsanzeige hängt irgendwo in der Mitte? Hab ich das richtig verstanden? Denn wenn der Download abbräche oder endete, würden leere Dateien automatisch gelöscht.

    Über ein solches Tool weiß ich leider nichts. Sollte ich eines finden, melde ich mich.

    Yannick

    EDIT: Das Programm läuft nun bei mir seit 4-5 Stunden fehlerfrei. Ich werde der Sache natürlich weiter nachgehen, aber ohne weitere Informationen über dein System wirds wohl schwer für mich…

    xsc

    22 Aug 08 at 16:08

  3. Erst mal ein ganz großes Lob – das ist ‘ne klasse Software, die ich lange gesucht hatte, aber bis jetzt noch nie so einfach und funktionierend gefunden habe. Super!

    Ich bin ein wenig Perfektionist, deswegen hätt ich gleich dutzende von Vorschlägen (gerne auch per eMail-Kontakt). Hier mal die ersten Gedanken…

    Aber eine Fehlerbeschreibung: Wenn ich das Programm einige Zeit laufen lasse (nachdem er vllt 3 Playlisten von “Ähnliche Künstler” durchlaufen hat und mit dem Filter versehen automatisch einige Lieder weiter lädt) kommt es vor, dass die komplette Playliste nur noch mit Anfangsbuchstaben und drei Punkten dahinter angezeigt wird. Also “A…” als erster Eintrag, “H…” als zweiter, …
    Trotzdem funktioniert das Downloaden und auch das Filtern dabei noch wie gewünscht – also nur eine kosmetische Beeinträchtigung.

    Das Hängen bleiben von oben kann ich bestätigen, wenn keine Titel mehr automatisch gefunden werden bzw nach einigen Playlist-Abrufen werden auch keine Titel mehr übertragen, da gehen die Requests “ins Leere”. Da muss vllt mal die Verbindung resetted werden, wenn bei allen 40 Requests keine Rückmeldung mehr kommt (Req 40/40 und 0 Playlistelemente).

    Dann wär’s klasse, wenn man die per Filter als nächstes ausgewählten Songs in der Playliste entsprechend markiert bekäme, falls das filtern aktiv ist – also einfach entsprechend die Checkboxen selektiert werden, dann hat man eine Kontrolle, ob das so passiert, wie gewünscht und nicht aus Versehen ein Titel übersprungen wird, weil man einen Rechtschreibfehler nicht bemerkt hat. Das kollidiert evt mit der weiteren Funktionsmöglichkeit, Titel selbst bei aktivem Filter zu deselektieren, aber wer sollte das praktisch wollen? ;-) Sonst einfach eine farbliche Markierung oder die Titel kursiv darstellen. Auf jeden Fall bräuchte es eine Rückmeldung, wann ein Filter einen Titel erfasst und wann nicht und auch, wann genau ein Filter aktiv wird.

    Kann man die Tracks auch während des Download direkt abspielen (der lädt ja normalerweise schneller als er abspielt) und einen Dislike-Knopf dazutun? Dann hätte man zwei Fliegen mit einer Klappe: Das Lied kann automatisch gelöscht werden, was angefangen wurde und man hört direkt, was man da vllt noch unbekanntes hat. Und diese Lieder werden ja dank Last.fm in einer nächsten Playlist nicht mehr auftauchen…
    Die Konsequenz wäre natürlich noch ein Like-Knopf, um die zukünftigen Playlists so zu beeinträchtigen – Voraussetzung natürlich das direkte Abspielen. Kann ein gestreamter Titel nicht danach abgespeichert werden?

    Eine Möglichkeit, die automatischen Downloads nach bsp. 200 Fehlversuchen (kein Filter hat mehr ein positives durchgelassen) automatisch anzuhalten?

    Schade, dass die CDDB-Abfrage verworfen wurde – das wäre eine super Möglichkeit zur automatischen Vervollständigung und eine Abfrage liefert normal auch schon passende Treffer. Möglicherweise müsste das per manueller Auswahlmöglichkeit für den Benutzer angeboten werden, welche Titel-Infos korrekt sind. Ist aber schon etwas komplexer – aber siehe foobar2000 oder cdex als Beispiele für OpenSource-Implementierungen, die eine solche Abfrage nutzen. Da helf ich gern bei Recherchen oder Umsetzungsmöglichkeiten. Hier helfen exakte Treffer von Titel, Interpret und ungefähre Titellängen (+/- 5 sec) zur automatisierten Auswahlhilfe.

    Das Scrobbeln sollte optional auch die einfach nur heruntergeladenen Titel als einmal angehört an Last.fm übertragen können, auch wenn man sie nach dem Download nicht direkt abspielt.

    Wird es irgendwann die Sourcen für LastSharp geben? Da steckt so viel wertvolle Arbeit drin! Soweit erst mal.

    Freundliche und begeisterte Grüße
    Johannes

    Auf jeden Fall einen wirklich schönen (Rest-)Urlaub und viel Kraft für die weitere Arbeit an dem klasse Programm! Bin selbst Programmierer und weiß das zu schätzen. Würd mich gerne auch mal mit dir austauschen. Und dir wenn möglich auch beim ein oder anderen (Doku oder so) helfen.

    Johannes

    28 Aug 08 at 11:26

  4. P.S.: Noch mehr Gedanken…

    Eine Ausgrauung (oder grün-Markierung) der bereits vorhandenen Titel, die in der aktuellen Playlist trotzdem noch mal angeboten werden wäre auch hilfreich – diese können auch direkt deselektiert werden.

    Und beim zuletzt geladen könnte der Übersicht halber noch ein Timestamp dazu und/oder optional ein Log davon erstellt werden.

    Auch die Filter-Aktivitäten zu loggen wäre ganz hilfreich.

    Wenn ein Filter zwischen zwei Oder-Strichen in Anführungszeichen gesetzt wird ( eoid… | “Era” | de…. ) sollte genau auf diesen kompletten String mit dem Künstlernamen verglichen werden. Es gibt gerade Künstler wie Era, deren Buchstaben in anderen Künstlernamen auch vorkommen (in “Wayne Gerard Trotman” zB), die man aber gar nicht durch den Filter zu fallen wünscht.

    Das aktualisieren der Detail-Infos für ein Lied könnte direkt bei Downloadwechsel erfolgen, da diese Infos eh geladen werden und nicht erst bei Neufokussieren des Fensters ;-)

    Die Tool-Tip Idee mit den Song-Infos wär gar nicht verkehrt gewesen, da bei aktivem Download von keinen anderen Titeln mehr die aktuellen Infos angezeigt werden können. Aber ich verstehe gut, wenn das zuviel Aufwand ist. Aber zB in QuickDic.org sind so grafische Tooltips gut realisiert und den Inhalt dafür lädst du eh runter.

    Johannes

    28 Aug 08 at 11:35

  5. Woah, da war ich jetzt erstmal geschockt, so einen langen Kommentar bekommen zu haben – hat sich aber wieder gelegt^^

    Ich finde, dass eigentlich alle deine Ideen, Johannes, es wert sind, umgesetzt zu werden, und sobald ich daheim bin (und nicht mehr in einem entwicklungsumgebung-freien österreichischen Hotel) werd ich mich (womöglich etwas verzögert, gibt ja auch noch andere Arbeiten) damit befassen.

    An dieser Stelle nur drei Sachen: die verkürzte Playlist hat damit zu tun, dass ich einen Befehl zur Spaltenbreite einer ListView-Spalte an die falsche Stelle gesetzt habe und diese bei jedem Neuladen der Playlist neu gesetzt wird. Ist das Fenster minimiert, scheint das einen zu kleinen Wert zurückzuliefern.

    Die Tooltips hatte ich schon implementiert (zehn Minuten dauerts wohl, das nochmal zu machen), aber ich hatte dann das Gefühl, dass die Oberfläche einfach zu überladen wird. Aber wenn ich noch mehr Funktionen einbauen will, muss ich mir eh was einfallen lassen…

    Das mit dem Aktualisieren der Infos muss ich mir nochmal anschauen. Hat vllt. irgendetwas mit den Windows Forms zu tun, aber jetzt wo dus sagst, fällt mir das auch auf.

    Ich melde mich am Montag wieder. Danke für das ganze Lob!

    Yannick

    xsc

    29 Aug 08 at 15:57

  6. Moin,

    Vielen vielen Dank für dieses 1a-Programm. Ich habe vorher TheLastRipper benutzt, welches auch ein tolles Tool ist, aber eine Funktion nicht hat, die ich an LastSharp ganz besonders schätze: Das Merken der Titel, die schon geladen wurden. So kann man einfach einen uralt-rechner nebenher laufen lassen und die Songs dann ab und zu von der (sehr kleinen) Festplatte runterziehen. Aber genau da gibt es ein Problem: Nach einiger Zeit kam bei mir die Meldung, dass (sinngemäss, ich habe die Meldung nicht mehr wortwörtlich im kopf) im Stream ungültige Zeichen enthalten sind (in meinem Fall waren im Titel Ausrufezeichen, ich denke, dass hat den Fehler ausgelöst), und der Download wurde angehalten. Wenn man vor dem Rechner sitzen würde und das Programm im Hintergrund ausführen würde, wäre es kein Problem: einfach auf ok klicken, nächsten Song in der Playlist anklicken und downloaden. Aber wenn das Programm ein paar Tage unbeaufsichtigt laufen soll, dann könnte es sein dass von 3 tagen, an dem dass Programm lief, nur der erste auch wirklich auf der Festplatte gelandet ist, da dann diese Meldung kam. Wenn LastSharp diesen Song einfach überspringen würde oder – noch besser – in trotzdem aufnehmen würde, wäre mir sehr geholfen. Trotzdem kann ich mein Lob von vorhin nur wiederholen. Du hast klasse Arbeit geleistet!

    Vinny

    Vinny

    31 Aug 08 at 21:53

  7. Danke, Vinny, für das Lob und die Beschreibung des Problems. Timo hat in seinem Kommentar (http://dev.xscheme.de/lastsharp/#comment-34) etwas ähnliches beschrieben und ich hoffe, ich habe den Fehler lokalisiert und für die nächste Version ausgebessert. In jedem Fall muss die Fehlerbehandlung ausgebessert werden, da hast du Recht: LastSharp kann nicht bei jedem Fehler schlapp machen, sondern muss auch mal was einstecken können. Ich tu mein bestes!

    Yannick

    xsc

    1 Sep 08 at 10:48

  8. [...] kann ich auch an LastSharp und Lea weiterarbeiten. Eine wunderbare Grundlage dafür hat mir ein Kommentar von Johannes geliefert, auf den ich hier eingehen will. Johannes, selbst Programmierer, hat einen [...]

Leave a Reply