111 lines
4.9 KiB
Markdown
111 lines
4.9 KiB
Markdown
|
+++
|
||
|
title = "Was ist XMMS2?"
|
||
|
date = "2009-06-23T12:47:00+00:00"
|
||
|
author = "Gibheer"
|
||
|
draft = false
|
||
|
+++
|
||
|
|
||
|
Ich wurde gestern gefragt, was [XMMS2](http://xmms2.xmms.se) 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](http://wiki.xmms2.xmms.se/wiki/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](http://wiki.xmms2.xmms.se/wiki/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)
|