can3p (can3p) wrote,
can3p
can3p

Уведомления о смене песни в mpd

Интро: Как известно, вышла новая версия linux-дистрибутива Ubuntu 9.04, в которой помимо всего прочего внедрили централизованую систему уведомлений, которая в принципе была и раньше, но использовалась не в таком масштабе,  к тому же не выглядела так же стильно. Я слушаю музыку через mpd, клиент gmpc -> сразу захотелось, чтобы название новой песни выводилось именно через централизованную систему.

gmpc сам по себе имеет возможность выводить сообщение о смене песни рядом с системным лотком + имеет плагин mpd_osd, которые выводит текст о смене песни. Первый имеет тот плюс, что выводит еще и обложку альбома, второй имеет тот плюс, что его легко переделать.

Вот что нашлось о notifyOSD:
https://wiki.ubuntu.com/NotifyOSD
https://wiki.ubuntu.com/NotificationDevelopmentGuidelines

По ссылкам есть также примеры программ, которые что-то выводят в виде уведомлений. На деле можно ограничиться более простым вариантом - есть программа notify-send, которая выводит уведомление с заданым заголовком, текстом и картинкой.

Решение оказалось еще проще: http://mpd.wikia.com/wiki/Hack:mpdnotify

Берем скрипт оттуда, меняем путь к музыке (hint: если у вас, как и у меня несколько каталогов с музыкой, то путь должен указывать на папку, где лежат ссылки на все каталоги - /var/lib/mpd/music/).  Дальше нужно сохранить скрипт, сделать файл исполняемым и зыпускать любым удобным способом при старте системы - например прописать в менеджере сессий GNOME.

Скрипт обладает тем удесным свойством, что смотрит обложку в папке альбома и по возможности ее выводит, так что если у вас в каталоге каждого альбома лежит обложка альбома, то на выходе получается прекрасное решение задачи.

Если это не так, да к тому же вы пользователь gmpc, то у вас есть прекрасный шанс потренировать свои программистские навыки и переделать плагин gmpc_osd - gmpc умеет дергать обложки с помощью своих плагинов, так что путь к обложкам там можно достать. В теории плагин дает больше возможностей, чем дубовое bash-решение, но и реализовать это труднее. Но каждый решает сам.

P. S. Интересно, как можно было бы решить данную задачу в Windows.


Оригинал: http://blog.dpetroff.ru/tech/mpd_libnotify
Subscribe
  • Post a new comment

    Error

    Anonymous comments are disabled in this journal

    default userpic

    Your reply will be screened

    Your IP address will be recorded 

  • 0 comments