mecker. mecker. mecker.

cmus – c* music player

cmus ist ein kleiner, auf ncurses ba­sie­ren­der, fast und be­die­nungs­freund­li­cher Musik-Player. Ich will ihn nur noch kurz vorstellen, denn ab heute werde ich einen anderen nutzen. Doch das zum Schluss.

Screenshot vom cmus

Ich nutze das Programm schon etwas länger, leider ist das etwas der Party-Killer, wenn man sowohl einen Linux/KDE-Rechner UND dazu noch cmus als Jukebox nimmt und die Audienz Maus­schub­ser sind. cmus ist sehr schön zu bedienen, es hat eine Vim-like Steuerung, d.h. über :add ~/Music lässt sich in windeseile Musik hinzufügen und es wird alles hübsch ein­sor­tiert. Dabei gibt es insgesamt sieben Ansichten: (1) Library, sortiert nach Artist/Album, (2) flache Liste von allem, (3) Playlist.pl, derzeitige Playlist, (4) Play-Queue, hat Vorrang zu (3), (5) Da­tei­brow­ser, (6) Filter und (7) sind die Ein­stel­lun­gen.

Steuern lässt sich cmus wie von Amarok und anderen Playern gewohnt und auch all­ge­mein­hin bekannt mittels C (Play/Pause), Z (Back) und B (Next). Das Browsen ist etwas hakelig, denn es funk­tio­niert mit den Pfeil­tas­ten Rauf und Runter, niemals seitwärts, denn das ändert die Position im aktuellen Stück. Zum switchen in den Fenstern nutzt man Tab. Mittels / wird gesucht, kennt man ja aus Vim, aber schön ist das nicht. Mittels mehr oder weniger of­fen­sicht­li­chen Tasten S (Random), R (Repeat) und T (Zeit­an­zei­ge) führen häufiger zu un­ge­wünsch­ten Aktionen. Ein mehr­ma­li­ges Lesen der man-Page ist emp­feh­lens­wert. Leider. Insgesamt ziemlich ausgereift, ungemein schnell und hey, es ist CLI!1

Last.fm-Support gibt es per Default nicht, sondern nur über obskure Patches, die die Login-Daten fest in die Binary reincoden (wahrlich meis­ter­haft), dafür gibt es dann bsw. ein Skript, das dann in status_display_program /path/to/last-cmus.py gesetzt werden muss. Allgemein ist cmus skriptable, aber irgendwie sehr ge­wöh­nungs­be­dürf­tig über ‘nen Socket oder direkt via cmus-remote.

Warum ich nun wechsle? Die API ist wirklich behindert. Also das lässt sich nicht anders sagen. Man bekommt von cmus selbst nur einen Aufruf, wenn der Track sich ändert. Dabei kann auch nur ein Skript aufgerufen werden. Alternativ lässt man sein Skript im Hin­ter­grund laufen. Argh. Gibt auch ein paar Extensions, aber cmus_add_similar.py wollte nicht so recht funk­tio­nie­ren. Wieso weiß ich nicht.

Ein weiterer Kritik-Punkt ist die Filtering-Option. Im Prinzip ganz schön, aber ohne scheiß, muss so etwas hier sein, um nach Akustik/Acoustic zu suchen? :filter filename="*acoustic*"|filename="*akustik*". Warum zum Henker geht denn kein :filter acoustic|akustik. Ich wollte es nicht bei zwei Phrasen belassen. Und kann man den Output speichern? Ist mir nicht gelungen.

Ach erwähnte ich schon, dass cmus nicht mit Umlauten im Dateinamen beim Filtering zu­recht­kommt? Mann, Mann, Mann. Unter OS X (brew install cmus) funk­tio­niert der Lautstärke-Regler übrigens nicht :-( Mein neues Glück versuche ich nun mit MoC. Denn so pro­ble­ma­tisch cmus für mich auch ist, es ist tau­send­fach besser als jede behinderte GUI!

blog comments powered by Disqus