понедельник, 16 апреля 2012 г.

Музыка из консоли. Часть 2

В продолжение предыдущей публикации сегодня будет рассмотрена настройка консольного клиента на ncurses - ncmpc.

Пользовательский конфигурационный файл ncmpc находится в  ~/.ncmpc/config. Если его нет, то ничего не мешает создать его, но без него конфигурация будет взята из глобального файла    $SYSCONFDIR/ncmpc/config. Его точное местоположение можно узнать из вывода команды
ncmpc --version
Также в составе пакета ncmpc имеется пример файла конфигурации. У меня это
/usr/share/doc/packages/ncmpc/config.sample


Итак, рассмотрим некоторые доступные параметры настройки ncmpc (все они доступны в странице руководства ncmpc).

Параметры соединения.


       host = HOST
              В значении указывается имя машины, к которой должно производиться подключение.

       port = PORT
              Порт mpd к которому должно производиться подключение.

       password = PASSWORD
              Подключаться к mpd используя заданный пароль.

       timeout = TIMEOUT
              Время через которое произойдёт переподключение к mpd при отсутствии ответа на запрос клиента. По умолчанию равно 5 секундам.

Настройка интерфейса.

       enable-mouse = yes|no
              Включение/отключение поддержки мыши.

       screen-list = SCREEN1 SCREEN2...
              Список экранов доступных для прокрутки. Это может быть плейлист, навигация, артисты, справка, поиск, песни, сочетания клавиш, текст песни и аудио выходы.

       search-mode = MODE
              Режим поиска. По умолчанию поиск работает по странице, которая отображена в данный момент на экране. Доступны следующие режимы поиска title (название), artist (артист), album (альбом), file-name (имя файла), artist+title (исполнитель+название), внутренний поиск. Режим задаётся с помощью цифр. Например, 0 для поиску по названию (title), 1 для поиску по исполнителям (artist) и так далее.

       auto-center = yes|no
              Включение/отключение автоцентрирования, то есть отображения той части списка воспроизведения, где в данный момент находится воспроизводимый трек. Аналогом служит функция "Перейти к текущей композиции" в Clementine. Довольно полезная опция.

       scroll-offset = NUM
              Параметр позволяющий управлять навигацией по списку с помощью цифровой клавиатуры (Numpad).

       find-show-last = yes|no
              Включение/отключение отображения последних запросов в строке поиска вместо пустой строки.

       audible-bell = yes|no
              Включение/отключение вывода звукового сигнала.

       visible-bell = yes|no

              Визуальный сигнал при предупреждениях.

       lyrics-timeout = NUM
              Заканчивать загрузки текста песни, если это занимает NUM секунд.

       jump-prefix-only = yes|no
              Переходить на первую букву в списке, которая нажимается на клавиатуре.

       lyrics-autosave = yes|no
              Автоматическое сохранение текстов песен.

       lyrics-show-plugin = yes|no
              Отображать или нет название плагина на экране, которое используется для передачи текста песни.

       text-editor = EDITOR
              Редактор, который будет использоваться для редактирования текстов песен.

       text-editor-ask = yes|no
              Спрашивать ли о выборе редактора до его старта.

       second-column = yes|no
              Отображать или нет длину трека в отдельной колонке.

   Параметры отображения.

       welcome-screen-list = yes|no
              Отображать или нет список экранов после запуска. Имеется в виду вот эта штучка:



       wide-cursor = yes|no
              Здесь по сути определяется ширина курсора. При значении no используется курсор ширина которого ограничивается длиной текста названия композиции (как умно сказано то!). При значении yes курсор имеет максимальную ширину.

       hardware-cursor = yes|no
              Использование (или нет) машинного курсора (размером в один символ к обычном текстовом терминале.

       hide-cursor = NUM
              Скрывать курсор после заданного количества секунд бездействия.

       scroll = yes|no
              Прокручивать или нет название композиции, если оно длинное.

       scroll-sep = STRING
              Разделитель отображающийся в прокручиваемом названии композиции для обозначения конца.

       list-format = SONG FORMAT
              Формат отображения использующийся в главном окне. Например, может быть таким: "%name%|[%artist% -
]%title%|%file%"

       status-format = SONG FORMAT
              Формат отображения проигрываемой композиции в статусной строке.

       status-message-time = TIME
              Время отображения статусного сообщения, например, такого как "Подключено к localhost".

       display-time = yes|no
              Отображать время в строке статуса во время ожидания.

       timedisplay-type = elapsed/remaining
              Тип отображаемого времени при проигрывании композиции. По умолчанию отображается проигранное время/общее время.

       visible-bitrate = yes|no
              Отображать или нет битрейт в строке статуса при воспроизведении потока.

       set-xterm-title = yes|no
              Позволять изменять имя заголовка окна или нет.


       xterm-title-format = SONG FORMAT
              Формат используемый ncmpc для заголовка окна во время воспроизведения.

Раздел о цветах опущен.

Итого у меня получился конфигурационный файл следующего содержания:

> cat ~/.ncmpc/config | grep -v '^#' | sed '/^$/d'
host = localhost
port = 6600
enable-mouse = yes
auto-center = yes
find-show-last = yes
audible-bell = no
visible-bell = yes
jump-prefix-only = yes
text-editor = vim
text-editor-ask = no
second-column = yes
welcome-screen-list = yes
wide-cursor = yes
set-xterm-title = yes
hardware-cursor = no
hide-cursor = 3
scroll = yes
status-format = [%name%|[%artist% - ]%title%|%file%]
status-message-time = 5
display-time = yes
xterm-title-format = [%name%|[%artist% - ]%title%|%file%]
enable-colors = yes

И окно с ncmpc приобрело такой вот видок:




5 комментариев:

  1. Замечательно. Вот только для чего при таком обилии плееров с ГУЕм музыка в консоли? Это такой вид красноглазия или что? :)

    ОтветитьУдалить
    Ответы
    1. Ну во-первых, у mpd есть плюсы свои в сравнении с графическими плеерами:
      1. Его можно использовать на сервере как сетевую радиостанцию, просто устанавливая клиенты на клиентские машины.
      2. Использовать в случаях, когда графический режим не доступен в принципе.

      Во-вторых, это просто перенос с адаптацией старой статьи с моего прошлого блога на Я.ру. Тогда там было меньше информации даже. Сам я использую Clementine, но статья может быть полезной другим.

      Удалить
    2. Кстати, пропатченный taglib уже в Factory. ;)

      Удалить
  2. 1. Ну было бы неплохо описать именно использование гуевых клиентов
    2. Случаи, когда графический режим недоступен делятся на 2 категории: а) на сервере - но нафига на сервере музыка? б) лежат иксы - ну тут уж не до музыки:)

    Ладно, это я так, фигней страдаю :) хорошая статья.

    За taglib - спасибо. Бум надеяться, что войдет в след версию.

    ОтветитьУдалить
    Ответы
    1. Обзор клиентов возьму на заметку, хотя их и так вроде хватает.

      Удалить