注意:企业版许可用户,请检查您的许可条款,因为可能不包括v3版本。请联系我们了解升级选项
tracktion_engine
欢迎来到Tracktion Engine代码库!
Tracktion Engine的目标是为构建基于序列的音频应用程序提供高级数据模型和一系列类。您可以构建从简单的文件播放器或音序器到完整的数字音频工作站的任何东西。
查看功能文档了解完整的功能范围。
支持的平台
- macOS
- Windows
- Linux
- 树莓派
- iOS
- 安卓
注意:Tracktion Engine需要C++20
目录
入门
Tracktion Engine作为JUCE模块
提供,因此可以轻松地集成到现有的JUCE应用程序中。您可以在modules/tracktion_engine
下找到模块代码。此外,JUCE作为Git子模块添加到此处,以便构建示例。
首先,克隆仓库并递归子模块:
$ git clone --recurse-submodules https://github.com/Tracktion/tracktion_engine.git
示例
示例项目位于/examples
中。
有两个主要的示例项目,DemoRunner
和EngineInPluginDemo
。在每个文件夹中都有一个CMakeLists.txt文件,您可以用它来构建它们(或运行下面提到的build
脚本)。
DemoRunner
包含多个展示各种Engine功能的应用程序示例。
EngineInPluginDemo
构建了一个包含Tracktion Engine的插件,并将主机时间线同步到Edit的时间线。
此外,还有Benchmark
和TestRunner
应用程序,用于CI测试Engine功能和性能。
脚本
要为运行平台生成所有示例,请使用/tests
中的脚本。
这些是bash脚本,如果您使用Windows,可以使用随Git一起提供的Git Bash
shell运行以下命令。
$ cd tests
$ ./generate_examples
generate_examples
将为您生成IDE项目文件。或者,您也可以运行build
脚本来构建示例,准备运行。
生成或构建示例项目后,您可以在examples/example_name/build
中找到它们。
CMake
另外,您可以在根目录中运行cmake,这将创建一个包含DemoRunner
、EngineInPluginDemo
、TestRunner
和Benchmark
目标的项目。例如:
cmake -G <generator_name> -B build
教程
当您准备深入代码时,打开IDE文件并阅读/tutorials
中的教程。您可以在GitHub上这里查看这些教程,以查看渲染后的Markdown。
文档
我们仍在完善Doxygen格式的注释,但可以在这里找到Doxygen生成的文档:https://tracktion.github.io/tracktion_engine/modules.html
基准测试
基准测试主要供我们内部使用,但可能对一些人有兴趣: https://tracktion.github.io/tracktion_engine/benchmarks.html
贡献
Tracktion Engine以JUCE模块格式提供,对于错误报告和功能请求,请访问JUCE论坛并使用Tracktion Engine分类发帖 - Tracktion Engine开发人员活跃在那里,会阅读每一篇帖子并作出相应回应。 由于版权限制,我们不直接接受第三方GitHub拉取请求, 但如果您想贡献任何更改,请联系我们。
许可证
Tracktion Engine有多个商业许可层级,每个层级有不同的条款。 有关价格,请参见Tracktion开发者页面。
**注意:**尽管Tracktion Engine使用JUCE,但它不是JUCE的一部分,也不属于同一公司。因此,它是单独许可的,在分发基于Tracktion Engine的产品时,您必须确保从juce.com获得适当的JUCE许可证。同样,Tracktion Engine不包含在JUCE许可证中,您必须获得上述Tracktion Engine许可证才能分发产品。
Tracktion Engine使用并包含以下库的副本。请确保在必要时遵守许可条款:
- rpmalloc - 公共领域
- moodycamel::ConcurrentQueue - 简化BSD/BSL
- choc - ISC
- crill - BSL-1.0
- expected - CC0 1.0
- libsamplerate - BSD-2-Clause
- nanorange - BSL-1.0
- rigtorp/MPMCQueue - MIT
- magic_enum - MIT
- farbot - MIT
- doctest - MIT