generateAudioPlugin

Generate audio plugin from MATLAB class

Description

example

generateAudioPlugin className generates a VST 2 audio plugin from a MATLAB® class specified by className. See Supported Compilers for a list of compilers supported by generateAudioPlugin.

example

generateAudioPlugin options className specifies a nondefault plugin type, output folder, file name, or file type. You can use the -juceproject option to create a zip file containing generated C/C++ code and a JUCER project. Options can be specified in any grouping, and in any order.

Examples

collapse all

generateAudioPlugin audiopluginexample.Echo
.......

A VST 2 plugin with file name Echo is saved to your current folder. The extension of your plugin depends on your operating system.

mkdir(fullfile(pwd,'myPluginFolder'))
generateAudioPlugin -outdir myPluginFolder audiopluginexample.Echo
.......

A VST 2 plugin with file name Echo is saved to your specified folder, myPluginFolder. The extension of your plugin depends on your operating system.

generateAudioPlugin -output awesomeEffect audiopluginexample.Echo
.......

A VST 2 plugin with file name awesomeEffect is saved to your current folder. The extension of your plugin depends on your operating system.

mkdir(fullfile(pwd,'myPluginFolder'))
generateAudioPlugin -output coolEffect -outdir myPluginFolder audiopluginexample.Echo
.......

A VST 2 plugin with file name coolEffect is saved to your specified folder, myPluginFolder. The extension of your plugin depends on your operating system.

generateAudioPlugin -win32 audiopluginexample.Echo
.......

A 32-bit VST 2 plugin with file name Echo.dll is saved to your current folder.

generateAudioPlugin -juceproject audiopluginexample.Echo

A zip file containing generated C/C++ code and a JUCER project file suitable for use with JUCE 5.3.2 is saved to your current folder.

To generate a binary standalone executable, use the -exe option. The following command saves Echo.exe to your current folder.

generateAudioPlugin -exe audiopluginexample.Echo
.......

When you execute the generated code, the UI you defined in your audio plugin opens.

eval('!Echo.exe')

The standalone executable enables you to:

  • Configure audio input and output from the plugin. Synchronizing parameters with MIDI devices is not currently supported.

  • Save and load states.

  • Reset states to default values.

Input Arguments

collapse all

Options can be specified in any grouping, and in any order.

Option

Description

-auGenerates an Audio Unit (AU) v2 audio plugin binary. This syntax is only valid on macOS.
-vstGenerates a VST 2 audio plugin binary. By default, generateAudioPlugin generates a VST 2 plugin.
-exe

Generates a standalone executable for your audio plugin. When you evaluate the generated code, the UI you defined in your audio plugin opens. You can control the input to your plugin and the output from your plugin using Options.

-juceproject

Creates a zip file containing generated C/C++ code and a JUCER project file suitable for use with JUCE 5.3.2. You can use the generated zip file to modify the generated plugin or compile it to a format other than VST 2.4. This option requires a MATLAB Coder™ license. To use the generated files with JUCE, you must obtain your own appropriately licensed copy of JUCE.

-win32

Creates a 32-bit audio plugin. Valid only on win64.

-output fileName

Specifies the file name of the generated plugin or zip file. The appropriate extension is appended to the fileName based on the platform on which the plugin or zip file is generated. By default, the plugin or zip file is named after the class.

-outdir folder

Generates a plugin or zip file to a specific folder. By default, the generated plugin is placed in the current folder. If folder is not in the current folder, specify the exact path.

Name of the plugin class to generate. The plugin class must be on the MATLAB path. It must derive from either the audioPlugin class or the audioPluginSource class.

You can specify the plugin class to generate by specifying its class name or file name. For example, the following syntaxes perform equivalent operations:

  • generateAudioPlugin myPlugin

  • generateAudioPlugin myPlugin.m

If you want to specify the plugin class by file name, and your plugin class is inside a package, you must specify the package as a file path. For example, the following syntaxes perform equivalent operations:

  • generateAudioPlugin myPluginPackage.myPlugin

  • generateAudioPlugin +myPluginPackage/myPlugin.m

Limitations

Build problems can occur when using folder names with spaces. For more information, see Build Process Support for Folder Names with Spaces or Special Characters (Simulink Coder) and Why is the build process failing for a shipped model in Simulink or for a model run in Accelerator mode?.

More About

collapse all

Generated VST Plugin File Extension

The extension of your generated VST plugin depends on your operating system.

Operating System

File Extension

Windows

.dll

macOS

.vst

Introduced in R2016a