gpodder – freier Speicherplatz auf dem iPhone und Playcounts
Christian Seidel / pixelio.de
gpodder ist eine hervorragende Anwendung wenn es um den Download und die Verwaltung von Podcasts geht, erstmal so generell. Leider gibt es zwei kleine Bugs, die den Betrieb mit einem iOS Gerät ziemlich erschweren: Playcounts werden nicht synchronisiert und der freie Platz auf dem Gerät wird nicht erkannt. Soweit so schlecht, ein Betrieb ist erstmal unmöglich.
Doch es gibt für beide Problemchen (mehr oder weniger praktikable) Lösungen:
1. “Nicht genügend freier Speicherplatz auf dem Gerät verfügbar”
Erst einmal muss man unter Ubuntu überhaupt raus finden, wie man gpodder mit dem iPhone beispielsweise bekanntmacht. gpodder erwartet einen Dateipfad zum Gerät, der ist aber unter Lucid Lynx nicht mehr so ganz eindeutig durch das neue GVFS. Man muss wissen, dass die Geräte, die Gnome einbindet unter ~/.gvfs/ liegen. In meinem Falle wäre der Pfad also /home/elu/.gvfs/Jans iPhone/.
Das Problem dabei ist nun, dass man von diesem Mountpunkt keine vernünfitigen Werte bekommt, was den benutzten und freien Speicherplatz angeht, er ist in beiden Fällen “0″. Da aber das Python-Script von gpodder nur genau das abfragt, ist natürlich auf dem iPhone kein Platz mehr verfügbar. (Sondern “0″ Byte).
Um das zu umgehen ist ein kleiner Eingriff in das Sync-Script von gpodder notwendig, in dem man einfach vorgaukelt, dass genügend freier Speicherplatz auf dem Gerät vorhanden ist. Nachteil ist ganz klar, dass man sich nun selbst kümmern muss, dass noch genügend Platz vorhanden ist.
Man nahme also die Datei: /usr/lib/pymodules/python2.6/gpodder/sync.py und such nach folgender Funktion:
def get_free_space(self): # Reserve 10 MiB for iTunesDB writing (to be on the safe side) RESERVED_FOR_ITDB = 1024*1024*10 return util.get_free_disk_space(self.mountpoint) - RESERVED_FOR_ITDB
def get_free_space(self): # Reserve 10 MiB for iTunesDB writing (to be on the safe side) RESERVED_FOR_ITDB = 1024*1024*10 return 1024 * 1024 * 1024 * 1024 - RESERVED_FOR_ITDB
Nun ist erstmal genug Platz auf dem iPhone “vorhanden”. (Man beachte, das ein Update von gpodder diese Datei wieder überschreiben wird!) Kommen wir zum zweiten Problem:
2. Playcounts werden wieder auf “ungespielt” gesetzt
Nun ist man also in der Lage, sein iPhone oder sonstiges iOS Gerät mit Podcasts zu bespielen. Leider gibt es nun noch einen Fehler in der Bibliothek libgpod, welche bei jedem Synchronisationsvorgang alle Podcasts auf den Status ungespielt zurücksetzt und man sich die Stelle an der man aufgehört hat wieder mühsam suchen muss.
Ich habe vor einiger Zeit diesbezüglich mal an die Mailingliste geschrieben und auch Prompt Antwort erhalten:
Kurzfassung: Es gibt bereits zwei Patches gegen das Problem, sie werden auch demnächst in den offiziellen libgpod-Zweig einfließen. (Dies ist bislang, so weit ich das überblicken kann, noch nicht geschehen)
Man nimmt sich also die beiden Patches aus obigem Link und korrigiert damit den Quelltext von gpodder. Et volia, nun funktioniert auch der Sync von Podcasts OHNE dass sich bereits angespielte Episoden wieder zurücksetzten. Allerdings kommt es, zumindest bei mir, öfters vor, dass bei einem zweiten Sync ein Podcasts doppelt auf dem iPhone vorhanden ist, oder das ein zweiter Sync benötigt wird, damit die Playcounts wieder stimmen. Aber das wird sicher auch noch gefixt…
Nun wünsche ich euch fröhliches Synchronisieren eurer Podcasts!

Radfahrer, Jogger, Fachinformatiker, Internetjunkie, 1983er, Blogger, HuWAG, Applejünger, Nichtraucher, Canon 450D, iPhone, Hannover, Schokolade, Californication, Friends, HIMYM, Dexter, TAAHM, Linux




Kommentare (6)
Danke für den netten Artikel! Das mit dem freien Speicherplatz ist natürlich ein Problem. Normal fragt gPodder aber einfach nur nach, ob man trotzdem fortsetzen will (eine Konsequenz aus oben genanntem Problem), d.h. man kann auch bei keinem freien Speicherplatz die Sync-Operation durchführen, muss dann halt einfach nur immer bestätigen, dass man sich sicher ist, dass genug freier Speicher zur Verfügung steht.
Zum zweiten Problem: Ist das jetzt ein libgpod-spezifisches Problem, oder gibt es auch eine Änderung am source code von gPodder, die in den Hauptentwicklungs-Zweig übernommen werden sollte?
Danke für die gute Software :)
Ja, es wird nachgefragt, aber wenn ich dann halt sage, ja mach, dann wird ein Sync angestoßen, aber das war’s dann auch. Dauert ein paar Sekunden und es wurde nichts übertragen.
Zum zweiten Punkt: Soweit ich das überblicken kann, ist es ein libgpod spezifisches Problem, sollte also für gpodder nicht von Relevanz sein.
Wäre cool, wenn du den 2. Schritt hier mal kurz beschreiben würdest… da ich weder weiß wo ich die Datei finde, noch was genau ich daran verändern muss…
hoffe du findest die zeit dafür…
Hi,
wie ist denn jetzt der letzte Stand? Kann ich mich darauf verlassen, dass die Podcasts zuverlässig auf iPhone kopiert werden und die Playcounts erhalten bleiben?
@Tim das kann ich dir leider nicht sagen aktuell, da ich zum einen wieder Gentoo mit KDE benutze und meine Podcastsmittlerweile über iTunes auf nem iMac verwalte…
Hi Jan,
Danke für die Antwort. Dann muss ich mal in den Foren nachfragen.