Это старая версия документа.
Содержание
MOCP (также именуется MOC) - аудиоплеер, известный прежде всего благодаря своему консольному интерфейсу, что во многих случаях является ощутимым преимуществом. он реализован в виде двух составных частей - собственно демона1)-проигрывателя и псевдографического интерфейса на ncurses. вот небольшой список преимуществ данного проигрывателя:
- отсутствие привязки к X-серверу, т.е. вы можете слушать музыку на системе без графической оболочки или же просто при работе в tty-консоли
- интуитивно понятный и настраиваемый интерфейс
- экономия места за счет отсутствия лишних окон, что особо актуально для нетбуков
- низкая требовательность к ресурсам за счет отсутствия навороченной графики
- возможность управления извне - например, из командной строки или с помощью кнопок на панели
- запущенный в «исках» плеер будет играть и при переходе в tty-консоль2)
вкратце можно сказать, что mocp - отличный плеер для тех, кому от плеера требуется именно то, для чего он предназачен - прослушивание музыки.
установка
первым делом потребуется установить пакет moc
. например, с помощью aptitude
:
sudo aptitude install moc
теперь нужно распаковать уже готовый пример файла настроек
zcat /usr/share/doc/moc/examples/config.example.gz > ~/.moc/config
интерфейс и управление
псевдографический интерфейс
установив пакет, запустите проигрыватель в терминале с помощью команды
mocp
вы увидите знаменитый псевдографический интерфейс, который выглядит примерно так :
честно говоря, при первом запуске он будет выглядеть немного иначе, но все можно настроить по вашему вкусу, о чем речь пойдет ниже. сверху на приведенном скриншоте (по умолчанию в левой части) находится обозреватель файлов, из которого можно добавлять файлы и папки в плейлист, что снизу (а по умолчанию справа). в нижней части окна расположены индикаторы громкости, времени воспроизведения, указан текущий файл и прочая информация. управление осуществляется с клавиатуры, поэтому рассмотрим основные сочетания клавиш:
- 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 и повтор и начнет воспроизведение.
графическое управление
возможность управления проигрывателем напрямую, без какого-либо интерфейса, можно использовать с применением творческого подхода. можно назначить команды на комбинации клавиш (или использовать мультимедиа-кнопки клавиатуры при наличии таковых), можно поискать (или написать) какой-нибудь плагин к чему-нибудь… я же реализовал управление плеером, накидав на панель вот таких кнопок:
кнопки управления mocp на панели Gnome
теперь разберемся, как их сделать. а делаются они точно так же, как любые другие кнопки запуска. для Gnome это будет: щелчок правой кнопкой по панели → добавить на панель → пользовательская кнопка запуска. далее нужно задать команды для кнопок, иконки и подсказки к ним
иконки я взял из стандартного набора Gnome, вы же можете подобрать любые другие на свой вкус. ниже приводится список команд для каждой кнопки и иконки к ним
- воспроизвести файл/папку
самая полезная кнопка . чтобы слушать музычку, достаточно кинуть (Drag'n'Drop) файл или папку на эту кнопку
команда: mocp -c -a «$1» -p -v 40
иконка: /usr/share/icons/Humanity/emblems/48/emblem-sound.svg
- предыдущий трек
команда: mocp -r
иконка: /usr/share/icons/Humanity/actions/48/gtk-media-rewind-ltr.svg
- пауза/воспроизведение
команда: mocp -G
иконка: /usr/share/icons/Humanity/actions/48/stock_media-play.svg
- следующий трек
команда: mocp -f
иконка: /usr/share/icons/Humanity/actions/48/gtk-media-rewind-rtl.svg
- выключить все
команда: mocp -x
иконка: /usr/share/icons/Humanity/actions/48/gtk-media-stop.svg
- now playing
а эта кнопка у меня выводит вот такой popup:
команда: moc-notify
иконка: /usr/share/icons/Humanity/actions/48/gtk-info.svg
тут немного сложнее, ибо все делается с помощью отдельного скрипта, о котором речь пойдет чуть ниже
вот таким образом и работает mocp. те, кто любит все настраивать, а также те, кому интересно, как сделать popup'ы как на скрине выше - читайте следующий раздел
настройка
настройки программы содержатся в файле .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
как в примере выше