В продолжение предыдущей публикации сегодня будет рассмотрена настройка консольного клиента на ncurses - ncmpc.
Итак, рассмотрим некоторые доступные параметры настройки ncmpc (все они доступны в странице руководства ncmpc).
host = HOST
В значении указывается имя машины, к которой должно производиться подключение.
port = PORT
Порт mpd к которому должно производиться подключение.
password = PASSWORD
Подключаться к mpd используя заданный пароль.
timeout = TIMEOUT
Время через которое произойдёт переподключение к mpd при отсутствии ответа на запрос клиента. По умолчанию равно 5 секундам.
Включение/отключение поддержки мыши.
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
Отображать или нет длину трека в отдельной колонке.
Отображать или нет список экранов после запуска. Имеется в виду вот эта штучка:

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 для заголовка окна во время воспроизведения.
Раздел о цветах опущен.
Итого у меня получился конфигурационный файл следующего содержания:
И окно с 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 приобрело такой вот видок:
Замечательно. Вот только для чего при таком обилии плееров с ГУЕм музыка в консоли? Это такой вид красноглазия или что? :)
ОтветитьУдалитьНу во-первых, у mpd есть плюсы свои в сравнении с графическими плеерами:
Удалить1. Его можно использовать на сервере как сетевую радиостанцию, просто устанавливая клиенты на клиентские машины.
2. Использовать в случаях, когда графический режим не доступен в принципе.
Во-вторых, это просто перенос с адаптацией старой статьи с моего прошлого блога на Я.ру. Тогда там было меньше информации даже. Сам я использую Clementine, но статья может быть полезной другим.
Кстати, пропатченный taglib уже в Factory. ;)
Удалить1. Ну было бы неплохо описать именно использование гуевых клиентов
ОтветитьУдалить2. Случаи, когда графический режим недоступен делятся на 2 категории: а) на сервере - но нафига на сервере музыка? б) лежат иксы - ну тут уж не до музыки:)
Ладно, это я так, фигней страдаю :) хорошая статья.
За taglib - спасибо. Бум надеяться, что войдет в след версию.
Обзор клиентов возьму на заметку, хотя их и так вроде хватает.
Удалить