MOCP - Music On Console Player
Размещено: 1-10-2015, 23:19 | Просмотров: 2636 | Комментариев: 0
MOCP (также именуется MOC) - аудиоплеер, известный прежде всего благодаря своему консольному интерфейсу, что во многих случаях является ощутимым преимуществом. он реализован в виде двух составных частей - собственно демона-проигрывателя и псевдографического интерфейса на ncurses. вот небольшой список преимуществ данного проигрывателя:
отсутствие привязки к X-серверу, т.е. вы можете слушать музыку на системе без графической оболочки или же просто при работе в tty-консоли
интуитивно понятный и настраиваемый интерфейс
экономия места за счет отсутствия лишних окон, что особо актуально для нетбуков
низкая требовательность к ресурсам за счет отсутствия навороченной графики
возможность управления извне - например, из командной строки или с помощью кнопок на панели
запущенный в «иксах» плеер будет играть и при переходе в tty-консоль2)
Вкратце можно сказать, что mocp - отличный плеер для тех, кому от плеера требуется именно то, для чего он предназаченн - прослушивание музыки.

Установка:
Первым делом потребуется установить пакет moc. например, с помощью apt-get:
sudo apt-get install moc

Теперь нужно распаковать уже готовый пример файла настроек:
zcat /usr/share/doc/moc/examples/config.example.gz > ~/.moc/config

Интерфейс и управление:
севдографический интерфейс
Установив пакет, запустите проигрыватель в терминале с помощью команды
mocp

Вы увидите знаменитый псевдографический интерфейс, который выглядит примерно так:
MOCP - Music On Console Player

Честно говоря, при первом запуске он будет выглядеть немного иначе, но все можно настроить по вашему вкусу, о чем речь пойдет ниже. Сверху, на приведенном скриншоте, (по умолчанию в левой части) находится обозреватель файлов, из которого можно добавлять файлы и папки в плейлист, который находится внизу (а по умолчанию справа). В нижней части окна расположены индикаторы громкости, времени воспроизведения, указан текущий файл и прочая информация. Управление осуществляется с клавиатуры, поэтому рассмотрим основные сочетания клавиш:
H - показать справку по клавишам управления. Запомнив эту клавишу, про все остальное можно иногда забывать :-)
Tab - переключиться между обозревателем файлов и плейлистом
, , PgUp/PgDn, Home/End - навигация по списку файлов/плейлисту
Enter:
в обозревателе файлов - войти в папку или начать воспроизведение выбранного файла (без изменения плейлиста)
в плейлисте - переключиться на выбранный трек
A (в обозревателе) - добавить файл или папку в плейлист
Shift+A - добавить папку рекурсивно (со всеми подкаталогами и их содержимым)
D (в плейлисте) - удалить файл из плейлиста
Shift+C - очистить плейлист
N - следующий трек
B - предыдущий трек
Shift+< - уменьшить громкость на 1%
Shift+> - увеличить громкость на 1%

Shift+S - включить/выключить воспроизведение в случайном порядке (Shuffle)
Shift+R - включить/выключить повтор плейлиста
S - остановить воспроизведение
Q - выйти из интерфейса (проигрыватель при этом продолжит воспроизведение), по команде mocp можно вернуться к интерфейсу
Shift+Q - выйти и завершить работу проигрывателя

Управление из командной строки:
Проигрывателем можно управлять и без использования псевдографического интерфейса, напрямую из командной строки. Обо всех опциях можно почитать в:
man mocp

Здесь мы лишь рассмотрим основные команды:
mocp -G - пауза/воспроизведение
mocp -f, mocp -r - следующий/предыдущий трек
mocp -a «путь/к/файлу» - добавить файл или папку (рекурсивно) в плейлист
mocp -c - очистить плейлист
mocp -s - остановить воспроизведение
mocp -p - начать воспроизведение с первого файла в плейлисте
mocp -t s - включить/выключить воспроизведение в случайном порядке (Shuffle)
mocp -x - завершить работу проигрывателя
mocp -i - показать подробную информацию о текущем треке
mocp -v 40 - установить громкость в 40%. -v +10, -v -3 - увеличить/уменьшить на n%

Опции можно комбинировать.
Команда:
mocp -c -a "mp3/new" -p -v 55 -o r,s

очистит плейлист, добавит в него все содержимое папки «mp3/new», установит громкость в 55%, включит Shuffle и повтор и начнет воспроизведение.

Настройка:
Настройки программы содержатся в файле .moc/config. здесь мы рассмотрим основные опции:
ReadTags = yes
# читать тэги из файлов и показывать названия треков в обозревателе/плейлисте вместо имен файлов

MusicDir = "/media/smb/music"
# папка, в которой хранится ваша фонотека. в нее можно быстро переместиться,
# нажав 'm', можно запустить 'mocp -m', и она сразу будет открыта в обозревателе,
# а также можно сделать, чтобы mocp всегда при запуске открывал эту папку

Repeat = no
Shuffle = no
# включить/выключить повтор и воспроизведение в случайном порядке

AutoNext = yes
# автоматически переключаться на следующий трек после конца текущего

FormatString = "%(n:%n :)%(a:%a - :)%(t:%t:)"
# формат вывода информации о текущем треке (см. полное описание в ~/.moc/config)

SoundDriver = ALSA, OSS, PULSE, JACK
# используемая звуковая система. будет использована первая работающая
# если все играет - не трогайте)))

ShowHiddenFiles = no
# показывать ли в обозревателе скрытые файлы

StartInMusicDir = yes
# всегда при запуске открывать MusicDir (см. выше)

HideFileExtension = no
# скрывать расширения файлов в обозревателе

ShowFormat = no
показывать формат напротив каждого файла (MP3/OGG/etc)

ShowTime = IfAvailable
# показывать продолжительность напротив файла. yes - всегда, no - никогда,
IfAvailable - если была вычислена ранее (работает быстрее)

Theme = example_theme
# задать цветовую тему. указывается только имя файла, файлы ищутся в
# ~/.moc/themes и /usr/share/moc/themes/

UseRCC = yes
# автоматически определять кодировку для id3v1-тегов (требуется пакет librcc0)

UseRCCForFilesystem = yes
# автоматически определять кодировку для имен файлов

SavePlaylist = yes
# запоминать плейлист при выходе

PlaylistNumbering = no
# нумерация треков в плейлисте
# если отключено, показывает только номера треков из тегов

Layout1 = "directory:0,0,100%,50% playlist:0,50%,100%,FILL"
# см. полное описание в ~/.moc/config. приведенный здесь вариант соответствует
# горизонтальному разделению окна (обозреватель сверху, плейлист снизу)

PlaylistFullPaths = no
# показывать полный пути к файлам в плейлисте

OnSongChange = "/usr/bin/moc-notify"
# команда, выполняемая при смене трека (см. полное описание)
# в данном примере звпускает скрипт, отображающий popup-уведомление.
# (не используйте ~, указывайте абсолютный путь)

Помимо этого есть еще множество связанных со звуком настроек, но если все играет, трогать их стоит только если вы четко понимаете, чего хотите добиться.
Ниже приводится скрипт, отображающий popup-уведомление с данными о текущем треке:
#! /bin/bash
track=`mocp -Q %title | cut -d " " -f 1`
if [ $(echo $track | wc -L) -lt 2 ] && [ "$(echo $track | grep [0-9])" = "$track" ] ; then track="0$track" ; fi
notify-send -i "/usr/share/icons/Humanity/emblems/48/emblem-sound.svg" \
"$track - $(mocp -Q ' %song')" "$(mocp -Q '%artist - %album') $(mocp -Q '(%tt)')"

Для корректной работы задайте значение параметра FormatString в ~/.moc/config как в примере выше.