[Release] LastSharp 0.4.4
Nach den Änderungen bei Last.FM und den zwei Beta-Versionen der letzten 15 Tage kommt nun wieder eine offizielle Version von LastSharp.
Es gab einige Anfragen und Wünsche, von denen jedoch einige noch weitere Überlegungen benötigen, weshalb sie noch nicht realisiert wurden. Das passiert dann in der nächsten Version. Oder der übernächsten.
Neu in LastSharp 0.4.4 ist:
- Last.FM-Abonnenten können das neue Radio-API verwenden.
- Die Parameter, mit denen mp3Gain die heruntergeladenen Dateien normalisiert, sind im Einstellungsdialog modifizierbar.
- Der Name der Cover-Dateien ist nun veränderbar.
- Überlange Titel (tritt vor allem bei klassischer Musik auf) werden nun über eine dreistellige Zeichenfolge am Anfang des Dateinamens eindeutig identifizierbar gemacht.
- Der komplexe Filter unterstützt über das Präfix “t:” nun auch die Filterung nach Titel.
Hinzu kommen einige Bugfixes, sowie die Unabhängigkeit von LastFmLib.Net, die v.a. Platz spart. An dieser Stelle sei nochmals meine eigene, im Moment im Bau befindliche .NET-Schnittstelle für das Last.FM-API erwähnt, die sich an alle richten wird, die “einfach mal schnell” Anfragen an das API schicken wollen und das ganze Drumherum von LastFmLib.Net nicht benötigen.
Dann habe ich mir noch etwas vorgenommen: Wenn es das nächste Mal eine Änderung bei Last.Fm gibt, werde ich sofort eine neue Version rausbringen und nicht erst warten, bis ich genug zusammengetragen habe, um die Versionsnummer zu rechtfertigen…
Viel Spaß mit LastSharp!
Download (Sourceforge): https://sourceforge.net/projects/lastsharp/files/lastsharp/LastSharp%200.4.4/
LastSharp feiert Geburtstag!
Heute, am 8. August 2009 feiert LastSharp seinen ersten Geburtstag! Ich gebe zu, ich habe nicht gedacht, dass das Programm es so lange mitmacht (immerhin schweben da doch einige rechtliche Fragen im Raum…), aber ich freue mich natürlich trotzdem!
Anbei eine kleine (nicht ganz vollständige) Gallerie zur optischen Entwicklung des Programms!
[Beta] LastSharp 0.4.4 Beta 2
Wie angekündigt, die zweite Beta-Version von LastSharp 0.4.4. Oberflächlich gesehen gibt es wieder keine großen Änderungen, aber unter der Haube hat sich dennoch was getan:
- “Meine Playlist (direkt)” sollte nun wieder funktionieren,
- als Abonnent kann man nun das Radio-API von Last.FM verwenden (“Erweiterte Einstellungen” >> “Verschiedenes” >> “Radio-API” aktivieren, dann LastSharp neu starten),
- und das Programm ist nun unabhängig von LastFmLib.Net (spart Platz)
Ich denke, ich werde den Release dieser Version noch Ende dieser/Anfang nächster Woche anstreben und größere (nicht so dringende) Änderungen aufs nächste Mal verschieben. Grundlegende Funktionalität geht eben vor.
Sollte jemand Fehler finden, bitte unbedingt mitteilen!
Download: http://dev.xscheme.de/wp-content/uploads/2009/08/LastSharp044Beta2.rar
[Release] LeSharp 1.2.1
Ein kleines Problem bei der Erkennung anhörbarer Titel (eng verknüpft übrigens mit dem “Playlist could not be retrieved via API”-Fehler in LastSharp), hat dazu geführt, dass man Lea nicht mehr verwenden konnte.
Diese neue Version passt Lea an die Veränderungen des Last.FM-APIs an. (Die Lösung ist nicht perfekt, und somit werde ich den nächsten größeren Versionssprung mit dem Hauptthema “Stabilität” verknüpfen… EIn bemerkbares Problem wird es dennoch erst geben, wenn Last.FM wieder etwas ändert…)
Download (Sourceforge): http://sourceforge.net/projects/lastsharp/files/lesharp/LeSharp%201.2.1/LeSharp1.2.1.zip/download
Wie entwickle ich meine eigene Scriptsprache? Ein Abenteuer in Teilen.
In diesem Artikel, dem ersten von vielen, geht es um die Entwicklung einer eigenen Script- oder Programmiersprache. Das sei nur für die erwähnt, die sich Angesichts des Vorgeplänkels der nächsten zwei Absätze fragen: “Was wird das denn jetzt?” und dann wieder verschwinden wollen…
Vorspiel
Neben LastSharp und LeSharp, den beiden Tools, die für eine breite Masse gedacht und deshalb auch zumindest ein bisschen nützlich sind, arbeite ich noch an zwei eher theoretischen Projekten: UVD (das im Moment ruht) und Lapicon (Loose API Connection Language).
Letzteres ist eine Scriptsprache zum Senden und Verarbeiten von REST-Requests, also zum Verwenden verschiedenster APIs, z.b. dem von Last.FM. Kein großer Leckerbissen für den Otto-Normal-Benutzer also und auch für Entwickler, die sich mit dem Thema beschäftigen, ist die Sprache nicht der Inbegriff von Eleganz. Deshalb mein Entschluss: Lapicon muss von Grund auf neu entwickelt werden. Das bedeutet: neue Funktionen, mehr Komfort, bessere Performance, usw… Alles in allem keine triviale Aufgabe.
Und dann kam mir die Idee, meinen Versuch zu protokollieren und somit allen, die daran interessiert sind, eine eigene Programmier- oder Scriptsprache zu entwickeln, ein Stückchen weiterzuhelfen. Eine kleine Reise, ein kleines Abenteuer also.
Den Rest dieses Beitrags lesen »
[Beta] LastSharp 0.4.4 Beta 1
Aufgrund der anhaltenden Anfragen, wie man den Fehler mit dem Remoteserver-Verbindungsabbruch beseitigt (Die Lösung steht inzwischen in den Kommentaren zu fast jedem Artikel über LastSharp…), habe ich schnell diese Beta-Version zusammengeschustert, die jetzt getestet werden kann. Der Download sollte nun auch funktionieren, wenn die Option “Modifizierte Verbindung” unter “Erweiterte Einstellungen” >> “Verschiedenes” deaktiviert ist. (Ja, das war die oben angesprochene Lösung…)
[Release] LeSharp 1.2
Eigentlich hatte ich ja andauernd behauptet, ich würde (wegen Uni & Co) nicht dazu kommen, an meinen bisherigen Programmen weiterzuarbeiten, aber heute habe ich’s dann doch zu was gebracht: einer neuen Version von LeSharp nämlich!
Neben einigen Bugfixes enthält diese Version hauptsächlich minimale Änderungen in LD3. Man kann Dateien nun per Drag&Drop ins Programm ziehen und sogar ganze Ordner ablegen, die anschließend rekursiv hinzugefügt werden. Des weiteren gibt es nun die Möglichkeit, STRG+A zu verwenden, um alle Dateien zu markieren, sowie ENTF, um eine oder mehrere Dateien zu löschen.
Oh, ganz wichtig: Lea speichert nun die Session eines Users, d.h. man muss nicht mehr bei jeder Benutzung auf “Browser öffnen” klicken, sondern nur noch dann, wenn die Session abgelaufen ist!
Inside Last.FM: Silent Authentication für API 2.0
Update (17.07.2009): Das hier ist (abgesehen von den “Skills”, die ich dabei gebraucht hab) wohl ziemlich überflüssig, wenn man die API-Methode auth.getMobileSession mal genauer betrachtet. Wieder was gelernt: RTFM!
Da im Moment anscheinend wieder Änderungen am Last.FM-Webservice gemacht werden, die dazu geführt haben, dass LastSharp höchstens noch mithilfe der “Modifizierten Verbindung” (unter “Erweiterte Einstellungen” >> “Verschiedenes”) funktioniert, habe ich mir mal das Radio-API angesehen, das ja anscheinend die Zukunft des Radiostreamings bei Last.FM ist. Was mich daran allerdings stört, ist die umständliche Anmeldeprozedur: Token holen, Browser öffnen, auf Authentifizierung warten, Session holen.
Der Umweg über den Browser ist einfach unschön, weshalb ich nach einer Lösung gesucht habe, die den Login sowie die anschließende Bestätigung eines Users im Hintergrund simuliert, sodass er das eigentliche Programm nicht verlassen muss.
SerienjunkiesGML
First of all: wie es mit der Legalität der Seite serienjunkies.org aussieht, weiß ich nicht. Ich selbst kannte sie bis vorgestern nicht und alles, was nun folgt, ist für mich nur eine programmiertechnische Fingerübung – wenn auch womöglich mit einem gewissen Nutzen.
Das Problem, auf das ich hingewiesen wurde, als ich mich nach online verfügbaren Episoden von Flight of the Conchords erkundigt und die o.g. Seite als Quelle empfohlen bekommen habe, war, dass man, um an Downloadlinks zu kommen (ohnehin nicht das, was ich wollte), für jede Episode ein Captcha lösen und anschließend für jede einzelne Teil-Datei eine Serie von Klick-Copy-Paste ausführen musste. Und da kam mir die Idee, dass ganze in ein Programm zu packen: SerienjunkiesGML (Get My Links!)
Man gibt einfach die URL einer Serienjunkies-Seite in das dafür vorgesehene Textfeld ein (alternativ kann man auch direkt nach irgendetwas suchen), lässt das Programm die verfügbaren Episoden laden und startet mit einem Doppelklick auf die jeweilige Episode das Holen der Links.
Das Lösen des Captchas konnte ich nicht automatisieren (da sind schon viel größere Kaliber als ich dran gescheitert), aber die darauf folgenden Operationen, die zu den eigentlichen Links führen. D.h.: Hoster auswählen, Captcha lösen, warten, fertig!
Man kann auch gleich von vornherein mehrere Episoden auswählen und mit einem Klick auf “Go!” nacheinander abarbeiten.
Ein Hinweis noch: das Holen der Links funktioniert in einer Vielzahl der Fälle reibungslos, nur manchmal scheitert es. Dann muss man die entsprechenden URLs (die mit “download.serienjunkies.org”) beginnen, eben von Hand in den Browser eingeben.
Herausforderungen an mich waren: Untersuchung einer HTML-Seite, Simulieren einer POST-Request, Entwicklung einer intuitiven Benutzeroberfläche.
Download: http://dev.xscheme.de/wp-content/uploads/2009/07/serienjunkiesgml.exe
Und dann machte es “Bing”!
Ich muss zugeben, ein großer Teil meiner Festplatte wird von Microsoft-Programmen eingenommen: Ich verwende Word zum Schreiben von Briefen, Excel zum tabellarischen Aufbereiten von Daten, Visual C# Express Edition zum Programmieren, diverse Hilfsprogramme und nicht zu vergessen dieses winzige Konstrukt namens Windows Vista….
Aber alles, was mit Internet zu tun hat, kommt von anderen Herstellern: Firefox statt IE, Thunderbird statt Outlook, ICQ statt dem Windows Live Messenger – und nicht zuletzt Google statt… Ja, statt was eigentlich?