wtf.who.cares//linux

Back to the roots - MOC

a. mein Musikplayer (egal welcher) war schon immer im Autostart, Musik läuft bevor ich irgendein Programm starte, muss so sein bei mir ;-}
b. was ich nie wirklich benötigte: Datenbank, Suchfunktionen, Equalizer, Titelbilder, Lyrics. Selbst eine Playliste benötige ich nicht, weil ich meine Musik in Verzeichnissen sortiert habe (Fav-1, Fav-2, Klassik, Jazz, etc, etc) c. alles ausprobiert, aber bevorzugt habe ich dann Player wie deadbeeef oder pragha (der hat eine Datenbank, ist aber "schlank".

Wie so oft, wenn ich in den Weiten des WWW etwas suche, stosse ich öfter mal auf etwas, was mit dem Suchthema nicht viel zu tun hat (eine Folge ungenauer Suchbegriffe), in dem Falle war es MOC. Ein Musik Player für das Terminal. Nicht wirklich mein Thema, ich mag GUIs, ich mag es bunt. Wobei jetzt bei deadbeef im Systray auch nicht mehr viel GUI zu sehen ist :-)

Spieltrieb, also MOC ausprobiert. So unter uns Anhängern des Minimalismus, eigentlich kann der alles, was ich benötige (oder auch, was er nicht kann, benötige ich auch nicht). MOC profitiert natürlich ungemein davon, dass meine Musik Themen in Verzeichnissen sortiert sind, aber er kann auch Playlisten erzeugen. Wo MOC sich dann endgültig auf das Siegertreppchen schwingt, sein Ressourcenbedarf = <10MB RAM.

dann noch ein bisschen Recherche wie ich das im Fluxbox Startup so einbinde, dass es sofort Musik abspielt: mocp -S && mocp -o r,s,n && mocp -l /home/winnI/Musik/kmusik/*; mocp & fertig ist die Laube (wie man bei uns so sagt). Da MOC als Service im Hintergrund läuft, benötigt es natürlich auch kein Terminal.

Steuerung von MOC im Server Modus

Natürlich mag man es da auch etwas bequemer. Der Klassiker wären Wiedergabelisten, aber das macht (kann ja) jeder. Für den typischen(?) Fluxbox Benutzer gibt es natürlich auch eine typische(?) Fluxbox Lösung. die Integration in ein Fluxbox Submenü. Das kann man entweder direkt in das Rootmenü einbinden, oder, was ich als sinnvoller betrachte, direkt auf eine Taste (bei mir die "Menu" Taste).

Als Fluxbox-Nutzer ist man ja den Umgang mit Textdateien gewohnt, aber das ist jetzt nicht der schnelle (komfortable) Weg um ein paar 100 Alben und Verzeichnisse mit Zusammenstellungen zu integrieren. Aber wir reden hier von einem Musik Player für die Konsole, der im Hintergrund läuft und gerade mal 10MB Ram benötigt.

Wenn man Rom nicht gerade in einer Woche bauen will, sondern es nebenbei wachsen lässt, ist es ein praktikabler Weg jeden Tag ein paar Verzeichnisse einzubinden. Bevorzugt wenn man diese Musik gerade hört. Im Endeffekt beschränkt sich die Arbeit zu 90% auf Copy&Paste.

In einem Forum wurde ich gefragt, wie so eine Fluxbox-Menü-Datei für MOC aussieht.

Disclaimer: Ich bin ein Zwerg auf den Schultern von Riesen = der relevante Teil des Aufrufs ist nicht von mir, ich bin nur ein großer Copy&Paste-Künstler ;-}

[begin] (moc)
[exec] (MOC start/stop) {mocp -x} </home/winnI/myicons/stop.png>
[exec] (MOC next) {mocp -f} </home/winnI/myicons/next.png>
[exec] (MOC previous) {mocp -r} </home/winnI/myicons/previous.png>
[exec] (MOC toggle pause) {mocp -G} </home/winnI/myicons/pause.png>
[separator]
[exec] (Mike Oldfield, Tubular Bells) {mocp -S && mocp -o r,s,n && mocp -l "/home/winnI/Music/A-Div/Tubular Bells (The Original Remastered).mp3"; mocp} </home/winnI/myicons/sound.png>
[exec] (Jean-Michel Jarre, Oxygène) {mocp -S && mocp -o r,s,n && mocp -l "/home/winnI/Music/A-Div/Oxygène 1-13 (Jean-Michel Jarre).mp3"; mocp} </home/winnI/myicons/sound.png>
[separator]
[exec] (kmusic) {mocp -S && mocp -o r,s,n && mocp -l /home/winnI/music/kmusic/*; mocp} </home/winnI/myicons/icons/folder2.png>
[exec] (a-div) {mocp -S && mocp -o r,s,n && mocp -l /home/winnI/Music/A-Div/*; mocp} </home/winnI/myicons/icons/folder2.png>
[exec] (auto alt) {mocp -S && mocp -o r,s,n && mocp -l /home/winnI/music/auto-alt/*; mocp} </home/winnI/myicons/icons/folder2.png>
[Untermenü] (Keith Jarret) </home/winnI/myicons/icons/folder2.png>
[exec] (The Cologne Concert) {mocp -S && mocp -o r,s,n && mocp -l "/home/winnI/music/jazz/keith_jarret/The Cologne Concert/"*; mocp} </home/winnI/myicons/sound.png>
[exec] (My Song) {mocp -S && mocp -o r,s,n && mocp -l "/home/winnI/music/jazz/keith_jarret/1977_My Song/"*; mocp} </home/winnI/myicons/sound.png>
[exec] (Works) {mocp -S && mocp -o r,s,n && mocp -l "/home/winnI/Music/jazz/keith_jarret/1985_Works/"*; mocp} </home/winnI/myicons/sound.png>
[exec] (Invocations CD1) {mocp -S && mocp -o r,s,n && mocp -l "/home/winnI/music/jazz/keith_jarret/Invocations CD1/"*; mocp} </home/winnI/myicons/sound.png>
[exec] (Invocations CD2) {mocp -S && mocp -o r,s,n && mocp -l "/home/winnI/music/jazz/keith_jarret/Invocations CD2/"*; mocp} </home/winnI/myicons/sound.png>
[end]
[submenu] (Al Di Meola) </home/winnI/myicons/icons/folder2.png>
[exec] (Saturday Night in San Francisco) {mocp -S && mocp -o r,s,n && mocp -l "/home/winnI/music/jazz/Al Di Meola/Friday Night In San Francisco/"*; mocp} </home/winnI/myicons/sound.png>
[exec] (Passion, Grace And Fire) {mocp -S && mocp -o r,s,n && mocp -l "/home/winnI/music/jazz/Al Di Meola/1983 _ (Feat. Paco De Lucia & John McLaughlin) Passion, Grace And Fire/"*; mocp} </home/winnI/myicons/sound.png>
[end]
[submenu] (Andreas Vollenweider) </home/winnI/myicons/icons/folder2.png>
[exec] (Hinter den Gärten-Hinter der Mauer-unter dem Baum) {mocp -S && mocp -o r,s,n && mocp -l "/home/winnI/music/unsorted/Andreas Vollenweider/Hinter den Gärten-Hinter der Mauer-unter dem Baum/"*; mocp} </home/winnI/myicons/sound.png>
[exec] (Caverna Magica) {mocp -S && mocp -o r,s,n && mocp -l "/home/winnI/music/unsorted/Andreas Vollenweider/Caverna Magica (...Under the Tree - In the Cave...)/"*; mocp} </home/winnI/myicons/sound.png>
[exec] (Down to the Moon) {mocp -S && mocp -o r,s,n && mocp -l "/home/winnI/music/unsorted/Andreas Vollenweider/Down to the Moon/"*; mocp} </home/winnI/myicons/sound.png>
[exec] (White Winds) {mocp -S && mocp -o r,s,n && mocp -l "/home/winnI/music/unsorted/Andreas Vollenweider/White Winds_ (Seeker's Journey)/"*; mocp} </home/winnI/myicons/sound.png>
[end]
[Trennzeichen]
[exec] (Einträge bearbeiten) {featherpad /home/winnI/.fluxbox/submenus/moc} </home/winnI/.fluxbox/fbmenugen/icons/4b39d86c257173fff457b9efbfdf7ea3.png>
[end]

Conclusio

MOC, auch "Music on Console" genannt war zuerst nur etwas für meinen Spieltrieb und zur Pflege meines Hangs zum Minimalismus. Ich bin jetzt wirklich kein Fan von Anwendungen in der Konsole, mal vom Midnight Commander abgesehen. Aber ich stell mir dann auch schon mal die Frage, muss es eine GUI Anwendung sein von der ich >50% der Möglichkeiten nie ausnutzen werde, wenn eine Konsolenanwendunge absolut ausreichend ist?

Nachdem ich um MOC dann noch eine mir gefälligere Menüführung bastelte, die unabhängig von der Konsole direkt den MOC Server steuert hatte ich jetzt schon einen Großteil meiner Ansprüche befriedigt.

Das letzte was mir noch fehlte war eine Einbindung in das System, also das er mir als Möglichkeit angeboten wird, wenn ich mit dem Dateimanager eine Musik Datei markiere.

Das ist jetzt nicht perfekt umgesetzt, aber es funktioniert.

Wie so oft war die Lösung eine eigene desktop Datei für MOC die man in ~/.local/share/applications rein kopiert. Damit steht sie dem System, bzw dem aktuellen Benutzer, zur Verfügung. Das war es dann schon.

Nicht perfekt bedeutet in dem Zusammenhang, das MOC ein Terminalfenster öffnet und die Datei auf der rechten Seite in der Playliste steht und man noch einmal [enter] drücken muss. Einen automatischen Start hab ich mit meinen Kenntnissen nicht realisieren können. Die Desktop Datei ist einfach, wenn man schon ein paar geschrieben hat.

[Desktop Entry]
Type=Application
Name=MOCP
GenericName=Music Player
GenericName[de]=Music mit mocp abspielen
Comment=Music-Player
Exec=mocp
Icon=/media/DATA/myicons/WMP.png
Terminal=true
Type=Application
StartupNotify=false
Categories=Audio;AudioVideo;Player;GTK;
MimeType=audio/mp3;

sie funktioniert zumindest

Moc ist dann auch über das Fluxbox Rootmenu, Rofi und xfce4-appfinder aufzurufen.

Damit ist das "Bastel Projekt MOC" abgeschlossen, mal davon abgesehen das im Laufe der Zeit das Menü zum Direktaufruf von Musikdateien weiter wachsen wird.