LINUX.ORG.RU

Вышел Music Pause Daemon

 , , , ,


0

3

Вчера на github появились исходники открытого проекта musicpaused. Основное предназначение программы — приостанавливать воспроизведение музыки при вынимании наушников так же, как это делают мобильные устройства на ОС Android и iOS. Многие хотели бы иметь такую же функциональность и на своих ноутбуках и компьютерах, и теперь это возможно. Также она может показывать уведомления на рабочем столе при вставке и вынимании разъёмов наушников, микрофона и некоторых других. Для Линукса подобных программ раньше не было.

Программа состоит из 3 демонов:

  • jacklistener — монитор событий изменения состояния разъёмов. Читает события из event-device'ов и передаёт их в виде сигналов на системную шину D-Bus;
  • musicpaused — демон, работающий с правами пользователя и приостанавливающий воспроизведение музыки при получении сигнала о вынимании наушников от jacklistener. Может управлять всеми плеерами, поддерживающими интерфейс MPRIS;
  • jacknotifier — демон, работащий с правами пользователя и показывающий уведомления на рабочем столе при получении сигналов от jacklistener.

Такая организация программы позволяет легко расширять её функциональность за счёт написания дополнительных демонов, выполняющих какую-то одну задачу и взаимодействующих с сервером jacklistener.

Программа работает, если ядро сообщает об изменении состояния разъёмов через event-интерфейс. Для аудиокарт Intel HDA необходимо включить в конфигурации ядра опцию CONFIG_SND_HDA_INPUT_JACK.

На гитхабе доступны исходники и ебилды для Gentoo, а также инструкции по установке.

>>> Исходники jacklistener

>>> Исходники jacknotifier

>>> Исходники musicpaused

★★★★★

Проверено: tazhate ()

Удобность :) Надо морды написать. А оно на уровне альсы?

thelonelyisland ★★★ ()

таки pulseaudio этого не умеет?

anonymous ()
Ответ на: комментарий от anonymous

таки pulseaudio этого не умеет?

Умеет. Но общий тренд «выпилить пульс» обязывает такое напилить.

helios ★★★★★ ()
Ответ на: комментарий от thelonelyisland

Надо морды написать.

А зачем, собственно? По сути, 3 демона — один в автозагрузку системы, два в автозагрузку DE, настроек никаких нет (и даже сложно придумать их). Морда не нужна, мне кажется.

А оно на уровне альсы?

Да, ему нужна только ALSA и D-Bus. Работает независимо от наличия pulseaudio.

gentoo_root ★★★★★ ()
Ответ на: комментарий от anonymous

таки pulseaudio этого не умеет?

Когда-то на ЛОРе я открывал тему с таким вопросом. Тогда меня интересовали уведомления при втыкании/вытыкании наушников. И я спрашивал, как бы такое сделать с наименьшим геморром. Ничего мне толком не подсказали, в pulseaudio готовых модулей для этого нет (есть только сохранение разных уровней громкости для наушников и динамиков). Раз этого нет, я решил сделать. Делать через pulseaudio не видел смысла, потому что профита никакого, и не у всех он стоит. Поэтому сделал отдельно.

gentoo_root ★★★★★ ()

Для Линукса подобных программ раньше не было.

Для maemo она есть с незапамятных времен

anonymous ()

Опять ненужные свистоперделки.

Gunnerua ()

Сначала подумал, что музон тормозится когда наушники из ушей вынимаешь, офигел, до чего дошел прогресс :)

Lee_Noox ★★★ ()
Ответ на: комментарий от anonymous

Для maemo она есть с незапамятных времен

Там совершенно другая программа. Она следит за разъёмом через gpio и поддерживает только несколько плееров — это совершенно непереносимая поделка. Моя же берёт информацию из ядра (что обеспечивает переносимость — нужна только поддержка в ALSA) и управляет плеером через MPRIS, что обеспечивает поддержку множества плееров. И самое главное — я делал её для десктопных систем, а не для мобильных устройств, потому что программы для мобильников не работают на обычных системах.

gentoo_root ★★★★★ ()
Ответ на: комментарий от Gunnerua

Опять ненужные свистоперделки.

Не нужно — не пользуйся, я же не заставляю, в отличие от разработчиков Android и iOS.

gentoo_root ★★★★★ ()
Ответ на: комментарий от gentoo_root

я надеюсь она сделана на питоне, съедает минимум 5% оперативы и постоянно сыпет бектрейсами необработанных/нереализованных исключений ?

Jetty ★★★★★ ()

это безусловно революционное нововведение

kto_tama ★★★★★ ()
Ответ на: комментарий от Jetty

я надеюсь она сделана на питоне

И не надейся, она на C.

съедает минимум 5% оперативы

Программа легковесная, жрёт 600 килобайт, 2500 килобайт, 2500 килобайт.

постоянно сыпет бектрейсами необработанных/нереализованных исключений

Исключений в C нет.

gentoo_root ★★★★★ ()
Ответ на: комментарий от kto_tama

это безусловно революционное нововведение

я джва года ждал!

gentoo_root ★★★★★ ()

годно, одобряю, попробую запилить в агилию себе)

DoctorSinus ★★★★★ ()

и сходу фичреквест: реализуй переключение между колонками и наушниками

xsektorx ★★★ ()

Остановливать воспроизведение в MPlayer2/CMUS/MOC может?

Lighting ★★★★★ ()
Ответ на: комментарий от xsektorx

и сходу фичреквест: реализуй переключение между колонками и наушниками

Не совсем понял. Что имеется в виду?

gentoo_root ★★★★★ ()
Ответ на: комментарий от Lee_Noox

Сначала подумал, что музон тормозится когда наушники из ушей вынимаешь, офигел, до чего дошел прогресс :)

Вроде как тоже есть в каких-то ушах, только хз, где именно там звук отключается.

anonymous ()
Ответ на: комментарий от Lighting

Остановливать воспроизведение в MPlayer2/CMUS/MOC может?

Умеет все плееры, поддерживающие MPRIS. Другие плееры пока не умеет. Если у них другой интерфейс управления, то скажите мне, поддержки каких плееров не хватает, и я допилю это в следующей версии.

gentoo_root ★★★★★ ()

Как хорошо, что это OpenSource!

Может кто-то адаптирует для PulseAudio. Было бы неплохо.

linuxmaster ★★★ ()

Энтузиазм автора безусловно радует. В то время, как другие ноют на форумах...

hobbit ★★★★★ ()
Ответ на: комментарий от gentoo_root

программы для мобильников не работают на обычных системах.

Скажи это connman'у, который в стопицот раз лучше этого вашего нетворкманагера...

mine ()

Долго название выбирал?

anonymous ()
Ответ на: комментарий от Lee_Noox

Плюсую!

Тоже такие мысли были при прочтении. Сидел и прикидывал «Как реализовать подобное?!?»

muteki_okami ()
Ответ на: комментарий от gentoo_root

Угу, я уже посмотрел :) Выглядит неплохо :)

Jetty ★★★★★ ()
Ответ на: комментарий от gentoo_root

То есть, только Audacious, VLC, BMP, Songbird и XMMS2? Ну, MPlayer'а определённо не хватает.

Lighting ★★★★★ ()
Ответ на: комментарий от gentoo_root

ну, воткнул наушники в переднюю панель - переключило на них. вытащил наушники - снова на колонки

xsektorx ★★★ ()

Годно. Любителям порнухи в наушниках и буйных оргазмов должно понравится)

cipher ★★★★★ ()
Ответ на: комментарий от gentoo_root

Умеет все плееры, поддерживающие MPRIS.

опять D-BUS... ну ппц же =(

Waterlaz ★★★★ ()
Ответ на: комментарий от xsektorx

ну, воткнул наушники в переднюю панель - переключило на них. вытащил наушники - снова на колонки

Вообще-то, из коробки так и есть. Данная программа призвана предотвратить такое поведение.

Axon ★★★★★ ()
Ответ на: комментарий от Lighting

То есть, только Audacious, VLC, BMP, Songbird и XMMS2?

Нет, ещё rhythmbox, banshee, amarok и многие другие. MPRIS поддерживает много плееров, поэтому первым делом я реализовал его.

Ну, MPlayer'а определённо не хватает.

ОК, сделаю его поддержку, если найду документацию, как им управлять.

gentoo_root ★★★★★ ()
Ответ на: комментарий от Lee_Noox

Сначала подумал, что музон тормозится когда наушники из ушей вынимаешь, офигел, до чего дошел прогресс :)

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

Axon ★★★★★ ()
Ответ на: комментарий от Waterlaz

опять D-BUS... ну ппц же =(

Другого варианта, который сможет поддерживать много плееры сразу, нет.

gentoo_root ★★★★★ ()
Ответ на: комментарий от Axon

Вообще-то, из коробки так и есть

не знаю, где такое есть, но у меня такого нету

xsektorx ★★★ ()
Ответ на: комментарий от xsektorx

не знаю, где такое есть, но у меня такого нету

Видимо, проблемы с альсой. Так на всех ноутбуках, вообще-то, и на некоторых десктопах тоже (на тех, у которых есть выход для наушников на интерграшке).

Axon ★★★★★ ()
Ответ на: комментарий от xsektorx

ну, воткнул наушники в переднюю панель - переключило на них. вытащил наушники - снова на колонки

У меня такое действительно работает из коробки. Если это не работает, то, скорее всего, проблема в том, что ALSA не поддерживает вашу звуковую карту или неправильно её определяет. Некоторым помогает отключение автоопределения звуковой карты и ручное её указание — этот способ легко гуглится. Но некоторым, к сожалению, он не помогает. В любом случае, такая проблема — баг в ALSA.

Возможно, поможет установка pulseaudio — в нём тоже есть такая переключалка.

gentoo_root ★★★★★ ()
Ответ на: комментарий от Waterlaz

А чем плох D-Bus и на что его можно заменить?

mine ()
Ответ на: комментарий от Lighting

То есть, только Audacious, VLC, BMP, Songbird и XMMS2?

QMMP же.

hobbit ★★★★★ ()
Ответ на: комментарий от Schnitzel

Запатентовали уже?

А разве тут не запатентовано всё вдоль и поперёк эпплом и гуглом?

gentoo_root ★★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.