Thanks to visit codestin.com
Credit goes to Github.com

Skip to content

(开发中)Windows 虚拟 MIDI 钢琴,支持 VSTi、演奏和视频的录制与导出。

License

Notifications You must be signed in to change notification settings

wangyan-life/devpiano

Repository files navigation

DevPiano

轻量钢琴应用,基于 JUCE 框架开发,用于键盘演奏与音频输出。此仓库包含 Windows x64 的构建脚本与 GitHub Actions 自动发布流程。

主要特性

  • 基本键盘演奏功能
  • 音频输出(通过 JUCE)
  • Windows x64 Release 构建与自动打包
  • 在推送 tag 时自动在 GitHub 上创建 Release(支持 prerelease 标记)

目录说明

  • DevPiano.sln - Visual Studio 解决方案
  • scripts/build_release.ps1 - Windows 构建与打包脚本(用于 CI)
  • .github/workflows/release.yml - GitHub Actions 工作流(当 push v* tag 时触发)
  • Builds/ - 本地构建输出(CI 生成在此路径下查找)
  • Dist/ - 发布打包产物存放目录(CI 会将 zip 放入此目录)

快速开始(本地开发)

前提

  • Windows + Visual Studio(含 C++ 工具 / MSBuild)
  • Projucer(如适用)或确保工程的 JUCE 模块已正确设置
  • Git

本地编译(推荐)

  1. 使用 Projucer 修改并保存工程(如适用),再在 Visual Studio 中打开 DevPiano.jucer 导出的 DevPiano.sln
  2. 在 Visual Studio 中选择 Releasex64,编译解决方案。
  3. 可在 Builds\\x64\\Release\\App 下找到运行时输出。

使用脚本打包(Windows)

脚本会自动调用 NuGet/dotnet 恢复依赖,使用 msbuild 构建并将输出打包为 zip:

powershell -ExecutionPolicy Bypass -File scripts\\build_release.ps1 -Solution 'DevPiano.sln' -TagName 'v1.0.0' -OutDir 'Dist' -Configuration 'Release' -Platform 'x64'

生成的包位置示例: Dist\\v1.0.0-windows-x64.zip

发布(在 GitHub)

仓库配置了 GitHub Actions:当你将以 v 开头的 tag 推送到远端时(例如 v1.0.0v1.0.0-beta),工作流会执行:

  • prep job 判断是否为 prerelease(仅匹配 -beta-rc)以及是否需要构建(主版本号 >= 1)
  • 若需要构建,则在 windows-latest runner 上使用 scripts/build_release.ps1 构建并将生成的 Dist/*.zip 上传为 artifact
  • 最后 create_release job 会下载 artifact(若有)并在 GitHub 上创建 Release,将 Dist/*.zip 附加到 Release

本地常用命令:

  • 创建带注释的 tag: git tag -a v1.0.0 -m "Release v1.0.0"
  • 推送单个 tag: git push origin v1.0.0

也可以使用 gh CLI 在推送后创建 Release,但 CI 已自动完成这一流程。

CI 注意事项

  • build_release.ps1 假定构建产物位于 Builds\\x64\\Release\\App,并将其打包到 Dist。请确保解决方案的输出目录与此一致,或修改脚本以匹配你的工程输出。
  • 构建日志中可能出现编码相关的 C4819 警告,建议将相关源码文件保存为 UTF-8/Unicode 以消除这些警告。

贡献

欢迎通过 Fork + PR 的方式提交改进。提交信息请遵循常见的语义化提交约定(例如 feat:fix:)。

许可证

本仓库采用 GPL v3 许可证。版权所有 (c) 2025 wangyan-life。请参阅仓库根目录的 LICENSE 文件了解具体条款。

About

(开发中)Windows 虚拟 MIDI 钢琴,支持 VSTi、演奏和视频的录制与导出。

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Packages

No packages published

Languages