标签归档:音频插件

AudioPluginFormat类群详解

本小节内容与开发独立插件基本无关,与宿主平台的插件管理关系密切。所涉及的类:

  • AudioPluginFormat 代表某种插件格式,比如:VST、AU等等
  • AudioPluginFormatManager 保存并管理本机所有可用的插件格式
  • KnownPluginList 持有并可管理本机所有可用的插件实例
  • PluginDirectoryScanner 扫描某个目录,将可识别的插件添加到KnownPluginList
  • PluginListComponent 专门显示插件列表的高级UI组件,可扫描、添加、排序插件

继续阅读AudioPluginFormat类群详解

AudioProcessor类群详解 5-4

AudioPluginInstance

AudioPluginInstance是AudioProcessor的直接派生类之一,该类也是一个抽象基类,代表某个音频插件。该插件是逻辑意义上的,可以是外部需动态加载的插件,也可以是程序内部的处理模块或总输入/输出节点。

AudioPluginInstance没有实现基类的任何一个函数,其新增的成员函数为:

继续阅读AudioProcessor类群详解 5-4

AudioProcessor类群详解 5-3

AudioProcessorGraph是AudioProcessor的直接派生类之一,可添加并连接一到多个AudioProcessor(甚至可以添加本类的另一个对象),而后集中产生最终的音频流。所添加的每个AudioProcessor,可以是程序内部的音频处理模块(AudioProcessor的派生类的对象),也可以是外部的音频插件或MIDI音源。也就是说,本类相当于一个元素为AudioProcessor的数据容器。

继续阅读AudioProcessor类群详解 5-3

AudioProcessor类群详解 5-1

本小节所涉及的类可用于(但不限于)开发音频(DSP)插件、软件滤波器(效果器)、音频及语音信号处理、MIDI软音源、软件合成器、软采样器、程序内部的音频和MIDI处理模块(内部效果器),等等。并可使应用程序具有插件宿主、插件管理、信号路由等功能。主要涉及到以下类(结构体):

继续阅读AudioProcessor类群详解 5-1

JUCE类库的主要模块

JUCE类库采用先进的模块化结构。开发时,可选择是否启用某些模块。未启用的模块不参与编译。按笔者的使用经验,GUI编程通常需要启用下面列表中的前五个模块。控制台编程,前3个即足够。进行专业音频领域的软件和插件开发,需启用与音频相关的几个模块。为提高界面渲染效率,往往还需启用OpenGL模块。商业软件,比如需要注册才可使用,开发时经常会用到RSA加解密等技术,这些JUCE类库都提供了。

截至目前,JUCE类库主要由以下模块构成:

继续阅读JUCE类库的主要模块