供千千静听原版 5.7.9 与 TTPlayer Rebuild 使用的独立 x86 APE 插件。
接口根据原版 ttp_ape.dll 的伪代码、导出、虚表和宿主调用链恢复;编解码核心使用固定版本的 Monkey's Audio SDK 13.27。
- APE / MAC 播放、格式信息、定位;兼容原插件生成的特殊 4110 文件。
- 增加 APL 音频片段读取、32 位整数和 float32 APE、多声道。
- 恢复 Reader、Encoder 两个工厂以及原版的三个导出。
- 恢复五档压缩设置、原宿主 float64 编码输入;修复整数输入被当作 16 位的错误。
- 自动精度:整数保持输入位深,浮点转为 16 位;可选 16/24/32 位整数输出。
- 标签和封面通过宿主
CreateStdContent接口读写,保持原版宿主的行为和保存策略。 - 同一个 DLL 适用于 XP SP3、Win7 和新系统;CPU 需要 SSE2,无需另外安装 VC 运行库。
需要 Visual Studio 2026 C++ Build Tools(或包含 C++ 工具的 Visual Studio)、Windows SDK、CMake 3.24+、Python 3、PowerShell。
./build.ps1 -Package
# 明确指定日期发行版本;同一天的后续发行使用 p1、p2……
./build.ps1 -Package -PackageVersion 2026.10.04默认使用 Visual Studio 18 2026、Win32、Release,优先优化 DLL 体积。
依赖在构建时下载并校验 SHA-256:Monkey's Audio SDK 13.27、VC-LTL 5.3.1、YY-Thunks 1.2.2。
SDK 源码只存在于忽略的构建目录;仓库保留下载脚本、确定性补丁和许可证。
离线缓存可通过 -CMakeArguments '-DTTP_APE_SDK_ARCHIVE=绝对路径/MAC_1327_SDK.zip' 指定,仍会检查固定哈希。
产物:
build/Release/ttp_ape.dllbuild/Release/ttp_ape-版本号.zipbuild/Release/SHA256SUMS.txt
ZIP 中只有 AddIn/ttp_ape.dll 和 SHA256SUMS.txt。
关闭播放器后,将 DLL 放入其 AddIn 目录;更新前保留旧 DLL 备份。
本项目独立构建,不依赖 rebuild 的源码、构建目录或测试。
手动运行 .github/workflows/build.yml;选中 Release a Version 时分配北京时间日期版本,并发布 ZIP 与校验文件。
文件版本与发行版本相同。工作流不运行或上传测试。
本地测试和原二进制分析材料存放在相邻工作区 rebuild/tests/ape_rebuild 与 rebuild/tests/ape_analysis,不属于该插件仓库。
适配层使用 MIT。第三方声明保存在仓库,未嵌入 DLL:
发行说明附有这些声明的全文,作为随二进制提供的材料。
DLL 的文件版本和产品版本使用北京时间 yyyy.MM.dd,同日发布补丁使用 pN;
例如 2026.10.06p1 对应固定数字版本 2026.10.6.1。Actions 在编译前确定最终版本,
DLL、发行包和发布标签使用同一版本。各项目继续独立构建。
Release 的统一配置见 cmake/size_release.cmake:
/O1 /Os /Gy /Gw /GF、跨模块优化和链接去除未引用代码/折叠相同代码,关闭 Release 调试信息。
本项目经 /Ob0、/Ob1、/Ob2 对比,默认选择 /Ob2;
可用 -DTTP_SIZE_INLINE_LEVEL=0|1|2 重新测量不同内联策略。
保留正常浮点语义、异常处理及 VC-LTL/YY-Thunks 的 XP/Win7 兼容配置。
Actions 不编译、不运行测试;本次新增的测试仅位于本地 rebuild/tests/dll_size_versions,不进入发行包。