一、VST3宿主机开发所需的知识
- C++
VST3 SDK的源代码是用c++写的。因此,在使用VST3 SDK时,需要一些基本的c++语法(指针/类/模板等)和c++生态系统(编译器/ IDE等)相关的知识。 - Component Object Model (COM)
1、 COM是微软开发的二进制接口标准。
2、在VST3标准中,由于在设计的基础部分采用了参考COM的VST-MA的结构,所以有COM的知识的话容易理解的部分。 - 音频/实时编程
1、为了处理音频数据,需要基本的音频编程知识(采样率/缓冲器大小/信道等)。
2、为了通过音频设备进行音频数据的输入输出,为了实时音频处理多线程编程的知识是必要的。
二、准备
VST-SDK 下载
- 官网(https://new.steinberg.net/developers/)
- github(https://github.com/steinbergmedia/vst3sdk/)
cmake 安装
编译工具安装
- 本文采用mvc++ 2019 所以安装了visual studio 2019.
三、编译
打开cmake 编译后,发现audiohost并未编译成功。找到对应cmakelsits.txt文件后。发现,需要勾选
SMTG_ENABLE_USE_OF_JACK 后才会执行翻译。返回cmake界面,勾选后SMTG_ENABLE_USE_OF_JACK后生成,发现编译错误:
查看日志:LIBJACK_FOUND is not set. If you need it, please install Jack Audio from http://www.jackaudio.org! 。
接下来打开jackaudio.org下载jack安装。
最后终于可以看到audiohost项目了,咱们主要做宿主机开发,只要关心红色项目工程即可。
到此编译成功:
editorhost:演示如何打开插件的UI.
audiohost:允许处理音频与插件
validator:测试插件的一致性