From Amarok Wiki

< Media Devices(Redirected from De:Media Devices)

Bitte beachtet, dass die englische Fassung dieser Seite aktueller ist.

Alles folgende gilt nur für Amarok 1.4.

Contents

Allgemeine Betrachtungen für alle Geräte

Hotplugging/Automatische Geräteerkennung

amaroK benutzt KDE's Mediengeräteerkennungssystem um festzustellen wann ein Media-Player angeschlossen worden ist. Dies funktioniert bekanntermassen mit KDE 3.5 und SUSE 10.0, Kubuntu 5.10 sowie Kubuntu 6.06.

Da wir nicht in die Untiefen von Grundbibliotheken eindringen wollen, ist die automatische Erkennung des Gerätetyps zumindest momentan noch nicht realisiert. Daher wird man von amaroK bei erstmaligem Anschluss eines Gerätes gebeten ein passendes Mediengeräte-Modul (Plugin) auszuwählen. Diese Auswahl kann zu jedem Zeitpunkt im Gerätemanager wieder geändert werden, sofern das Gerät angeschlossen ist.

Automatisches Erkennen eines Hotplug-Ereignisses funktioniert nur mit Geräten die ein Dateisystem haben welches von der Distribution unterstützt wird, einer aktuellen KDE-Version (3.4 oder neuer) und auf unterstützten Plattformen (z.B. aktuelle Linux-Distributionen). Aus diesem Grund gibt es auch ein virtuelles Gerät für die manuelle Verbindungen. Dieses Gerät wird auch angezeigt wenn kein reales Gerät angeschlossen ist. Wenn bei dir 'hotplugging' funktioniert kannst du dieses Gerät abschalten ("disable") und den erkannten Media-Player einrichten (während er verbunden ist). Andernfalls muss man dieses virtuelle Gerät passend für den Gerätetyp einrichten.

In jedem Fall sollte sichergestellt werden, dass das Gerät nur einmal erkannt/verwendet wird.

Einrichtung

  • Passende Modul für den Media-Player auswählen
  • Einrichten der Kommandos "Befehl vor dem Verbinden:" und "Befehl nach dem Trennen:"
    • "Befehl vor dem Verbinden:"-Kommando (alias mount). Standard: mount %d
    • "Befehl nach dem Trennen:"-Kommando (alias unmount). Standard: eject %d
    • %d muss durch den Einhängepunkt (device node) des Gerätes ersetzt werden.
    • Dies kann entscheidend für die Integrität Ihrer Daten sein.
    • Notwendig für dateisystembasierte/mount-bare Geräte
    • eject kann Root-Rechte erfordern. Manchmal ist es ausreichend Teil der Benutzergruppe audio zu sein.
    • eject blendet das "Do not disconnect"-Symbol auf dem iPod aus.
  • Mount-Punkt: Nur nötig wenn das Betriebssystem über keine automatische Geräteerkennung verfügt und
    • wenn mehr als ein iPod angeschlossen ist
    • Ein leerer iPod muss initialisiert werden

Transcoding

Um Daten während der Übetragung auf den Media-Player umzuwandeln (on-the-fly transcoding) wird ein eigener Transcoding-Skript benötigt. Im Moment ist mit nur einer speziellen gepatchen Version von transcode 0.4 ein einziges solches Skript vorhanden. Laden Sie den Patch hier. Zusätzlich brauchen Sie die Datei transcode.spec im Verzeichnis des Transcode-Programms. Diese Datei hat den folgenden Inhalt:

name=transcode
type=transcode

Die nächste Version dieses Skriptes wird den Namen 'transKode' tragen und die nötige Funkionalität beeinhalten.

Bewertungen und Abspielzähler synchronisieren ...

Wenn der Media-Player (in diesem Fall kann das derzeit nur der iPod) den Abgleich von Abspielzählern unterstützt und diese Funktion auch aktiviert wurde, so können die Abspielzähler in der amaroK-Datenbank um die im iPod gespeicherten Werte erhöht werden. Genauso können auf dem iPod geänderte Bewertungen mit amaroK synchronisiert werden. Wenn die Synchronisierung von last.fm-Empfehlungen aktiviert ist, wird amaroK versuchen, die Informationen über auf dem iPod gespielten Lieder an last.fm zu übertragen.

VFAT Mediagerät-Modul

Samsung YP-F1

[ Dies Konfiguration funktioniert mit einem Samsung YP-F1 mp3/ogg/wma Player auf Gentoo mit amarok 1.4. Ich nehme an das dies auch mit jedem anderen Flash-basierten Player funktioniert, kann dies aber leider nicht garantieren.

Ich nutze eine udev-Regel um ein "custom device node" zu definieren. Ich wählte /dev/ypf1/tt>. Auf diesem Wege kann man amaroK wissen lassen dass YP-F1 ein Median-Player ist, die anderen USB-Sticks (normalerweise <tt>/dev/sda1) jedoch ignoriert. Diese Regel muss unter /etc/udev/rules.d/40-local.rules hinzugefügt werden:

# Samsung YP-F1 ogg player
BUS=="usb", SYSFS{manufacturer}=="Samsung", SYSFS{product}=="YP-F1", NAME="ypf1"

Es teilt 'udev' mit für das Gerät mit dem Namen "YP-F1" des Herstellers "Samsung" den Namen "ypf1" am USB-Bus zu benutzen.

Schliesse amaroK, stecke dan Media-Player an und stelle sicher das es eingehängt (mounted) ist. Ich nutze ivman um es automatisch einzuhängen. Weiterhin teilte ich dem KDE Media-Manager mit, standardmässig "Nichts zu tun" bei diesem Typ von Laufwerk.

Hänge den Media-Player aus und enterfne ihn, starte amaroK neu. Wenn der Media-Player das nächste mal angeschlossen wird, wird amaroK fragen ob das Gerät benutzt werden soll. Wähle "VFAT media plugin" aus und klicke auf OK.

Wähle in amaroK das Register "Media-Player" und klicken auf "Verbinden". Jetzt sollten die auf dem Media-Player gespeicherten Daten aufgelistet werden. Klicke auf das "Einrichten"-Symbol und passe den "Befehl vor dem Verbinden:" und "Befehl nach dem Trennen:" an. Ich habe hier nur den Befehl zum unmounten folgender Maßen abgeändert:

pumount %d

Auf diesem Weg kann man ohne Probleme den Media-Player entfernen nachdem die Verbindung in amaroK beendet wurde.

Es sieht so aus dass amaroK den Player nicht automatisch einhängen konnte als "VFAT Device". Deshalb nutze ich das automatische Einbinden mit Hilfe von ivman.

Ich empfehle nun einen Standard USB-Speicherstick einzustecken und amaroK zu sagen, dass er dieses Geräte standardmässig ignorieren soll, damit nicht jedesmal ein Pop-up-Fenster erscheint.

Diese Lösung funktioniert für mich sehr gut auch wenn es bisher einmal vorkam das einige Dateien nicht kopiert wurden und der ganze Kopiervorgang abgebrochen wurde.

iRiver IFP

On Ubuntu Edgy Eft run in a terminal:

udevinfo -a -p $(udevinfo -q path -n /dev/sd<x>) |grep manufact

where <x> is the current letter of your iriver.

add to /etc/udev/rules.d/20-names

BUS=="usb", SYSFS{manufacturer}=="iRiver Limited.", KERNEL=="sd?", Name="ifp%k", SYMLINK="iriver"

where "iRiver Limited." is the string you found with the command above. Then

sudo /etc/init.d/udev restart

Apple iPod

libgpod kompilieren

Optionale Abhängigkeiten

Einige Funktionen wie z.B. Artwork-Unterstützung hängen vom vorhanden sein anderer Programme und Bibliotheken (-dev/-devel-Pakete) ab. Diese sollten also zu dem Zeitpunkt wo libgpod kompiliert wird auf Ihrem System installiert sein:

  • gdkpixbuf: image reading
  • libgobject-2.0: Schnittstelle zu HAL
  • HAL/DBus: Erkennung des iPod-Modells

Allgemeine Probleme

Subfs/Submount

SUSE Linux 9.1 bis 10.0 nutzte subfs/submount um Wechseldatenträger automatisch ein- bzw. auszuhängen. Zuverlässig habe ich dass leider nicht mit meinem iPod zum Laufen gebracht. Deshalb empfehle ich diesen Automatismus abzuschalten, wenigstens für Ihren iPod.

Subfs abschalten (mit SUSE 10.0 getestet):

  • Erstelle die Datei /usr/share/hal/fdi/policy/95userpolicy/noautomount.fdi mit dem folgenden Inhalt:
<?xml version="1.0" encoding="ISO-8859-1"?> 
<deviceinfo version="0.2">
 <device>
  <match key="storage.policy.should_mount" bool="true">
   <merge key="storage.policy.should_mount" type="bool">false</merge>
  </match>
 </device>
</deviceinfo>

Wenn es jemanden gibt der es mit pre-connect/post-disconnect-Kommandos geschafft hat die Sache zuverlässig zum Laufen zu bringen oder Ideen dazu hat, so möge er doch gerne mit uns reden!

Es gibt ein sehr gutes Wiki für Suse 10 und iPods. Dies ist hier erreichbar:

http://www.volker-lanz.de/en/toys/ipod_suse10/

Probleme mit iTunesLock

Etwas ist falsch gelaufen und es geht um die Integrität deiner Daten. Stelle sicher dass:

  • die Daten korrekt auf Ihren iPod übertragen werden und immer den 'Trennen'-Knopf verwenden.
  • das Gerät nicht doppelt verbinden wird.
  • der iPod nur nach sauberen entfernen aus amaroK abgezogen wird. Richte daher ein passendes "Befehl vor dem Verbinden:"-Kommando ein (z.B. 'umount %d && eject %d')
  • der iPod nicht abgezogen wird, solange darauf die Meldung erscheint 'Do not disconnect.' Nutze stattdessen 'eject' um das Gerät sauber aus dem System zu entfernen.

Bedenke das subfs sehr oft zu solchen Problemen führen kann. Es entfernt einfach Geräte (Dateisystem) mit offenen Dateien im Hintergrund ohne Nachfrage. Lesen Sie weiter oben, wie dies abzuschalten ist.

Artwork funktioniert nicht

  • Stelle sicher das alle optionalen Programme installiert waren, bevor libgpod kompiliert wurde! z.B.
    • GdkPixbuf muss installiert sein (inkl. den Entwicklerpaketen)
    • DBus- und HAL-Bibliotheken müssen installiert sein
    • libgobject-2.0 wird benötigt
  • DBus/Hal muss funktionieren!
  • DeriPod muss korrekt erkannt worden sein (beispielsweise kann es Probleme mit einigen HP iPods geben):
    Übermittel den Inhalt von iPod_Control/Device/SysInfo zusammen mit einer Beschreibung deines iPod-Modells an gtkpod-devel@lists.sourceforge.net (die Sprache dieser Mailing-Liste ist Englisch)
  • Ein Fehler in libgpod verhindert die Funktion von artwork sobald die Datei iPodControl/Artwork/ArtworkDB grösser als 2 MB (~5000 Lieder) wird.
  • Probleme mit libgpod verhindern die Funktion von artwork auf 64-bit Systemen, wegen unterschiedlicher Ausrichtung in "structs"
  • Wenn der iPod eine Firmware-Version >= 1.2.0 hat, kann es sein, dass die Datei iPod_Control/Device/SysInfo leer ist. Diese wird benutzt, um den Typ des iPod und somit auch seine Fähigkeiten (z.B. Artwork) zu bestimmen. Bei leerer Datei somit also keine Cover. Normalerweise sollte Amarok den richtigen Wert in der Datei eintragen, wenn man das iPod-Modell einstellt. Wenn jedoch der iPod HFS+ formatiert ist, kann es sein, dass Amarok keine Schreibrechte auf der Datei hat. Amarok gibt jedoch keine sprechende Fehlermeldung in diesem Fall aus. LÖSUNG also: Schreibrechte auf die Datei geben (chmod a+rw iPod_Control/Device/SysInfo), dann Amarok starten und das iPod Modell neu einstellen.

Die nicht so offentsichtlichen Funktionen

Übertragen von Audible Audiobüchern oder m4v Videos

  • Möglichkeit 1:
    • Du kannst den Dialog "Dateien" benutzen um die Dateien auszuwählen
    • Wähle 'Zur Übertragung auf den Media-Player hinzugefügen' oder ziehe die Dateien auf das Register 'Media-Player'
  • Möglichkeit 2:
    • Ziehe deine Dateien von Konqueror hinein in den Media-Player-Browser

Anmerkung: m4v-Unterstützung benötigt vielleicht mp4/aac Tag-Unterstützung via libmp4v2 (anstelle der internen Implementation des Tag-Auslesens).

Anmerkung: Im Moment gibt es keine m4v Video-Unterstützung. Für libgpod wurden im cvs die Aufrufe für die Erkennung ob der iPod in der Lage ist Videos abzuspielen entfernt.

Wenn nichts mehr geht und wie man seinen iPod repariert

Falls die Datenbank auf dem iPod beschädigt wurde, gibt es noch Chancen wenigstens einige der Lieder zu retten. Grund der Beschädigung kann ein unglücklicher Moment beim Abziehen oder auch ein Fehler von amaroK sein.

Im Falle einer Beschädigung zeigen sich folgende Symptome:

Alte Einträge
werden in die Datenbank aufgenommen, aber nicht sichtbar auf dem iPod. Am Besten entfernt man diese.
Verwaiste Einträge
sind immer noch im iPodControl/Musikordner, aber nicht in der Datenbank. Mit einem Rechte-Maus Klick können diese erneut zu der Datenbank hinzugefügt werden. (Podcasts werden jedoch nicht als solche erkannt)
Unsichtbare Einträge
sind in der iPod-Datenbank, aber weder in der "master playlist" noch in der "podcast playlist" und auch nicht in der "Artists"-Kategorie auf Ihrem iPod.

Wenn amaroK nicht in der Lage den iPod wieder in Ordnung zu bringen, so kannst du dich an gtkpod wenden.

Andere Geräte

Dein portabler Media-Player wird noch nicht unterstützt? Wie wäre es wenn du ein Modul für deinen Player schreiben würdest? Am besten lest du Writing a Media Device Plugin für Hinweise. Wir sind sehr glücklich über zusätliche Module und würden auch die generische Schnittstelle an die Anforderungen deines Gerätes anpassen (sofern möglich).