2 个不稳定版本
0.2.0 | 2022年12月6日 |
---|---|
0.1.0 | 2022年10月1日 |
#23 in #alsa
11KB
153 代码行
smhkd
smhkd (Simple MIDI hotkontrol daemon) 是一个通过执行命令来响应 MIDI 事件的守护进程。
它受到 sxhkd 的启发,但它处理的是 ALSA MIDI 事件而不是 X 事件。
当前状态
smhkd 仍然处于设计阶段,尚未准备好主流使用。
目前,并且目前只有它读取 ~/.config/smhkd/smhkdrc.json
中的配置文件,其外观如下
{
"28:0": {
"0": "pactl set-sink-volume @DEFAULT_SINK@ $VALUE%",
"32": "pactl set-sink-volume @DEFAULT_SINK@ 100%",
"48": "pactl set-sink-volume @DEFAULT_SINK@ 30%",
"64": "pactl set-sink-volume @DEFAULT_SINK@ 0%"
},
"129:0": {
"1": "pactl set-sink-volume @DEFAULT_SINK@ $VALUE%",
"67": "pactl set-sink-volume @DEFAULT_SINK@ 100%",
"66": "pactl set-sink-volume @DEFAULT_SINK@ 30%",
"64": "pactl set-sink-volume @DEFAULT_SINK@ 0%"
}
}
并且监听每个客户端和端口的每一对(28:0
、129:0
等)以获取 MIDI 事件。
每次它收到一个事件时,它都会运行与控制器 ID 关联的命令(如果有的话)。在该命令中出现的 $VALUE
出现的次数将用事件的值替换。
请注意,此配置格式仅是临时的,最终将被替换为与 sxhkd 更相似的东西。没有计划提供与 JSON 的向后兼容性,甚至在发生这种情况时也没有迁移路径。
使用方法
Usage: smhkd list
smhkd run
smhkd -h | --help
smhkd --version
Commands:
list List available MIDI controllers.
run Listen to MIDI events and run commands.
Arguments:
Options:
-h, --help Show this screen.
--version Show version.
编译
在你的工作副本中运行 cargo build --release
。
贡献和报告错误
通过 GitHub pull requests 接受贡献。
请在 GitHub issues 上报告错误和功能请求。
许可证
smhkd 版权所有 (C) 2022 Jérémie Roquet [email protected],并许可在 ISC 许可证下。
依赖关系
~6–8.5MB
~159K SLoC