Repository navigation
Releases: iRoy930/TuneC
Releases · iRoy930/TuneC
Release list
v1.0.0
首个公开发布版本。
Added
- 菜单栏常驻:应用以
LSUIElement方式运行,无 Dock 图标;菜单内提供设备、音量、亮度、虚拟音频、手势与快捷键等分区。 - 音频设备管理:枚举并切换系统输出 / 输入设备,支持循环切换,并监听设备插拔与默认设备变化。
- CoreAudio 音量与静音控制:对暴露可写
VolumeScalar的设备直接读写音量与静音状态,行为与系统原生一致。 - DDC/CI 显示器亮度控制:通过 VCP
0x10调节外接显示器硬件亮度,菜单滑块与快捷键共用同一控制路径。 - DDC/CI 音量后端:对显示输出设备探针 VCP
0x62音量能力(读原值 → 写入 → 读回 → 恢复),仅在确认可写时切换到 DDC 后端,结果带缓存。 - 全局热键:基于 Carbon
RegisterEventHotKey注册全局快捷键,覆盖切换输出设备、切换输入设备、音量增减、静音与亮度增减。 - 边缘滚轮手势:基于
CGEventTap拦截全系统滚轮事件,屏幕顶边滚轮调亮度、底边滚轮调音量,支持精度修饰键、热区高度与步进调节、自动全屏检测(默认关闭,需辅助功能权限)。 - 音量 / 亮度 HUD 浮窗:无边框半透明浮窗,显示数值与进度条,位置按屏幕高度黄金分割点放置,并自动适配系统亮 / 暗色外观。
- 虚拟音频环回:接管系统声音 → 统一增益调节 → 输出到物理设备。提供两种采集后端:Core Audio Process Tap(默认,需 macOS 14.2+,走"系统音频录制"权限,不占用麦克风)与 BlackHole(回退,macOS 13 可用,需自行安装 BlackHole 2ch)。
- 内置自检:
TuneC --selfcheck输出 30 余项检查,覆盖设备枚举、音量读写、DDC 通道探针、环回链路与手势配置。
Fixed
- 归一化预编译核心的 Swift 接口:移除 Swift 6 编译器自动插入的
Swift.BitwiseCopyableconformance 与接口文件头的编译器版本标记,旧编译器不再拒载Core/TuneCCore.swiftinterface。 - 明确工具链下限并纳入守卫:
Core/libTuneCCore.a的目标文件要求链接 Swift 分体运行时库(libswift_math等),需 Xcode 16 / macOS 15 SDK 或更新;构建或链接失败时由scripts/diagnose-core-link.sh给出可读诊断,CI/发版流程固定在macos-15。
Documentation
- docs/TROUBLESHOOTING.md 新增权限记录排障条目:说明卸载不会删除权限记录、变更 bundle identifier 会留下旧 id 的孤儿记录,以及幽灵条目只能点
−删除。 - docs/PERMISSIONS.md 补充
tccutil的三个前提条件,并说明更换签名身份或修改 bundle identifier 会让已有授权失效。 - docs/BUILD.md 新增「让授权在反复重建之间保持」一节,给出用固定自签名证书避免重建后重复授权的做法;工具链要求更新为 Xcode 16 / macOS 15 SDK 起,并区分「接口可解析」与「二进制可链接」,补充两类构建报错的定位方式。
- Core/README.md 新增「工具链要求」一节,说明预编译核心与导出它的工具链之间的绑定关系。
- README 的中英文版各补充一条权限相关 FAQ 与工具链版本要求。