870920 Menu

StandaloneFilterWindow详解

StandaloneFilterWindow继承自DocumentWindow,专门用来加载某个插件,相当于插件程序的测试UI。本类有标题栏和最小化、关闭按钮,左上角有一个【选项】按钮,点击后弹出菜单,允许用户保存插件的状态、重新加载插件、设置音频设备、重置插件等等。

本类的使用非常简单:

假设插件已开发完成,并在自定义的全局函数createPluginFilter()中创建了该插件的实例
 此时可写一个测试程序,在JUCEApplication::initialise()中创建本类的对象
 本类内部自动调用createPluginFilter(),将该插件及其UI组件加载到当前窗口中

createPluginFilter()是使用JUCE类库开发插件所必须的全局函数,该函数用于创建并返回所开发的插件实例(返回值为AudioProcessor指针)。如果该函数所返回的插件定义了所关联的UI组件,则可以手工将该组件添加到某个内容组件或主程序窗口中。StandaloneFilterWindow类的构造函数替程序员完成了此步骤,并且可以按独立应用程序的形式来使用。本类构造函数的核心语句为:

StandaloneFilterWindow类的构造函数为
 StandaloneFilterWindow (const String& title, // 窗口标题
const Colour& backgroundColour, // 背景色
PropertySet* settingsToUse) // 用于保存各类设置

StandaloneFilterWindow的成员函数
 resetFilter () 销毁并重新创建该插件(重置)
 saveState () 弹出对话框,保存插件状态
 loadState () 弹出对话框,加载插件状态
 showAudioSettingsDialog () 弹出模态化的音频设置对话框