четверг, 6 сентября 2012 г.

MOC - музыка в консоли. Альтернатива XMMS и Exaile.

MOC - Music On Console - консольный плеер для никсовых систем без иксов. То-есть из консоли (на правах капитана). Устанавливать и использовать его (для GUI есть замечательный плеер Exaile, полноценный аналог KDE'шного Amarok'а) нужно в двух случаях:
1) вы - любитель консоли и всего, что с ней связано
2) на вашей системе иксов нет в принципе (и в будущем не предвидится)
Выглядит moc вот так:
или так:
в зависимости от настройки, и очень в общем и целом напоминает MC. Сам я этой софтовиной пользовался, и довольно продолжительное время, и могу сказать, что это очень достойный экземпляр плеера вообще, и он может потягаться с GUI-собратьями (даже ввиду постоянно ведущихся холиваров на эту тему) в удобстве управления, функционале (он и треки на last.fm скробблить умеет) и всем остальном.

Итак, если вас все-таки заинтересовал данный шедевр консольного искусства, то следуем следующим нехитрым инструкциям по установке:


sudo aptitude install moc moc-ffmpeg-plugin
Это установит плеер вместе с необходимыми плагинами. Далее можно сразу стартануть плеер:
 
mocp
Полюбовались, закрываем по Shift+Q. Эта команда остановит и сервер mocp, кстати. Для разрыва текущего соединения плеера с сервером нужно жмакнуть просто Q.
Для редактирования конфиги создаем несколькими командами стандартный файл конфигурации и открываем его:

sudo cp /usr/share/doc/moc/examples/config.example.gz ~/.moc

sudo gunzip ~/.moc/config.example.gz


sudo mv ~/.moc/config.example ~/.moc/config



sudo nano ~/.moc/config

Вот примерный конфиг:

Layout1 = "directory:0,0,100%,100% playlist:0%,0,50%,100%" 
ReadTags = yes 
MusicDir = "~/Music/" 
Mp3IgnoreCRCErrors = yes 
AutoNext = yes 
FormatString = "%(t:%t:)" 
OutputBuffer = 2048 
InputBuffer = 512 
Prebuffering = 64 
OSSDevice = /dev/dsp 
OSSMixerDevice = /dev/mixer 
OSSMixerChannel = pcm 
OSSMixerChannel2 = master 
Equalizer_SaveState = yes 
ShowHiddenFiles = no 
StartInMusicDir = yes 
HideFileExtension = no 
ShowFormat = yes 
ShowTime = IfAvailable 
UseMmap = no 
XTermTheme = transparent-background 
ID3v1TagsEncoding = WINDOWS-1251 
UseRCC = yes 
UseRCCForFilesystem = yes 
TagsCacheSize = 256 
FollowPlayedFile = no 
ModPlug_MegaBass = yes 
QueueNextSongReturn = yes


Далее идет уже тонкая настройка плеера (команды отсюда добавлять в конец файла config):


Команда нормализирует громкость выделенного файла в MOC по F4:

ExecCommand4 = "mp3gain -r -k -w -T -d 3 %f"

Банальная команда копирования выделенного файла по F5 в определенный каталог. Полезно при прослушивании чужой музыки на флешке и копирования понравившихся треков:

ExecCommand5 = "cp %f /home/username/Музыка/Скопированная"

Еще более банальная команда - удаление выделенного файла по F8:

ExecCommand8 = "rm %f" 

Для скачивания песен из интернет-плейлистов m3u (по нажатию F7) в указанный каталог:

ExecCommand7 = "wget -c -P /home/username/Музыка/Загруженная %f"

Кстати, для запуска плейлистов нужно вбить в терминале:

mocp /папка_с_плейлистом/название_плейлиста.m3u

Вот список некоторых "горячих клавиш" moc:

Открытие/закрытие плеера/сервера mocp

Q (Shift+q) — закрытие сервера и клиента moc

q — закрытие клиента moc, сервер при этом, продолжит проигрывание

Tab — Навигация между панелями проигрывать файлы можно как из файлового менеджера, так и из плэйлиста

Плейлисты

a — Добавить файл для воспроизведения в плэйлист

A (Shift+a) — рекурсивное добавление в плэйлист, те все музыкальные файлы, находящиеся в папке будут добавлены в плэйлист


Ctrl+o Проигрывание url


Ctrl+u — Добавить url адрес в плейлист


V (Shift+v) Сохранить плейлист

u — переместить файл выше в плэйлисте


j — переместить файл ниже в плэйлисте


d — удалить файл из плэйлиста


C (Shift+c) — очистить плэйлист

Управление

ENTER — запустить плей

n — воспроизвести следующий трек


b — воспроизвести предыдущий трек

> (Shift+.) сделать громкость больше


< (Shift+,) сделать громкость меньше


p — пауза в проигрывании (снять паузу — повторное нажатие p)


s — остановить проигрыватель (начать проигрывание — ENTER)

S (Shift+s) — включает режим Shuffle — проигрывание плэйлиста в случайном порядке


R (Shift+r) — включает режим Repeat — циклическое воспроизведение плэйлиста

Справка

h — справка по командам moc

Простые команды, которые лепятся на горячии клавиши

mocp -f   следущий трек

mocp -r   предыдущий трек

mocp -G  play stop

Для того, чтобы научить moc скробблить треки на last.fm нужно:

1) скачать/установить lastfmsubmitd

2) добавить через adduser своего пользователя в группу lastfm

3) прописать в конфиг /etc/lastfmsubmitd.conf свой логин и пароль к аккаунту Lastfm

4) скачать и закинуть в папку ~/.moc скрипт, который будет передавать данные в lastfmsubmitd

5) сделать его исполняемым и дать права на выполнение вашему пользователю

6) в файл ~/.moc/config прописываем такую строку:

# lastfmsubmitd 
OnSongChange = "/home/имя_пользователя/.moc/moc_submit_lastfm --artist %a --title %t --length %d --album %r"

Проверим, работает ли демон lastfmsubmitd:

top -b -n 1 | egrep "lastfm|PID"

Выхлоп должен получиться где-то таким:

PID   USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
15891 lastfm    20   0  9688 4388 1756 S    0  0.2   0:11.26 lastfmsubmitd

Перезапускаем mocp, чтобы изменения (любые) вступили в силу. После запуска ставим на воспроизведение любой трек и смотрим выхлоп команды ps:

ps -eo user,pid,cmd | grep lastfm

Выхлоп должен получиться где-то таким:

lastfm    15891 /usr/bin/python /usr/bin/lastfmsubmitd
posix     30198 python /home/posix/.moc/moc_submit_lastfm
                --artist Radiohead --title Paranoid Android --length 06:24 --album OK Computer

Вот, собственно, и весь конфиг-апгрейд. На выходе после этой небольшой настройки вы получаете действительно замечательный плеер, не жрущий ресурсов и вообще просто консольный, теплый и ламповый ^_^

1 комментарий:

  1. Спасибо за статью!=) Вы мне помогли настроить lastfmsubmidt на работу с moc.

    ОтветитьУдалить