这个项目能做什么
Tracktion Engine 是一个 JUCE 模块,提供高层数据模型和一组类,用于构建基于序列的音频应用。根据 README,它可用于构建从简单文件播放器或音序器到完整 DAW 的任何应用。单独的 FEATURES.md 文档列出了完整的功能范围。
支持的平台为 macOS、Windows、Linux、Raspberry Pi、iOS 和 Android。该项目要求 C++20。
入门:模块代码位于 modules/tracktion_engine 下,JUCE 作为 Git 子模块包含在内,用于构建示例。README 建议使用 --recurse-submodules 进行克隆。
示例位于 /examples,有两个主要项目:DemoRunner,展示各种 Engine 功能;EngineInPluginDemo,构建一个包含 Tracktion Engine 的插件,并将宿主时间线同步到 Edit 的时间线。还有 Benchmark 和 TestRunner 应用,供 CI 用于测试功能和性能。/tests 中的 Bash 脚本(generate_examples 和 build)可以生成 IDE 项目文件或构建示例;也可以在根目录运行 CMake,为 DemoRunner、EngineInPluginDemo、TestRunner 和 Benchmark 创建目标。
教程以渲染后的 Markdown 形式提供在 /tutorials 中。Doxygen 生成的文档可在 tracktion.github.io/tracktion_engine/modules.html 获取,基准测试可在 tracktion.github.io/tracktion_engine/benchmarks.html 获取。
贡献:错误报告和功能请求请提交到 JUCE Forum 的 Tracktion Engine 类别。README 指出,由于版权限制,不接受第三方 GitHub 拉取请求,但希望有兴趣的贡献者主动联系。
许可:Tracktion Engine 采用 GPL/商业许可证,并提供多个商业层级。README 指出,尽管它使用 JUCE,但它不属于 JUCE,也不由同一家公司拥有,而是单独授权;在分发基于它的产品时,还需要 JUCE 许可证。它还列出了捆绑的第三方库及其许可证,包括 rpmalloc、moodycamel::ConcurrentQueue、choc、crill、expected、libsamplerate、rigtorp/MPMCQueue、magic_enum、farbot、doctest 和 signalsmith-stretch。
评论
0 评分人数达到10人后显示
登录后参与讨论。