Was ist XMMS2?
Ich wurde gestern gefragt, was XMMS2 eigentlich sein soll und warum ich ihn in meinem Beitrag über Rack und XMMS2 benutzt habe.
etwas Geschichte
Der alte XMMS, der seit einigen Jahren nicht mehr aktiv weiterentwickelt wird, war der klassische Musikplayer. Er hatte ein Frontend, das an Winamp erinnerte, konnte dessen Styles verwenden und hatte Unmengen an Plugins. Irgendwann fanden sich andere Entwickler, die einen Nachbau von XMMS begonnen hatten und nun unter dem Namen Audacious verfügbar ist. Die gentoo-Entwickler gaben Audacious irgendwann den Vorzug und XMMS verschwand aus dem Portage.
Als der XMMS verschwunden war, probierte ich erstmal Audacious aus, der zu dem Zeitpunkt allerdings viele Bugs hatte und bei weitem nicht an das Vorbild heran kam. So konnte er nicht meinen kompletten Musikordner laden, sondern schmierte zwischendurch einfach ab.
Deswegen schaute ich mir mal an, was die XMMS-Entwickler eigentlich tun. So ein großartiges Projekt stellt man ja nicht ohne weiteres ein, wenn die Entwickler noch vorhanden sind. Und sie arbeiteten an XMMS2.
Nachfolger
Als erstes Vorweg, XMMS2 ist kein Nachfolger des XMMS. Er sieht nicht nur anders aus, auch die Funktionen unterscheiden sich teilweise erheblich.
XMMS2 ist eine komplette Neuentwicklung eines Musikplayers, der ein anderes Konzept verfolgt. Denn anders als beim XMMS, steht die Ausgabe und Verwaltung der Musik im Vordergrund.
Dazu wurde der Player in eine Serverapplikation verlagert, die durch die User gestartet werden muss. Sobald der Server einmal läuft, kann ueber einen Client, auf den Server zugegriffen werden.
Da sich aber, wie so oft, die Geschmaecker unterscheiden, gibt es bei der Grundinstallation nur einen Konsolenclient dazu, der allerdings die volle Funktionalität abdeckt. Weitere Clients können problemlos in fast jeder beliebigen Sprache geschrieben werden. Es gibt Sprachanbindungen fuer Java, Mono, Ruby, Python, Perl, C++ und einige weitere. Eine eigene Sprachanbindung kann auch verwirklicht werden, so lang man die Library in C schreiben kann, wie zum Beispiel bei TCL.
Es gibt schon eine vielzahl von Clients, die benutzt werden koennen. Zudem gibt es Installationspakete in Debian, Ubuntu, Archlinux und einigen anderen Distributionen.
Der Vorteil der Serverarchitektur liegt fuer mich darin, dass ich den Deamon starten kann, ohne dass ich unbedingt einen Client am laufen haben muss, der die ganze Zeit in der Programmleiste herumlungert. Da ich den Server über Konsole steuern kann und ich sowieso sehr viele Konsolen offen habe, ist es für mich ein leichtes, den Player zu bedienen. Ich habe mich auch über die Python-Bindings eine Anbindung fuer X-Chat an XMMS2 geschrieben, um Leute mit meinem Lied zu nerven oder XMMS2 zu bedienen.
Neben den Anbindungen für die vielen Programmiersprachen, bietet XMMS2 auch noch ein paar sehr nette Funktionen. So wird im Hintergrund eine Mediendatenbank verwaltet, in der man schnell nach Informationen zu Liedern suchen kann, wie zum Beispiel Artist, Songtitel, Erscheinungsjahr usw. Diese Informationen werden aus den Dateien selbst heraus gelesen. Das bedeutet, dass zusätzliche Informationen, wie sie zum Beispiel bei ogg-files hinterlegt werden können, auch in der Datenbank enthalten sind.
Zusätzlich kann man die Daten der Lieder ändern, nach dem Suchen in die Playlist laden und so weiter.
XMMS2 bietet auch die Möglichkeit mehrere Playlists zu verwalten, ohne jedoch immer wieder die Playlisten über pls-files zu laden. Diese sind, im Falle des Konsolen Clients, einfach über den Namen erreichbar.
Eine echte Neuerung finde ich allerdings die Collections. Collections sollen dazu dienen, die eigene Musik besser verwalten zu können. So ist zum Beispiel denkbar, dass man allen Liedern bestimmte Keywords gibt und diese so je nach Stimmungslage auswählen kann oder das sogar der Client merkt, wie die Stimmung des Zuhörers ist und er anhand der Collections passende Musik heraussucht.
Ich bin leider noch nicht dazu gekommen, dieses Feature zu testen. Deswegen weiß ich auch nicht, wie weit die Implementierung an dieser Front ist. Wenn ich mal dazu komme, diese Funktion zu testen und ich ein Ergebnis habe, werde ich das hier natürlich schreiben.
Fazit
Der XMMS2 befindet sich immer noch in der Entwicklung, ist aber sehr gut zu gebrauchen. Ich benutze seit über einem Jahr nur noch den XMMS2 und bin vollauf zufrieden. Ich kann ihm eigentlich jedem Empfehlen, der gerade auf der Suche nach einem neuen Player ist. Dabei ist es eigentlich egal, ob ein Frontend von Nöten ist oder nicht, da es durchaus schicke Frontends gibt.
Und ihr seht ja selbst, wie schnell es geht, einen eigenen Client fuer diesen Player zu schreiben. Versucht das mal mit einem anderen Player ;o)