itunes_sync

Webshout – Music anywhere – Webshout goes ITunes

In einer Reihe von Beiträgen möchte ich gern über ein Software-Projekt berichten, was mich die letzten Jahre begleitet hat. Es handelt sich dabei bislang um ein rein privates Projekt.


Haha, das klingt viel toller als es am Ende ist. Wie schon erwähnt fand ich den Weg neue Musik in Webshout einzupflegen noch nicht optimal. Die Files musste ich lokal zusammensuchen, auf den Server kopieren, den Indizierungprozess anwerfen und danach den Lucene-Index neu erstellen. Erstes war mühsames Gefrickel und endete meist in einem Shellscript zum kopieren und das Neuindizieren hat immer ewig Zeit gefressen.

Ein neuer, besserer Weg musste her. Dafür habe ich den Webshout-Server um eine Fileupload-Funktion erweitert. Ich kann per HTTP ein File hochladen, dieses wird direkt analysiert und ins System eingepflegt.

Nun ist natürlich das Hochladen von Files per HTTP nicht ansatzweise Benutzerfreundlicher, als das Kopieren per FTP oder SCP. Darum hab ich zeitgleich eine kleine AIR-Anwendung geschrieben.

Die Anwendung macht im Grunde genommen nichts spektakuläres, stellt mir aber einen Workflow bereit, der die Arbeit extrem vereinfacht. Ich verwalte die Songs, die auf dem Webshout sind in einer speziell dafür angelegten Playlist in ITunes. ITunes bietet mir die Möglichkeit, eine Playlist als CSV Datei zu exportieren. Dieses CSV liesst die AIR Anwendung ein und extrahier daraus die Pfade zu den Liedern. Im nächsten und letzten Schritt läd die Anwendung die Songs dann über die Schnittstelle des Servers hoch.

Damit ich keine Files unötig erneut hochlade, schickt die Anwending den lokalen Pfad zur den Dateien beim Upload mit, sodass der Server sich diesen als einmalige ID an dem Song speichert. Vor dem Hochladen, fragt die Anwendung den Server nach dieser Liste und überträgt nur die Files, die neu sind.

Auf diesem Weg muss ich jetzt nur noch neue Files in die Playlist schieben, diese Exportieren und die Anwendung den Rest machen lassen. Das ist ein Aufwand, den ich gerne mal auf mich nehme, im Gegensatz zu vorher, wo ich mich immer so lange um das Aktualisieren von Webshout gedrückt habe, bis Karen genug gemeckert hat.


May 30, 2010 | mehr lesen | music, software