#sonos #controlling #tui #local #networking #group #speakers

app sinuous

用于控制本地 Sonos 扬声器的简单 TUI

5 个版本

0.1.4 2023 年 9 月 17 日
0.1.3 2022 年 5 月 18 日
0.1.2 2022 年 3 月 25 日
0.1.1 2022 年 3 月 25 日
0.1.0 2022 年 3 月 25 日

#4 in #controlling

MIT 许可证

190KB
579 代码行

Sinuous

dependency status CI

Sinuous 是一个用于控制本地 Sonos 扬声器的简单 TUI。

它目前允许您在不同组(区域播放器)之间循环,显示当前曲目和当前队列。

注意: sinuous 直接通过 Sonos 扬声器的本地 UPnP 接口与它们通信,扬声器通过 SSDP 协议发现。这意味着您的 Sonos 扬声器需要位于同一网络中(或从您的当前网络中可见)。

快捷键

  • Space:播放/暂停
  • p / n:跳转到上一曲/下一曲
  • [ / ]:调整当前组协调器的音量
  • Shift+Tab / Tab:切换到上一组/下一组
  • q:退出

运行

如果您还没有,请通过 rustup 安装最新的 Rust 工具链,然后只需运行 cargo run

要获取调试日志,运行 RUST_LOG="sinuous=debug" cargo run。日志可以在 /tmp/sinuous.log 中找到。

屏幕截图

screenshot

待办事项

  • 允许在扬声器之间切换
  • 支持更多操作(快进、快退、更改播放模式、音量...)
  • 显示播放/暂停指示器以及当前播放模式(随机+重复)
  • 允许搜索曲目并修改队列
  • 允许自定义颜色
  • 允许通过命令行参数指定要连接的扬声器
  • 处理扬声器的分组

依赖关系

~19–30MB
~444K SLoC