Neulich legte ich mir ein Smartphone zu, wobei meine Wahl auf das Nokia C7-00 fiel. Das C7 ist meiner Meinung nach das eleganteste Smartphone. Lediglich das betagte Symbian³ wird von immer weniger aktuellen Diensten unterstützt. Und wieder beginnt die Jagd nach der besten Lösung, um ein Gerät mit OpenSource-Programmen respektive Linux zusammen arbeiten zu lassen.
In diesem Artikel soll es darum gehen, den Music Player Banshee beizubringen, diverse Inhalte auf das C7 zu übertragen. Dabei spielen für mich folgende Punkte eine Rolle:
/media/microsd/ eingebunden, somit erstelle ich eine Datei /media/microsd/.is_audio_player mit folgendem Inhalt:audio_folders=Music/ playlist_path=Playlists/ playlist_format=audio/mpegurl output_formats=audio/mp3 folder_depth=1 cover_art_file_type=jpeg cover_art_file_name=cover.jpg cover_art_size=300 name="Nokia C7-00"
Mit Einstecken des C7 per USB und dieser Datei im Stammverzeichnis wird das C7 in Banshee als PMP erkannt.

Jetzt kann man problemlos Audio-Inhalte aus der eigenen Sammlung auf das C7 übertragen. Wenn Audiodateien mit MP3-fremden Format darunter sind, wird vor der Übertragung ein Konvertierungsprozess angestoßen, der die Dateien in das angegebene mp3-Format konvertiert.
Ein Rechtsklick auf den Eintrag des C7 in der Seitenleiste und Klick auf Geräteeigenschaften zeigt nochmals die Details. Unter anderem kann man den bevorzugten Audiokonverter (bei mir nur LAME) und die zu nutzende Bitrate auswählen. Weiterhin wird ersichtlich, dass das Gerät nicht als Playlisten unterstützendes Gerät erkannt wird.

"Playlisten" auf das C7 übertragen
Um Playlisten zu erstellen, nutze ich das MP3-Tag Genre. Auf dem C7 hat man die Möglichkeit Musikstücke nach Genre zu gruppieren und abzuspielen. Da ich das Genre-Tag nicht wirklich benutze, um meine Musiksammlung zu organisieren "mißbrauche" ich diesen Tag, um mir Playlisten zu erstellen. Es sei erwähnt, dass durch diese Methode ein Musikstück nur in genau einer Playliste vorhanden sein kann. Diese Einschränkung zwingt das MP3-Tag auf, das lediglich ein Genre zuweist.
Jedoch kann ich mit dieser Einschränkung leben.
Seinen Playlisten in Banshee ein Genre zu zuweisen ist sehr einfach. Man lässt sich die Titel einer Playliste anzeigen, markiert alle Titel und wählt im Kontextmenu Titelinformationen bearbeiten.
Im Feld "Genre" gibt man den Namen der gewünschten Playliste ein und betätigt das Symbol dahinter für Alle Genres auf diesen Wert setzen.

Anschließend kann man die Stücke auf das C7 übertragen. Die Tag-Daten von Musikstücken, die sich bereits auf dem Gerät befinden können nicht mehr editiert werden.
Cover-Art anzeigen
Das C7 bezieht seine Cover-Bilder direkt aus dem entsprechenden Tag der MP3-Datei. Da Banshee das generell kein Einbetten von Cover-Images in Audiodateien vornimmt, muss das von Hand nachgeholt werden. Zumindest unterstützt uns Banshee hierbei dadurch, dass es die definierten Image-Dateien bereits in den entsprechenden Ordnern anlegt; wie oben definiert.
Ein Kommandozeilen-Tool übernimmt die Arbeit und die Bash sorgt dafür, dass wir nicht soviel schreiben müssen ;)
Als erstes installieren wir das MP3-Tag-Tool eyeD3:
sudo aptitude install eyed3
while read dir; do \ cd "$dir"; echo "Processing $dir"; test -e cover.jpg && \ eyeD3 --remove-images *.mp3 1>/dev/null && \ eyeD3 --add-image=cover.jpg:FRONT_COVER *.mp3 1>/dev/null; \ cd ..; done < <(ls)
Fertig!
Nachtrag
In der Banshee-Version 1.9 soll die Unterstützung von Coverbildern in Audio-Dateien nativ sein. Somit sollte der letzte Schritt zeitnah wegfallen.
[1]http://www.floccinaucinihilipilification.net/wiki/index.php/.is_audio_player_file_format
Kommentare
case insensitive globbing
In meiner Musiksammlung befinden sich auch MP3s, deren Dateiendung groß geschrieben ist. Also in der Form
sometrack.MP3Damit diese Dateien bei der beschriebenen Cover-Art Einbindung auch erfasst werden, muss die Bash auf case-insensitives Datei-Globbing eingestellt werden:
shopt -s nocaseglobanschließend zeigt ein
ls *.mp3auch Dateien mit großgeschriebener Dateiendung.MP3