ncmpcpp play/pause hotkey ; gui ; connection troubles (3 небольших вопроса про ncmpcpp)

Разные проблемы звука, видео, обсуждение разных устройств и т.д.

Модератор: Модераторы разделов

FlySnake
Сообщения: 992
ОС: openSUSE

ncmpcpp play/pause hotkey ; gui ; connection troubles

Сообщение FlySnake »

Всем привет
Перехожу на mpd+"идеальный_клиент", пока остановился на ncmpcpp и возникает несколько вопросов:
1. Как сделать чтобы play и pause были на одном хоткее в зависимости от текущего состояния? ncmpcpp умеет play и pause, но это разные команды. А мне чтобы в xbindkeys засунуть и рулить глобально мультимедийными клавишами. Все современные проигрыватели давно умеют совмещать play/pause на одной клавише. Наверное тут можно скриптом, который бы проверял текущее состояние воспроизведения и в зависимости от этого говорил play или pause. Но как у mpd узнать текущее состояние воспроизведения? state_file не прокатывает ибо там "на ходу" ничего не меняется. Или как-то иначе с меньшими костылями можно?
2. Как убрать заголовки таблицы те что artist, album и т.д.? Есть параметр header_visibility, но он только убирает инфу о кол-ве песен в плейлисте.
3. Как отучить его намертво виснуть при обрыве коннекта с mpd? У меня вай-фай крайне глючный, часто рвется коннект. ncmpc проглатывал это без проблем регулярными попытками соединения. А ++ виснет намертво пока не убьёшь его и восстановишь коннект. Крутилка mpd_connection_timeout не помогает. Покупку нормальной вайфайной точки не предлагать ибо не панацея :)
Спасибо сказали:
Аватара пользователя
/dev/random
Администратор
Сообщения: 5413
ОС: Gentoo

Re: ncmpcpp play/pause hotkey ; gui ; connection troubles

Сообщение /dev/random »

1. toggle
2. не знаю, возможно ли это вообще
3. это баг самого ncmpcpp. Он исправлен в git-версии, но там появился баг с отображением позиции в треке, так что не советую пока на неё переходить.
Спасибо сказали:
FlySnake
Сообщения: 992
ОС: openSUSE

Re: ncmpcpp play/pause hotkey ; gui ; connection troubles

Сообщение FlySnake »

Блин, лучше поздно чем никогда :) Спасибо за совет. Странно как я эту опцию пропустить мог :blush2:
Спасибо сказали:
FlySnake
Сообщения: 992
ОС: openSUSE

Re: ncmpcpp play/pause hotkey ; gui ; connection troubles

Сообщение FlySnake »

Позвольте ещё один вопрос на смежную тему
Настроил хоткеи, всё путём с нетбука рулится музыкой на стационарном компе. В .ncmpcpp/config mpd_host= 'home" соответственно при запуске ncmpcpp он по умолчанию коннектицо к стационарному компу. Но фишка в том, что действия на хоткеях запускают ncmpcpp с соответсвующей опцией и отправляют команду на хост. По умолчанию, естественно, на указаный в конфиге "home". Теперь мне захотелось слушать музычку локально на нетбуке (шара смотнирована через nfs). Поставил mpd, поправил конфиг, запускаю ncmpcpp -h localhost и всё как-бы работает, но одна неприятность. Хоткеи по-прежнему работают для хоста "home" из конфига.
Собственно вопрос: как с минимальными костылями сделать чтобы оно проверяло на какой хост натравлен уже запущеный ncmpcpp и соответсвующим образом отправляло хоткейные команды? Т.е. примерно нужно чтобы когда ncmpcpp натравлен на удалённый mpd шли хоткейные команды "ncmpcpp stop", а когда на локальный, то "ncmpcpp -h localhost stop". Или как-то ещё может это можно. Нагугливается вариант с icecast, но это мега-костыль. Хитровыпуклый скрипт тоже в голову не приходит.
Заранее спасибо
Спасибо сказали:
Аватара пользователя
/dev/random
Администратор
Сообщения: 5413
ОС: Gentoo

Re: ncmpcpp play/pause hotkey ; gui ; connection troubles

Сообщение /dev/random »

FlySnake писал(а):
05.12.2010 22:23
Собственно вопрос: как с минимальными костылями сделать чтобы оно проверяло на какой хост натравлен уже запущеный ncmpcpp и соответсвующим образом отправляло хоткейные команды? Т.е. примерно нужно чтобы когда ncmpcpp натравлен на удалённый mpd шли хоткейные команды "ncmpcpp stop", а когда на локальный, то "ncmpcpp -h localhost stop".

Без костылей будет так: если ncmpcpp запущен, то и управляйте из него, а хоткеи используйте когда он не запущен.
Всё остальное - с костылями. Например:
$(cat /proc/$(pgrep ncmpcpp)/cmdline | tr '\0' ' ') toggle
(этот способ не будет работать, если ncmpcpp не запущен, нужно сначала проверить, запущен ли он)
Спасибо сказали:
FlySnake
Сообщения: 992
ОС: openSUSE

Re: ncmpcpp play/pause hotkey ; gui ; connection troubles

Сообщение FlySnake »

Ага, вроде примерно понятно куда копать
Спасибо сказали: