几天前我开始玩 Conky,并成功实现了这个目标:
(注意:虽然我从头开始写,但我受到了以下启发:此照片,感谢作者的创造力)
如您所见,数字时钟(“21:20”)和连接统计数据之间有一些空闲空间。
现在,我希望在那个空间中拥有所谓的“音乐条”。即动画条,它们会随着我的音乐播放器(目前是 Clementine)当前播放的声音而移动。借助一些脚本和 qbus 命令,我已经能够显示当前曲目、艺术家、年份等。
然而,我有两个主要问题:
- 我如何获取实际的音乐数据(我认为它被称为振幅)?
- 我该如何以相当流畅的方式制作动画呢?
我正在使用 conky 和 lua 与 cairographics,但动画似乎真的很复杂,因为我还没有找到让 lua/cairographics“重新绘制”的方法。这迫使我减少 .conkyrc 中的 update_interval 来实现“接近”动画的效果。
不幸的是,将 update_interval 设置成一个非常小的值会使 conky 消耗大量的 CPU 资源,因为它不仅每(例如)50 毫秒重新绘制一次,而且还会在必要时重新计算变量并重新执行脚本。
因此,对于动画,我正在寻找一种实现流畅动画的方法(10 fps 就足够了),而不会让 conky 消耗 CPU 资源。
如果有人能给我一些想法就太好了。它不一定非要用 LUA,如果有比 conky 更好的替代品(应该是轻量级的),请随时告诉我!
--
非常感谢您的想法和建议!
答案1
我认为使用 PulseAudio 是可行的。我不知道如何全面地实现它,但是这是一个实用程序我发现这会帮助你获得振幅 - 我想你可以找到一些东西将其转换成 conky 图表。
答案2
我知道你发布这篇文章已经有一段时间了,但是前几天我发现了一个很棒的 CLI 可视化工具: https://github.com/dpayne/cli-visualizer
现在,这当然不能解决您的更新间隔问题,但您仍然可能会发现它和我一样有趣。