Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 4 additions & 2 deletions .github/workflows/plugins.yml
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
name: UI plugins
on:
push:
paths: ['apps/assets/**', 'apps/macos/**', 'apps/windows/**', 'modules/plugins/**', 'modules/visualizations/api/**', 'scripts/swift-sources.sh', 'plugins/**', 'contracts/plugins/**', 'tools/plugins/**', 'tests/plugins/**', 'scripts/*plugin*', '.github/workflows/plugins.yml']
paths: ['apps/assets/**', 'apps/macos/**', 'apps/windows/**', 'modules/plugins/**', 'modules/visualizations/api/**', 'scripts/swift-sources.sh', 'scripts/test-settings.sh', 'tests/platforms/macos/SettingsTests.swift', 'plugins/**', 'contracts/plugins/**', 'tools/plugins/**', 'tests/plugins/**', 'scripts/*plugin*', '.github/workflows/plugins.yml']
pull_request:
paths: ['apps/assets/**', 'apps/macos/**', 'apps/windows/**', 'modules/plugins/**', 'modules/visualizations/api/**', 'scripts/swift-sources.sh', 'plugins/**', 'contracts/plugins/**', 'tools/plugins/**', 'tests/plugins/**', 'scripts/*plugin*', '.github/workflows/plugins.yml']
paths: ['apps/assets/**', 'apps/macos/**', 'apps/windows/**', 'modules/plugins/**', 'modules/visualizations/api/**', 'scripts/swift-sources.sh', 'scripts/test-settings.sh', 'tests/platforms/macos/SettingsTests.swift', 'plugins/**', 'contracts/plugins/**', 'tools/plugins/**', 'tests/plugins/**', 'scripts/*plugin*', '.github/workflows/plugins.yml']
workflow_dispatch:
permissions:
contents: read
Expand All @@ -19,6 +19,7 @@ jobs:
- run: sh scripts/build-plugins.sh
- run: sh scripts/test-plugins.sh
- run: zsh scripts/test-plugin-macos.sh
- run: zsh scripts/test-settings.sh
- run: |
python3 tools/plugins/fixture.py
build/plugins/plugin-surface-probe build/plugins/miucs-plugin-worker plugins/pixel-keyboard build/plugin-fixture.json
Expand All @@ -38,6 +39,7 @@ jobs:
build/plugin-preview/
build/plugin-replay/report.json
build/plugin-benchmark.json
build/settings-preview/
windows:
runs-on: windows-latest
steps:
Expand Down
8 changes: 6 additions & 2 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,10 @@

## 平台支持

| 平台 | 音频采集 / 恢复 | 分析后端 | 四个插件绘制 | 插件适配 | 应用外壳 |
| 平台 | 音频采集 / 恢复 | 分析后端 | 插件绘制 | 插件适配 | 应用外壳 |
| --- | --- | --- | --- | --- | --- |
| macOS 14+ / Apple Silicon | 已实现,含自动恢复 | Swift 分析 + Accelerate FFT | Lua/Skia,共用五种笔色 | Lua/Skia,共用五种笔色 | 已实现 |
| Windows 10/11 x64 | WASAPI 已实现;实机待验 | C# FFT/混音旋律/节拍;合成测试 | Lua/Skia;实机待验 | Lua/Skia;实机待验 | 托盘/透明窗口已实现;实机待验 |
| Windows 10/11 x64 | WASAPI 已实现;实机待验 | C# FFT/混音旋律/节拍;合成测试 | Lua/Skia;实机待验 | Lua/Skia;实机待验 | 设置/任务栏/托盘/透明窗口已实现;实机待验 |

通用核心当前以 Swift 源码实现。语言无关契约与样本为跨平台协作入口,不表示 Windows 已能直接构建这些代码。

Expand Down Expand Up @@ -40,6 +40,8 @@ zsh scripts/test-beat-tracker.sh # 原始 PCM 节拍、半速/倍速、变速
zsh scripts/test-melody.sh # 合成独奏/伴奏与响应时序
zsh scripts/test-audio-pipeline.sh # 分析编排等价与格式切换
zsh scripts/test-audio-recovery.sh # 采集生命周期、退避与迟到回调
sh scripts/build-plugins.sh # 设置测试需要正式插件运行库
zsh scripts/test-settings.sh # 独立设置、预览、安全路径、共享位置和重启恢复
zsh scripts/test-appearance.sh # 全局五色、菜单选择、偏好迁移与会话切换
zsh scripts/test-visualization-host.sh # 原生视图切换、资源释放和窗口兼容
zsh scripts/validate-audio.sh # 基础音频与独立 NumPy 参考
Expand Down Expand Up @@ -95,3 +97,5 @@ Windows 使用 .NET 8/C# 与 WPF,不引入 macOS 目录依赖。`scripts/build
## 悬浮锁回归

双端悬浮 3 秒的小锁入口与菜单共用调整状态,设计与实机检查见 [悬浮锁说明](docs/hover-lock.md)。Windows 核心测试包含悬浮等待状态;macOS 窗口测试包含按钮与穿透检查。`.github/workflows/macos.yml` 运行窗口与外观回归,并编译完整应用(不生成个人签名证书)。原生 CI 通过也不替代混合 DPI、跨应用点击穿透的真实桌面验收。

Windows 设置的命中区域、滚动、任务栏重开和 GIF 生命周期由 `Miucs.exe --smoke-test build/windows-smoke` 在 Windows CI 验证。测试只使用合成皮肤和临时目录,不开启真实音频/键盘捕获。可移植共享位置与预览目录测试运行于 `CoreTests`。
19 changes: 11 additions & 8 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@
| 摇曳露营 | 抚子随打字吃面,凛随音乐捧杯轻啜,篝火随拍点轻跳 | [摇曳露营](plugins/yuru-camp/README.md) |
| 犬夜叉 | 打字时犬夜叉逞强,节拍触发戈薇指地、扑地和七宝受惊,全程无对白 | [犬夜叉](plugins/inuyasha/README.md) |

[查看七个插件的动态预览](docs/plugin-previews.md)。首次启动默认选择奶牛猫;之后记住你的选择。每个插件分别保存位置和大小,切换不重启输入采集。
[查看七个插件的动态预览](docs/plugin-previews.md)。首次启动默认选择奶牛猫;之后记住你的选择。所有皮肤共用当前位置和大小,切换只换画面,重启恢复同一位置;不重启输入采集。

## 构建与启动

Expand All @@ -35,19 +35,22 @@ zsh build.sh
open dist/Miucs.app
```

首次运行按提示授权系统音频捕获;要让猫爪响应打字,授予「输入监控」权限。音频和键盘可以同时使用,也能独立运行。系统休眠或音频中断后自动恢复,也可在菜单选择「重新连接音频」。更新后先退出旧版,再打开新构建。
首次运行按提示授权系统音频捕获;要让猫爪响应打字,授予「输入监控」权限。音频和键盘可以同时使用,也能独立运行。系统休眠或音频中断后自动恢复,也可在「设置 → 声音与键盘」重新连接音频。更新后先退出旧版,再打开新构建。

### Windows

提供 .NET 8/WPF、WASAPI 实现。构建方法见 [Windows README](apps/windows/README.md),实机验证范围见 [验收表](docs/windows-acceptance.md)。

## 常用操作
## 设置与常用操作

- **可视化**:切换七个桌面伙伴,奶牛猫排在首位。
- **显示 / 隐藏画面**:控制浮窗显示。
- **画面大小、不透明度**:等比缩放,调整 10%~100% 不透明度。
- **调整位置与大小**:拖动画面或右下角缩放,完成后恢复鼠标穿透;也可悬停 3 秒点击小锁。
- **托盘猫摇头**:应用自己的猫图标,独立于当前插件。
macOS 和 Windows 都有独立设置窗口,分为「皮肤」「外观与位置」「声音与键盘」「关于 Miucs」。皮肤卡片直接显示图片或 GIF;整张卡片和整行侧栏都可点击,并有悬浮与按下反馈。五线谱与铅笔飞鸟不再提供。

- **皮肤**:卡片选择、打开皮肤目录、重新扫描、重新加载当前皮肤。
- **外观与位置**:调整大小、不透明度和桌面位置;切换皮肤保持当前矩形。
- **声音与键盘**:查看连接状态、重新连接;Windows 键盘响应需主动启用,托盘动画开关也在这里。
- **桌面调整**:鼠标悬停 3 秒点击小锁,再拖动或从右下角缩放,完成后恢复鼠标穿透。

macOS 在程序坞显示 Miucs,点击打开设置;Windows 设置显示在任务栏,关闭时最小化并继续运行,点击任务栏或再次运行应用可恢复设置。菜单栏 / 托盘仅保留打开设置、显示 / 隐藏皮肤、调整位置与大小和退出。

## 插件与隐私

Expand Down
Loading
Loading