# Entwickler-Handbuch zu &amarok;

Falls Sie bei der Entwicklung von &amarok; mithelfen möchten (z. B. durch Beisteuern von Kode, Graphiken, Dokumentation oder sonstigem), dann schreiben Sie bitte eine Email an amarok-devel@lists.sourceforge.net, oder besuchen Sie uns im IRC: Kanal #amarok, Netzwerk: irc.freenode.net.

Sie können auch unsere Mailingliste abonnieren und wertvolle Kommentare beisteuern, während Sie den Fortschritt mitverfolgen :)

Ihre Beiträge und Feedback sind sehr willkommen, wir freuen uns auf ein Gespräch mit Ihnen.

## &amarok; Quell-Dateien

Die Dateien sind in alphabetischer Reihenfolge aufgelistet, dies entspricht aber natürlich nicht ihrer Wichtigkeit. Die wichtigsten Dateien sind app.cpp, playlist.cpp und playerwindow.cpp.

Datei | Anwendung
--- | ---
actionclasses.cpp | Stellt ein QPopupMenu bereit. Es enthält &amarok;'s Konfigurations-Optionen, Beenden und ein KHelpMenu, welches einem das Instantiieren vieler Hilfemenüs erspart.
amarokconfig.cpp | KConfig-XT
amarokfilelist.cpp | Wird zur Zeit nich verwendet. Wird später zum Sortieren von KFileLists benutzt.
app.cpp | Dies ist die von kapplication abgeleitete Klasse, sie ist Parent für viele fundamentale Objekte, z. B. engine, dcop, Kontrollleiste, Widgets der obersten Ebene, usw.
browserbar.cpp | Behandelt die Browser, das KMultiTabBar Widget und die angepassten Splitter.
browserwin.cpp | Dies ist nur ein Container-Widget für Playliste, Werkzeugleiste und Browserleiste.
collectionbrowser.cpp | Im Aufbau. Ist eine Art Medien-Bibltiothek.
effectwidget.cpp | Das Widget für die Effekt-Konfiguration der Treiber.
enginecontroller.cpp | Schnittstelle zwischen &amarok; und dem Treiber
fht.cpp | &amarok;'s anspruchsvolle und flexible FHT-Routine zur Spectral-Analyse.
filebrowser.cpp | Der Dateibrowser.
kbookmarkhandler.cpp | Wird vom Dateibrowser verwendet.
osd.cpp | Eine sehr schöne OSD-Klasse, sie ist nicht &amarok;-spezifisch und sehr flexibel.
playerwindow.cpp | Dies ist das kleine Widget mit dem rollenden Text, Analyzer und den Wiedergabe/Pause-Knöpfen.
playlist.cpp | Dies ist die große Klasse mit dem Wiedergabelisten-Widget.
playlistbrowser.cpp | Der Wiedergabelisten-Browser.
playlistitem.cpp | Von KListViewItem abgeleitet, Wiedergabelisten-Einträge.
playlistloader.cpp | Läd rekursiv Ordner, KURLs und Wiedergabelisten-Dateien in das Wiedergabelisten-Widget. Arbeitet mit Threads im Hintergrund. Fragt den Treiber, ob es unbekannte Dateitypen spielen kann.
pluginmanager.cpp | Handhabt das &amarok; Plugin-System.
sliderwidget.cpp | Das vom Player-Widget benutzte angepasste Slider-Widget. Ist ein Kandidat für Refactoring durch Ableiten von QSlider.
streambrowser.cpp | Ein Widget, das von Meta-Servern heruntergeladene Stream-Listen anzeigt.
systray.cpp | &amarok;'s Symbol in der Kontrollleiste. Klein und kompakt.
threadweaver.cpp | Flexible Klasse, die Ergebnisse von Jobs in eine Warteschlange einreiht, bearbeitet und verteilt. Benutzt einen separaten Thread. Wird von verschiedenen &amarok;-Komponenten genutzt.
tracktooltip.cpp | Ist nicht direkt dem Wiedergabelisten-Widget zugehörig. Wird vom Wiedergabelisten-Widget benutzt, um diverse Informationen über das aktuell laufende Stück anzuzeigen.