staging.inyokaproject.org

[Projektvorstellung] MOC: Music On Console

projektvorstellung.png

Music On Console (MOC) ist ein schlankes Musikprogramm für, wie der Name schon verrät, die Konsole. Es arbeitet mit einer Client-Server-Struktur, ähnlich wie der Music Player Daemon. Auch in Funktionalität steht MOC seinem großen Bruder in nichts nach.

In den Ubuntu Paketquellen schlummert so manche, nur Eingeweihten bekannte, Perle. Music on Console ist so eine. MOC ist ein Musikprogramm auf ncurses Basis. Es läuft in einer Client-Server-Struktur. Der Server übernimmt das Abspielen der Datei oder des Streams und über den Client ist es möglich den Server zu steuern. Es ist aber auch möglich den Server alleine zu starten und per Konsole zu steuern. Damit kann man MOC (nahezu) problemlos in die eigenen Scripte einzubauen.

Bildschirmfoto-MOC.png
Music On Console

MOC bietet dem Musikfreund nahezu alles, was er benötigt. Music On Console kann mit beinahe jedem Musikcodec umgehen, also nicht nur die de facto Standards mp3 und vorbis, sondern bietet beispielsweise auch AAC- und .wav-Support. Natürlich gehört auch das Streamen von Internet-Radiosendern mit zu den Funktionen, sowie die Fähigkeit mit Playlists im m3u- und pls-Format umgehen zu können.

Bedienung

Gestartet wird MOC mit dem Befehl „mocp“. Diesem Befehl können noch diverse Schalter angehängt werden, um etwa den Server zu steuern. Ohne irgendwelche Schalter werden Server und Client gestartet.

Der Client erscheint als 2 geteiltes Fenster mit einer Statusleiste für Informationen über das aktuell abgespielte Lied. Auf der linken Seite befindet sich der Dateibrowser, auf der rechten die aktuelle Playlist.

Hin und her wechseln kann man Tab ⇆ . Um Lieder in die Playlist auf zu nehmen, reicht es die passende Datei auszuwählen und A zu drücken. Hat man nun eine Reihe von Lieder in die Playlist aufgenommen, wechselt man mit Tab ⇆ in selbige und startet die Wiedergabe mit . Man pausiert die Wiedergabe mit P oder          und hält sie mit S komplett an. Mit und spult man zurück bzw. vor. Ein Lied vor springt man mit N und eins zurück mit B . Einzelne Stücke können mit D aus der Playlist entfernt werden, während + C die komplette Playlist leert.

Die Lautstärke kann entweder um einzelne Prozentpunkte oder in 5er Schritten angehoben werden. Ersteres erreicht man per < und + < , letzteres mit , und . .
Natürlich verfügt Music On Console auch über eine Zufalls- und Wiederholungsfunktion. Diese werden über + S bzw. + R aktiviert und deaktiviert.

Wenn man dann genug Musik gehört hat, beendet man das Programm mit + Q . Dies beendet beides, Server und Client. Um nur den Client zu beenden, drückt man Q . Den Server beendet man per

mocp -x 

Installation

Music On Console ist in den Paketquellen von Ubuntu vorhanden, so dass ein einfaches

sudo apt-get install moc 

reicht. Wer Internetstreams (Internetradio und ähnliches) über MOC hören möchte, sollte, wie von der Paketverwaltung vorgeschlagen, das Paket moc-ffmpeg-plugin installieren.

Selber bauen

Normalerweise ist das kompilieren des Quellcodes nicht nötig, da das Ubuntu Paket alles unterstützt, was Music On Console unterstützen kann. Wer aber trotzdem MOC selbst kompilieren möchte, kann sich das jeweils aktuelle Paket von der Homepage herunterladen.

Das Archiv entpackt man an einer geeigneten Stelle und wechselt im Terminal in dieses Verzeichnis. Nun führt man folgende Befehle aus:

sudo apt-dep moc
./configure
make
sudo make install 

Danach sollte man, wenn nichts schief gegangen ist, ein lauffähiges MOC installiert haben.

Konfiguration

Music On Console bietet ausreichend Möglichkeiten zur Anpassung an die persönlichen Bedürfnisse. Zum einem gibt es die (fast schon obligatorische) config Datei, in der eine allgemeine Konfiguration vorgenommen werden kann, und zu anderem gibt es noch die keymap Datei, die für die Tastenbelegung zuständig ist.

Es empfiehlt sich, die Beispieldateien als Grundlage zu benutzen. Dazu kopiert man die Dateien config.example und keymap.example aus dem Verzeichnis /usr/local/share/doc/moc/ in das Verzeichnis ~/.moc/ und entfernt die Dateiendungen.

Den vollen Umfang dieser 2 Dateien und ihrer Möglichkeiten hier zu beschreiben, übersteigt leider die Möglichkeiten dieses Artikels. Interessierten sei der Artikel hier im Wiki ans Herz gelegt.

Besondere Erwähnung sollen hier die sog. Fastdirs erhalten. Damit hat man die Möglichkeit, innerhalb des Dateibrowsers direkt in ein festgelegtes Verzeichnis zu springen. Gerade bei einer weit verzweigten Ordnerstruktur ist diese Funktion besonders hilfreich. Es gibt zehn fastdirs, so dass ausreichend Sprungpunkte vorhanden sein sollten.

Projektvorstellung-MOC(nightly-theme).png
MOC mit nightly Theme

Ebenfalls interessant sind die Themes für den Client. Innerhalb des Clients erreicht man das Theme-Verzeichnis per + T und zurück kommt man mit Tab ⇆ . Möchte man ein eigenes Theme erstellen, reicht es eine entsprechende Datei in /usr/local/share/moc/themes/ zu erstellen. Als Vorlage kann hier eine bereits existierende Theme-Datei dienen.
Leider kann es zu Problemen in der Darstellung kommen, wenn man im Client das Theme wechselt. Abhilfe schafft hier, den Client mit Q zu verlassen (der Server bleibt), und mittels

mocp -T <Theme-Name> 

den Client neu zu starten. Nun sollte man das gewählte Theme in voller Pracht genießen können.

Ein Open-Source-Projekt

Music On Console ist ein klassisches Open-Source-Projekt und so hat die Gemeinschaft nicht nur Patches und Bugfixes geschrieben, einige nützliche (oder zumindest interessante) Scripte, die dementsprechend auf der Homepage von MOC zu finden sind. Als Beispiel seien hier ein Lastfm-Script und ein Lyrik-Script genannt. Die Interessierten dürfen sich auf Homepage umsehen.