Music On Console (Музыка в консоли) — лёгкий музыкальный плеер, который состоит из двух частей: сервера и плеера/интерфейса. Такая реализация похожа на реализацию MPD, но в отличие от него, MOC поставляется сразу с интерфейсом и сервер не поддерживает удалённый доступ.
Установка
Установите пакет moc-pulseAUR или moc-pulse-svnAUR (содержащий последнюю разрабатываемую версию). Использование драйвера PulseAudio описано в разделе #Использование PulseAudio.
Фронтенды
- mocicon — GTK-апплет панели для управления MOC
- eXo — Qt-фронтэнд для MOC, поддерживающий скробблинг
Настройка
Примеры настроек есть в каталоге /usr/share/doc/moc/. При первом запуске mocp будет создан каталог ~/.moc/. Для настройки скопируйте примеры в этот каталог и отредактируйте по вкусу.
Если вы хотите использовать MOC с OSS v4.1, обратитесь к разделу OSS#MOC.
Настройка горячих клавиш описана в /usr/share/doc/moc/keymap.example.
Использование PulseAudio
Впишите PULSEAUDIO: в начале переменной SoundDriver:
SoundDriver = PULSEAUDIO:JACK:ALSA:OSS
Таким образом у PulseAudio будет наивысший приоритет. Перечисление других звуковых драйверов после него — это запасные варианты на случай, если предыдущие окажутся недоступны.
Навигация
Чтобы переключать каталоги стрелками, раскомментируйте в ~/.moc/config:
Keymap = keymap
Отредактируйте следующее в ~/.moc/keymap:
go = ENTER RIGHT go_up = U LEFT #seek_forward = RIGHT #seek_backward = LEFT
Чтобы ускорить навигацию и отключение от сервера, пропишите следующее в ~/.moc/config:
ReadTags = no ShowTime = no TagsCacheSize = 0
Служба systemd
Включите эту службу для соответствующего пользователя:
/etc/systemd/system/moc@.service
[Unit] Description=MOC server ConditionPathExists=/usr/bin/mocp After=network.target sound.target [Service] RemainAfterExit=yes User=%I ExecStart=/usr/bin/mocp -S ExecStop=/usr/bin/mocp -x WorkingDirectory=/home/%I/ [Install] WantedBy=multi-user.target
Темы
Есть несколько тем для интерфейса плеера. Для просмотра списка доступных тем и её выбора нажмите T.
Чтобы сделать выбор темы постоянным, пропишите её в файл настроек ~/.moc/config.
Theme = laras_theme
Стандартные темы находятся в каталоге /usr/share/moc/themes/. Пакет mocp-themes-gitAUR предоставляет дополнительные темы.
Так как темы являются обычными текстовыми файлами, нетрудно создать свою собственную тему. Пользовательские темы считываются из каталога ~/.moc/themes/.
Пример файла темы:
background = white black frame = white black window_title = white black directory = white black selected_directory = white black reverse playlist = white black selected_playlist = white black reverse file = white black selected_file = white black reverse selected_info = white black reverse marked_file = white black bold marked_selected_file = white black reverse info = white black marked_info = white black bold marked_selected_info = white black reverse status = white black title = white black bold state = white black current_time = white black bold time_left = white black bold total_time = white black bold time_total_frames = white black sound_parameters = white black bold legend = white black disabled = white black enabled = white black bold empty_mixer_bar = white black filled_mixer_bar = white black reverse empty_time_bar = white black filled_time_bar = white black reverse entry = white black entry_title = white black error = white black bold message = white black plist_time = white black
Использование
Выполните команду mocp — она запустит сервер и интерфейс. Некоторые полезные горячие клавиши (чувствительны к регистру, используйте h для просмотра более полного списка):
| Начать воспроизведение |
Enter
|
| Пауза |
Space или p
|
| Следующий трек |
n
|
| Предыдущий трек |
b
|
| Тихая перемотка на 5 секунд вперёд |
]
|
| Тихая перемотка на 5 секунд назад |
[
|
| Переключиться с плейлиста к обзору файлов (и обратно) |
Tab
|
| Добавить один трек в плейлист |
a
|
| Добавить каталог (рекурсивно) в плейлист |
Shift+a
|
| Удалить трек из плейлиста |
d
|
| Очистить плейлист |
Shift+c
|
| Увеличить громкость на 1% |
>
|
| Уменьшить громкость на 1% |
<
|
| Увеличить громкость на 5% |
. (точка)
|
| Уменьшить громкость на 5% |
, (запятая)
|
| Изменить громкость на 10% |
Alt+1
|
| Изменить громкость на 90% |
Alt+9
|
| Закрыть проигрыватель (без завершения работы сервера) |
q
|
| Выход |
Shift+q
|
Ctrl+z.Для завершения работы сервера выполните команды mocp -x.
Скробблинг
mocp-scrobblerAUR — скробблер Last.fm/Libre.fm для MOC с поддержкой уведомлений о текущем воспроизведении, демонизации и кеширования. Он зависит только от Python 3.
hostname с post.audioscrobbler.com на turtle.libre.fm.Скопируйте пример файла в каталог с пользовательскими конфигурационными файлами:
mkdir ~/.mocpscrob/ cp /usr/share/doc/mocp-scrobbler/config.example ~/.mocpscrob/config
Отредактируйте ~/.mocpscrob/config, добавив в него свои имя пользователя и пароль. При первом запуске переменная с паролем будет заменена на переменную password_md5, содержащую в себе MD5-хеш. Если необходимо изменить пароль, просто (опять) добавьте переменную с новым паролем, и значение переменной password_md5 будет обновлено.
Чтобы начать скробблинг, перед запуском mocp запустите mocp-scrobbler в качестве демона. Также можно использовать псевдоним:
alias mocp='/usr/bin/mocp-scrobbler.py -d; mocp'
В январе 2016 года last.fm обновил требования к паролям: все новые пароли должны содержать один из следующих символов !"#$%&'()*+,-./:;<=>?@[\]^_`{|}~ или пробел. Известно, что это вызывает ошибку аутентификации в конфигурациях mocpscrob, в которых указаны пароли, не соответствующие этим новым спецификациям. Смена пароля и соответствующее обновление пароля в ~/.mocpscrob/config решает эту проблему.
Решение проблем
MOC не запускается
Если MOC не запускается, скорее всего, проблема в конфигурационных файлах ~/.moc/. Можно попробовать отредактировать файлы настройки или просто удалить весь каталог.
Странные символы
Если вместо нормальных линий (вертикальные линии для разделения пространства и т.д.) вы видите странного вида символы, возможно, у вас установлен шрифт, несовместимый с MOC. Либо смените шрифт, либо установите в .moc/config ASCII для рисования линий:
ASCIILines = no
FATAL_ERROR: Layout1 is malformed
Если MOC завершается с такой ошибкой, попробуйте добавить одну из этих строк в .moc/config:
Layout1 = directory(0,0,50%,100%): playlist(50%,0,100%,100%)
либо
Layout1 = directory(0,0,50%,100%): playlist(50%,0,FILL,100%)
Смотрите отчёт об ошибке и Debian bugs.
Bluetooth не работает, если он не был подключен перед запуском MOC
При использовании PipeWire MOC по умолчанию использует JACK, что, по-видимому, и является причиной этой проблемы. Простое переключение с jack на ALSA путём изменения следующего значения в настройках решает эту проблему.
Значение по умолчанию: JACK:OSS:ALSA
Новое значение: ALSA:OSS:JACK
MOC выбирает первый работающий аудиодрайвер, таким образом, ALSA будет выбран первым. Это должно решить проблемы с bluetooth.