Я начал играть с Conky несколько дней назад и добился следующего:
(Примечание: хотя я и написал это с нуля, меня вдохновилоэта фотография, благодарность автору за его креативность)
Как видите, у меня есть немного свободного места между цифровыми часами («21:20») и статистикой соединения.
Теперь я бы хотел иметь в этом пространстве то, что я называю "музыкальными полосами". То есть анимированные полосы, которые двигаются в соответствии со звуком, воспроизводимым в данный момент моим музыкальным проигрывателем (сейчас это Clementine). Мне уже удалось отобразить текущий трек, исполнителя, год и т. д. благодаря некоторым скриптам и команде qbus.
Однако у меня есть два основных вопроса:
- Как мне получить реальные музыкальные данные (кажется, они называются амплитудами)?
- Как бы мне это анимировать достаточно плавно?
Я использую conky и lua с cairographics, но анимация действительно кажется чем-то сложным, так как я не нашел способа заставить lua/cairographics "перерисовываться". Это заставляет меня уменьшить update_interval в .conkyrc, чтобы добиться чего-то "близкого" к анимации.
К сожалению, установка очень маленького значения update_interval заставляет conky потреблять много ресурсов ЦП, поскольку он не только перерисовывается каждые (например) 50 миллисекунд, но и пересчитывает переменные и повторно выполняет скрипты при необходимости.
Поэтому для анимации я ищу способ добиться плавной анимации (10 кадров в секунду было бы достаточно), не заставляя conky потреблять ресурсы процессора.
Было бы здорово, если бы кто-нибудь мог дать мне несколько идей. Это не обязательно должно быть на LUA, и если есть хорошая альтернатива conky (должно быть что-то легковесное), не стесняйтесь, дайте мне знать!
--
Большое спасибо за идеи и предложения!
решение1
Я думаю, это возможно, используя PulseAudio. Я не знаю, как это сделать полностью, новот утилитаЯ обнаружил, что это поможет вам получить амплитуды — полагаю, вы затем сможете найти что-то, чтобы преобразовать это в диаграммы Conky.
решение2
Я знаю, что прошло уже много времени с тех пор, как вы это опубликовали, однако на днях я нашел отличный визуализатор CLI: https://github.com/dpayne/cli-visualizer
Конечно, это не решит проблему с интервалом обновления, но вам все равно может быть так же интересно, как и мне.