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.

Veröffentlicht von DonKrawallo | 1. Juni 2009 20:00 | Kategorie: Projektvorstellung | # Fehler im Artikel melden

OlMightyGreek

1 1. Juni 2009 21:13

klasse programm! gibt es sowas auch mit etwas mehr gui und weniger "tab" und mehr maus? 😀

jecktr

Avatar von jecktr
2 1. Juni 2009 21:24

@1: ähm - Amarok 😀

LordNoxx

Avatar von LordNoxx
3 1. Juni 2009 21:25

Habs mir auch mal installiert...Und muss sagen es gefällt mmir ganz gut. ☺

OhNein

Avatar von OhNein
4 1. Juni 2009 22:15

♥ Für meinen kleinen, süßen Pentium 2 genau das Richtige. Bye bye Audacious! 🤓

Mike1

Avatar von Mike1
5 1. Juni 2009 23:23

Verwende ich schon länger, ist auch nett weil man mit Befehlen wie

mocp --next
mocp --previous
mocp --toggle-pause

den Player mit Scripten, Tastatur etc. steuern kann.

Mike1

Avatar von Mike1
6 1. Juni 2009 23:37

Mist, warum kann man Ikhaya-Kommentare nicht länger bearbeiten? Ein nettes Feature ist nämlich auch die Ausgabe z.B.

mike@mikespc:~$ mocp --format "Playing %song by %artist"
Playing Cries in Vain by Bullet for My Valentine
mike@mikespc:~$ 

Näheres natürlich in der man-page.

TTinSB

Avatar von TTinSB
7 2. Juni 2009 08:48

Hmmmmm, ich verwende MPD weil ich mit verschiedenen Frontends immer auf die gleiche Datenbank zugreifen möchte.

Für MPD gibt es neben Konsolenfrontends auch Webfrontends und natürlich grafische Frontends für GTK und QT.

Das scheint es für MOC jedoch nicht zu geben. Warum sollte man MOC also verwenden, wenn es MPD gibt? Über die Vorteile gegenüber MPD wird im Artikel leider auuch nichts erwähnt.

chimp-champ

Avatar von chimp-champ
8 2. Juni 2009 11:06

Die Lautstärke kann entweder um einzelne Prozentpunkte oder in 5er Schritten angehoben werden. Ersteres erreicht man per < und ⇧ + <, letzteres mit ? und ..

Was kommt denn bei letzteres dem ersten hin (wo ich das ? geschrieben habe), ich kann da garnichts erkennen?!

Interessierten sei der Artikel hier im Wiki ans Herz gelegt.

Danke für den interessanten Artikel

Gruß

chimp-champ

Ritze

Avatar von Ritze
9 2. Juni 2009 11:33

@8: Verbessert. Es sollte ein Komma sein.

suseuser

Avatar von suseuser
10 2. Juni 2009 12:01

@5: Das kann Banshee auch 😉

DonKrawallo

Avatar von DonKrawallo
11 2. Juni 2009 12:09

@7: Der größte Unterschied zu MPD ist, dass MOC keine Datenbank nutzt, sondern direkt mit den Dateien arbeitet. Dadurch entfallen einige Abhängigkeiten, das Programm wird schlanker und man muss weniger konfigurieren.

Für mich ist das ein Vorteil, solange man nicht anfängt für mehrere Benutzer über ein Netzwerk zu streamen.

Und das es keine GUI für MOC gibt: Naja, es gibt soviele wirklich spitzenmässige, grafische Musikprogramme (Amarok, Exaile, ...), da würde ein MOC mit GUI nur untergehen.

@5 & @6: Irgendwo musste ich kürzen. ☺

@8 & @9: Danke für den Hinweis und fürs verbessern. ☺

freebirth_one

Avatar von freebirth_one
12 2. Juni 2009 20:13

Also, die Hauptvorteile von moc fürmich

  • schlank

  • wenig abhängigkeiten

  • arbeitet direkt mit den Dateien

  • braucht keinen xserver

letzteres ist besonders praktisch, wenn man den aus irgendeinem Grund abschalten muss (GraKa-Konfig, Abmeldung, Xserver schmiert ab usw). Wenn man den auf ner tty startet, spielt der ungerührt weiter.

Ist beim mpd viell. auch so, aber der ist für meine Zwecke zu overbloated

freebirth_one

Avatar von freebirth_one
13 2. Juni 2009 22:18

Upgrade von 12:

Ich meknte natürlich, dass man den Xserver abschaltet und moc in ner TTy laufen lässt. nur um Ungereimtheiten auis dem Wg zu räumen

ph0x

Avatar von ph0x
14 3. Juni 2009 15:12

Der Grund weshalb ich moc nutze ist, dass mein mpd+icecast auf nem anderen Rechner läuft. Da ich diesen aber von meinem Rechner aus steuere, hätte ich mit einem grafischen Programm dann zwei Applikationen für die Musik laufen. Die Befehle für moc kann man bequem auf Multimediatasten legen und kriegt somit vom Abspielprogramm nichts mit.

wolle212

Avatar von wolle212
15 3. Juni 2009 16:05

Auf meinen etwas schmalbrüstigen Thinkpad 600e läuft zum Musikhören eigentlich nur moc. Das einzige was mich daran etwas stört, ist eine fehlende ReplayGain-Unterstützung auf Track- u. Albumbasis, als auch eine fehlende Datenbank. Dafür ist es sehr ressourcenschonend und intuitiver zu bedienen als cmus.

Alles was ich brauche, wäre eine Mischung aus moc und cmus ^^

Moses-junior

Avatar von Moses-junior
16 4. Juni 2009 14:34

@12: Also wenn mein X-Server mal abschmiert (was er schon sehr lang nicht mehr gemacht hat), dann versuche ich den auf schnellstem Wege wiederherzustellen. Dazu brauch ich allerdings keine Musik. Die mach' ich wieder an, wenn alles wieder so läuft, wie es soll...

nisita

17 4. Juni 2009 20:31

ich selbst sehe gegenüber mpd keine vorteile. klar man brauch so keine datenbank, aber gleichzeitig ist das auch der nachteil, da man so nicht nach artist / titel etc suchen kann bzw. nicht performant genug. und mpd und overloaded, naja ich weiß ja nicht. ich meine da gibt es sachen die sind deutlicher "overloaded" und darüber beschwert sich keiner...

DonKrawallo

Avatar von DonKrawallo
18 4. Juni 2009 23:02

@17: ich persönlich finde das MOC Interface besser gelungen als alles, was ich für mpd gefunden habe. Wenn man von den GUIs absieht 😉

spbfreaker

Avatar von spbfreaker
19 5. Juni 2009 01:51

Klasse programm!!!!!

CodingFreak

Avatar von CodingFreak
20 5. Juni 2009 16:50

G.Nial.... Sogar Webstreams laufen drauf ☺ super für den gelangweilten Server-Admin ohne Gnome xD

Mo3bius

Avatar von Mo3bius
21 5. Juni 2009 22:42

Ganz schnikkes Teil. Mal sehen, vielleicht bleibe ich dabei ☺

feuerloescher

Avatar von feuerloescher
22 6. Juni 2009 23:37

Muss sagen, finde das Programm klasse. Kannte es vorher nicht und bin begeistert. Mein Laptop ist nicht der schnellste, moc läuft super und ein Terminal ist schneller gestartet als bspw. Rhythmbox. Selbst unter Xubuntu hatte ich mit dem Programm immer Wartezeit einzuplanen. Vielen Dank an DonKrawallo für den Hinweis.

1984

Avatar von 1984
23 7. Juni 2009 01:38

Ich LIEBE dieses Programm!!! Genau das was ich schon immer wollte!

1984

Avatar von 1984
24 7. Juni 2009 01:42

btw, bei mir sind die themes unter /usr/share/moc/themes ! das ist im artikel scheinbar falsch!

HHannes

25 24. Juni 2009 07:16

verwende den MOC auch schon einige Zeit.

Genial dran finde ich die Terminalfähigkeit: dadurch kann ich die Musik (am Server abgespielt) über den Netbook, ja sogar über mein Nokia E61i (S60 3rd) Handy per PuTTY steuern –> die beste WLAN Fernbedienung weltweit ☺