MOC — zaawansowane sztuczki
26 czerwca 2007, Treadstone
W niedawnym artykule MOC muzyki w konsoli Roman Tworkowski opisał program MOC. Pomimo że żyjemy w czasach przepięknych interfejsów graficznych, compizów i KDE itp., uważam, że dla niektórych (w tym dla mnie) jest on lepszym rozwiązaniem niż popularny xmms, amarok czy inne, graficzne programy. Dlaczego? Już wyjaśniam. W tym artykule opiszę mniej typowe opcje tego doskonałego odtwarzacza.
Pierwszym moim argumentem przemawiającym za MOC jest użycie komputera. Nie przytoczę tutaj stosu liczb przemawiającym za tym, że MOC wygrywa, ale na pewno niektórzy z Was wiedzą, co to znaczy na słabszych maszynach uruchamianie amaroka. Sam interfejs graficzny tego programu powoduje, że nie mając uruchomionego KDE musimy czekać dość długą chwilę aż podstawowe jego funkcje zostaną załadowane do naszej (często skromnej) pamięci operacyjnej.
Trzeci argument, być może najważniejszy, niech zostanie zobrazowany przez pytanie: „A po co mi te wszystkie funkcje?”. Zakładam, że jesteś typem człowieka, który po prostu chce posłuchać muzykę. Nie potrzebne Ci są do tego wizualizacje, bajeczny wygląd programu, setki skór do ściągnięcia, wyświetlanie okładek płyt czy zaawansowane moduły OSD. Przyda się za to możliwość słuchania muzyki w tle (nawet po wylogowaniu), dostęp spod samej konsoli gdy zabawy z Linuksem spowodowały tymczasowy brak X, rozpoczęcie odtwarzania muzyki wraz z startem systemu, czy też łatwe sterowanie poprzez wydawanie komend, czy wykorzystanie multimedialnych klawiszy.
Jeśli powyższe argumenty Cię zachęciły, MOC jest właśnie dla Ciebie! Więc zaczynamy
Instalacja
Instalacja jest jak najbardziej standardowa, moc jest w pakietach w większości dystrybucji. Polecam również zainstalować pakiet moc-ffmpeg-plugin, gdyż bez niego nie będziemy mogli odtwarzać formatów wma, mp4, aac oraz RealAudio. W przypadku, gdy twórcy naszej dystrybucji nie udostępniają nam tego programu, możemy ściągnąć źródła z oficjalnej strony.
Szybki start
Gdy już przebrnęliśmy przez proces instalacji, czas na pierwsze uruchomienie programu. By to zrobić, w konsoli wpisujemy polecenie mocp. Oczom naszym ukaże się interfejs, który możemy od razu wykorzystywać do słuchania muzyki. Aby rozpocząć odtwarzanie muzyki, musimy (mając aktywną przeglądarkę plików -– przycisk TAB przełącza widok) znaleźć pliki z muzyką i po prostu mając zaznaczony wybrany plik nacisnąć Enter. Zatrzymujemy odtwarzanie przyciskiem s, natomiast wstrzymujemy spacją. Aby dodać plik do playlisty, naciskamy s. Gdy chcemy dodać wszystkie pliki z katalogu, wystarczy przytrzymać w/w przycisk bądź, mając zaznaczony katalog z muzyką, wcisnąć A. Przyciskiem d usuwamy wskazany utwór z listy odtwarzania, natomiast C czyści ją całą. Gdy już dodamy wszystkie istotne pliki, aktywujemy playlistę (TAB) i wyłączamy przeglądarkę przyciskiem l. Teraz, mając widok playlisty przyciskiem TAB możemy przełączać się pomiędzy pełnym widokiem przeglądarki a listy odtwarzania. Spis tych oraz innych skrótów klawiaturowych umieściłem na końcu tego artykułu.
Plik konfiguracyjny.
Poniżej podaję swój plik konfiguracyjny wraz z komentarzami dotyczącymi konkretnych opcji. Jest on gotowy do używania – wystarczy zapisać go do pliku ~/.moc/config. Można w nim zmienić opcję dotyczącą ścieżek do katalogów, gdy ktoś nie chce się bawić w konfigurację.
- Plik konfiguracyjny MOCmojego autorstwa
Jeśli skonfigurowałeś MOC w inny sposób i chcesz podzielić się tą konfiguracją zapraszamy do posyłania swoich plików konfiguracyjnych wraz z opisem na adres michuk@jakilinux.org bądź bezpośrednio do mnie na lukiasz@gmail.com
Dodatki
Klawisze multimedialne w klawiaturze -– jak je wykorzystać w MOC?
Obecnie większość nowych klawiatur posiada klawisze multimedialne. Do Windows dostajemy wraz z nimi sterowniki, a czemu nie wykorzystać ich (klawiszy, nie sterowników
pod Linuksem? Ktoś wpadł na taki pomysł już dużo wcześniej i napisał program xbindkeys, który umożliwia nam podpięcie dowolnych komend pod klawisze zwykłe, jak i multimedialne. Jest on dostępny w większości dystrybucji, lecz gdyby z naszą było inaczej –- na tej stronie są źródła programu ściągnięcia oraz sposób instalacji.
Gdy już mamy xbindkeys na dysku, w otwartej konsoli wpisujemy polecenie: xbindkeys -k, a następnie wciskamy dowolny przycisk, pod który chcemy podpiąć polecenie. Pokaże nam się coś podobnego do:
Press combination of keys or/and click under the window.
You can use one of the two lines after "NoCommand"
in $HOME/.xbindkeysrc to bind a key.
"NoCommand"
m:0x0 + c:160
NoSymbol
Trzy przedostatnie linijki kopiujemydo pliku ~/.xbindkeysrc. W miejsce NoCommand wpisujemy polecenie (w cudzysłowie) jedno z poniższych:
mocp --play dla uruchomienia serwera MOC i rozpoczęcia odtwarzania, bądź (jeśli MOC chodzi) rozpoczęcia odtwarzania;
mocp --stop dla zatrzymania muzyki;
mocp --toggle-pause dla pauzowania odtwarzania i wznawiania spauzowanego utworu;
mocp --next dla rozpoczęcia odtwarzania następnej piosenki;
mocp --previous – dla rozpoczęcia odtwarzania poprzedniej piosenki;
Możemy też inne polecenia wpisać, odsyłam do manuala, ale te wyżej wymienione wydają mi się najbardziej przydatnymi.
Więcej informacji na temat xbindkeys zdobędziemy wpisując man xbindkeys bądź wchodząc na oficjalną stronę programu.
MOC & Monitor systemowy
Z pewnością niektórzy z Was myśleli nad tym, czy można sprawić, żeby Moc pokazywał aktualnie wyświetlaną piosenkę w widocznym miejscu na pulpicie, czy umożliwiał integrację z naszym monitorem systemowym. Nie pisałbym tego, gdyby takiej możliwości nie było
Jak to zrobić? MOC daje nam użyteczny parametr –-info, który pokazuje nam aktualne informację dotyczące tego, co program aktualnie robi. Z kolei Conky daje nam funkcję execi, dzięki której możemy powodować, by wyświetlał on wyjście jakiegoś programu w swoim oknie. Możemy więc zrobić krótki skrypt, który będzie wyświetlał to, co zechcemy. Poniżej podaje przykład stworzony przez Folkena:
#!/bin/sh
TITLE="`mocp -i | grep 'Title:' | sed -e 's/^.*: //'`";
if [ "$TITLE" != "" ]; then
ARTIST="`mocp -i | grep 'Artist:' | sed -e 's/^.*: //'`";
SONGTITLE="`mocp -i | grep 'SongTitle:' | sed -e 's/^.*: //'`";
ALBUM="`mocp -i | grep 'Album:' | sed -e 's/^.*: //'`";
if [ "$ARTIST" != "" ]; then ARTIST="$ARTIST - "; fi
if [ "$ALBUM" != "" ]; then ALBUM="($ALBUM)"; fi
echo $ARTIST $SONGTITLE $ALBUM
else echo „MOC”
fi
W uproszczeniu program wyświetla tagi aktualnie odtwarzanego pliku, jeśli nic nie jest odtwarzane, wyświetla komunikat „MOC”, w którego miejsce możemy podstawić dowonly kawałek kodu, np. komunikat, że MOC nie jest uruchomiony. Aby Conky wyświetlał jego zawartość, wystarczy w wybranym miejscu (w pliku konfiguracyjnym) dopisać: ${execi 30 < ścieżka>/
Gdy nie używamy Conky, możemy także skorzystać z pluginu do gkrellm lub do panela w gnome. Kompilacja ich prawdopodobnie wymaga źródeł w/w programów. Nie testowałem ich, nie używam ani gkrellma ani gnome-panela, choć, jeśli podczas będzie cos niejasne, piszcie, mogę opisać instalację i konfigurację tych pluginów.
MOC i OSD
Sam Music on Console jako, że jest programem konsolowym, nie posiada w sobie możliwości wyświetlania OSD w trybie graficznym. Jednak osoba o nicku robo napisała na swoim czeskim blogu 2 skrypty w bashu z wykorzystaniem programu osd_cat oraz howto, jak za pomocą nich sprawić, by MOC wyświetlał nazwę piosenki, artysty, albumu, pasek postępu odtwarzania utworu oraz pasek głośności.
#!/bin/bash
FONT=-adobe-helvetica-bold-*-*-*-24-*-*-*-*-*-*-*
COLOR=red
SHADOW=0
TOTALSEC=`mocp --info | egrep "TotalSec:" | sed 's/TotalSec: //'`
CURRENTSEC=`mocp --info | egrep "CurrentSec:" |
sed 's/CurrentSec: //'`
PERCENT=`echo "$CURRENTSEC*100/$TOTALSEC" | bc`
mocp --info |
egrep "^Artist:|^SongTitle:|^Album:" |
osd_cat --offset=10 --indent=10 --color=$COLOR --font=$FONT
--shadow=$SHADOW &
osd_cat --offset=120 --indent=10 --color=$COLOR --font=$FONT
--shadow=$SHADOW --barmode=percentage --percentage=$PERCENT
oraz
#!/bin/bash
COLOR=red
SHADOW=0
# pasek lub procenty
BARMODE=slider
VOLUME=`amixer get Master | grep Front.Left: |
sed -e s/" Front Left: Playback [0-9]* ["// | sed -e s/"%.*"//`
osd_cat --offset=10 --indent=10 --color=$COLOR --shadow=$SHADOW
--barmode=$BARMODE --percentage=$VOLUME --delay=1
Pierwszy skrypt odpowiada za wyświetlanie autora, nazwy piosenki, albumu oraz pasku postępu odtwarzanego utworu. Drugi powoduje wyświetlenie wyświetlenie paska wskazującego aktualną głośność w systemie. Na co on się przyda? W połączeniu z poleceniem
amixer sset Master 1+ — dla zwiększenia głośności
lub
amixer sset Master 1- — dla zmniejszenia głośności
Daje dobre narzędzie do regulacji głośności na naszym komputerze. Używając xbindkeys możemy zrobić to tak:
"amixer sset Master 1+;~/.skrypty/volume.sh"
alt + b:4
"amixer sset Master 1-;~/.skrypty/volume.sh"
alt + b:5
Powyższe dwa wpisy dodane do pliku konfiguracyjnego xbindkeys powodują, że przy poruszeniu kółkiem myszy w górę/w dół przy trzymanym lewym przycisku alt zostanie zwiększona/zmniejszona głośność w systemie i wyświetlony ładny pasek pokazujący aktualne natężenie dźwięku. Zachęcam osoby mające klawiaturę multimedialną do wykorzystania powyższych skryptów używając dodatkowych klawiszy.
MOC podczas startu systemu
Jak już wiemy, MOC może działać bez uruchomionego interfejsu i po wylogowaniu, dlaczego nie mielibyśmy go dodać do skryptów startowych. Dzięki temu podczas ładowania ostatnich usług systemu już zaczną wybrzmiewać pierwsze sekundy utworu. Aby to zrobić, wystarczy do skryptów startowych dodać mocp –play. Krótki opis, jak to zrobić jest w artykule o rTorrent.
Myślę, że powyższe informację przydadzą się Wam, oraz kolejny raz pokażą, że konsola oraz programy pisane pod nią wcale nie muszą być nieprzydatne czy trudne w użyciu, a niekiedy są najlepszym rozwiązaniem w niektórych typach problemów spotykanych przez początkujących użytkowników Linuksa. Na sam koniec wracając jeszcze do opisywanego programu, podam spis używanych w MOC klawiszy.
Spis klawiszy
enter –- rozpoczyna odtwarzanie
s –- zatrzymuje odtwarzanie
n –- odtwarza następny plik z listy
b –- rozpoczyna odtwarzanie poprzedniego pliku
spacja lub p — Pauza
S –- przełącza na losowe wybieranie piosenek
R –- powoduje powtarzanie w kółko tego samego utworu. Uwaga, opcja Next (przycisk X, poniżej) musi być wyłączona
X –- przełącza na odtwarzanie piosenek po kolei
o –- odtwarza plik po wskazaniu adresu internetowego
u –- przenosi wskazany utwór wyżej w playliście
j –- przenosi wskazany utwór niżej w playliście
Ctrl+u -– dodaje adres URL do playlisty
g lub / — szuka wskazanego ciągu znaków w nazwach plików
r –- odczytuje ponownie zawartość katalogu
T –- przechodzi do okna wyboru stylu
f –- przełącza tryb wyświetlania tytułów piosenek
TAB -– przełącza pomiędzy widokami playlisty oraz przeglądarki
l –- przełącza pomiędzy wyświetlaniem przeglądarki i playlisty a tylko jednego elementu.
P –- przełącza wyświetlanie pełnych ścieżek do plików w playliście
H –- przełącza w tryb wyświetlania ukrytych plików
Ctrl-t -– przełącza wyświetlanie czasu trwania utworu
Ctrl-f –- przełącza wyświetlanie rozszerzenia pliku
m -– przechodzi do katalogu z muzyką, który wskazaliśmy w configu
G –- przechodzi do katalogu, gdzie znajduje się aktualnie odtwarzany plik
i –- przechodzi do wskazanego katalogu
U –- przechodzi do nadrzędnego folderu
a –- dodaje plik do playlisty
A –- dodaje do playlisty wszystkie pliki muzyczne ze wskazanego katalogu
C –- czyści playlistę
V –- zapisuję playlistę
d –- usuwa wskazany utwór z playlisty
Y –- usuwa wszelkie wpisy z playlisty, które wskazują na nieistniejące pliki
< -- Zmniejsza głośność o 1%
, -- Zmniejsza głośność o 5%
> — Zwiększa głośność o 1%
. — Zwiększa głośność o 5%
x –- przełącza kanał miksera
? — Pokazuje pomoc
! — przechodzi do katalogu ‘fast dir 1′ (ustawiane w configu)
@ — przechodzi do fast dir 2
# — przechodzi do fast dir 3
$ — przechodzi do fast dir 4
% — przechodzi do fast dir 5
^ — przechodzi do fast dir 6
& — przechodzi do fast dir 7
* — przechodzi do fast dir 8
( — przechodzi do fast dir 9
) — przechodzi do fast dir 10
F1 –- Uruchamia pierwsze ustawione polecenie (ExecCommand1) w configu
F2 –- Uruchamia ExecCommand2
F3 –- Uruchamia ExecCommand3
F4 –- Uruchamia ExecCommand4
F5 –- Uruchamia ExecCommand5
F6 –- Uruchamia ExecCommand6
F7 –- Uruchamia ExecCommand7
F8 –- Uruchamia ExecCommand8
F9 –- Uruchamia ExecCommand9
F10 -– Uruchamia ExecCommand10
W komentarzach będą pewnie pytania -– dlaczego nie MPD, który oferuje podobne, jeśli nie większe możliwości? Nie wiem, po prostu sam używm MOC i wydaje mi się on bardziej przyjazny, przynajmniej dla początkujących użytkowników, do których skierowany jest ten artykuł.
Komentarze (RSS) | Trackback (URI)
Liczba komentarzy: 21
W komentarzach możesz używać prostych znaczników HTML. Przykłady:
- Link: <a href="jaklinux.org">Linux dla każdego</a>,
- Wytłuszczenie: <strong>tekst pogrubiony</strong>,
- Kursywa: <em>tekst pochylony</em>,
- Przekreślenie: <strike>
tekst przekreślony</strike>, - Kod: <code>
printf("blok kodu");</code>, - Cytat: <blockquote>cytat</blockquote>




lepszy xmms z GTK1 a podobne użycie CPU, niestety jego następca audacious w GTK2 musi się tego nauczyć:p
Bardzo dobry i ciekawy artykuł. Gratuluję!
A tak przy okazji: zastanawiałem się jak zrobić distro tylko do odbioru radia internetowego na jakiegoś złoma. Wystarczyło by dorzucić tylko takie MOCP do jakiegoś freesco czy pocket linuksa czy trzeba było by jeszcze coś wgrywać?
Trzeba jeszcze zapłacić ZAIKS żeby smerfy cię nie sprzątnęły i nie skonfiskowały twojego kompa. Postawią ci zarzut o piractwo albo coś podobnego, a znając polskie prawo komputera już nie odzyskasz.
A mi MOC trzeszczy :/. Jednak wole xmms :). Chciałbym takiego foobarka na linuxa, ale cóż..
A MESK próbowałeś? Recenzja: Mesk Audio Player 0.2.1. To nie Foobar, ale filozofia zbliżona.
Hm, podejrzewam, że to prędzej problem z bibliotekami muzycznymi niż z playerem.
Zauważyłem, że ALSA/OSS próbują czasami wycisnąć z danej karty więcej niż ona potrafi. Stąd trzeszczenie na max głośności PCM. Demony dźwięku (ESD, Arts) zdają się eliminować ten problem, ale MOC raczej przez nie nie przechodzi. Spróbuj trochę wyciszyć PCM (do ok. 80%) i zobacz czy problem dalej występuje.
Jeśli używasz Gnome’a możesz wypróbować Rhythmboxa - używam na ogół. Taki lżejszy odpowiednik AmaroKa (ale może mi się zdawać - od pewnego czasu z aplikacji na QT już raczej nie korzystam).
Zmień sobie w konfiguracji OSS na ALSA albo odwrotnie - zależy co masz teraz ustawione. U mnie też strasznie trzeszczało i to pomogło.
Zgadzam sie z XLII - jak dasz suwaczki glosnosci na max to bedzie trzeszczec, a tak na 70-80% jest ok. Na linuksie karta ma jakby wieksze wzmocnienie albo jakos tak, bo wogole dzwiek jest glosniejszy.
basi - foobar via wine. Dziala, kiedys go odpalalem, podobnie tez winamp (seria 2.x idealnie, 5-tka bez nowych skorek no i bez wideo, standardowy wine nie ma directshow).
Dlaczego nie mpd? Np. dlatego, że mpd używa do grania modułów libmikmod a moc libmodplug. A mikmod daje dźwięk gorszej jakości.
to ja dodam mój skrypt do OSD:
oraz skrypt do wyświetlania aktualnej piosenki z użyciem OnSongChange (dostępe od moc 2.5.0 alpha), skrypt:
odp. linijka z konfigu:
poza tym pozwoliłem sobie podlinkować artykuł w http://fluxboxpl.org/portal/MOC
U mnie jest to samo. Nie chce mi się dochodzić co jest nie tak. Używam…
Jeśli Wam trzeszczy, zmieńcie SoundDriver z ALSY na OSS.
Na forum MOC wyczytałem też, że poprawili to w wersji 2.4.2.
PO co jakiś “MOC”?! Co to mp3blaster już nie leży w łaskach? Pozatym x’y są przyjazne ale żeby być znawcą systemów (jeśli komuś na tym w ogóle zależy) trzeba znać się na konsoli i trzeba umieć normalnie funkcjonować bez xów.
Pozdrawiam
Trzeszczenie w wersji 2.4.2 już nie występuje. Więcej w changelogu.
W tej wersji MOC strasznie trzeszczy. Nie pomogła zmiana sterowników dźwięku, ani przyciszanie. Chciałem ściągnąć nowszą wersję, ale nie mogę znaleźć klucza gpg do repo, a przy kompilacji wypluwa mi komunikat o plikach ncurses/curses i header. Nie mam pojęcia skąd je wziąć. Jakby ktoś miał jakiś pomysł to byłbym wdzięczny.
Arens,
Nie uzywaj repozytoriow , ktore sa na stronce bo sobie tylko system rozwalisz a i tak nic nie zainstalujesz.
W sources.list powinienes miec oficjalne repozytorium feistego (albo twojej wersji).
Wszystko znajdziesz tu –>
http://packages.ubuntu.com/feisty/sound/moc
Pozdrawiam
Czy w MOC można kolejkować dowolne utwory z playlisty? w amaroku jest taka możliwość, w winampie. Wygodne rozwiązanie. Dobrana selekcja ulubionych kawałków, czekam, pozdrawiam.
Jeżeli chodzi Ci o ustawienie utworów w już zrobionej playliście to jasne że można :-)! Klawiszami ‘u’ i ‘j’ w trybie playlisty.
Pozdrawiam!
[…] jakilinux.org » MOC — zaawansowane sztuczkiJest on dostępny w większości dystrybucji, lecz gdyby z naszą było inaczej –- na tej stronie są źródła programu ściągnięcia oraz sposób instalacji. …http://jakilinux.org/aplikacje/konsola/moc-zaawansowane-sztu… […]