Main Content

audioPluginInterface

Specify audio plugin interface

Description

example

PluginInterface = audioPluginInterfacereturns an object,PluginInterface, that specifies the interface of an audio plugin in a digital audio workstation (DAW) environment. It also specifies interface attributes, such as naming.

example

PluginInterface = audioPluginInterface(pluginParameters)specifies audio plugin parameters, which are user-facing values associated with audio plugin properties. SeeaudioPluginParameterfor more details.

PluginInterface = audioPluginInterface(pluginParameters,gridLayout)specifies a grid layout for audio plugin parameter UI controls.

example

PluginInterface = audioPluginInterface(___,Name,Value)specifiesaudioPluginInterfaceproperties using one or moreName,Valuepair arguments.

Examples

collapse all

Create a basic audio plugin class definition file.

classdefmyAudioPlugin < audioPluginmethodsfunctionout = process(~,in) out = in;endendend

Add a constant property,PluginInterface, which is specified as anaudioPluginInterfaceobject.

classdefmyAudioPlugin < audioPluginproperties(Constant) PluginInterface = audioPluginInterface;endmethodsfunctionout = process(~,in) out = in;endendend

Create a basic audio plugin class definition file. Specify a property,Gain, and a processing function that multiplies input byGain.

classdefmyAudioPlugin < audioPluginpropertiesGain = 1;endmethodsfunctionout = process(plugin,in) out = in*plugin.Gain;endendend

Add a constant property,PluginInterface, which is specified as anaudioPluginInterfaceobject.

classdefmyAudioPlugin < audioPluginpropertiesGain = 1;endproperties(Constant) PluginInterface = audioPluginInterface;endmethodsfunctionout = process(plugin,in) out = in*plugin.Gain;endendend

PassaudioPluginParametertoaudioPluginInterface. To associate the plugin property,Gain, to a plugin parameter, specify the first argument ofaudioPluginParameteras the property name,'Gain'.

classdefmyAudioPlugin < audioPluginpropertiesGain = 1;endproperties(Constant) PluginInterface = audioPluginInterface(...audioPluginParameter('Gain'));endmethodsfunctionout = process(plugin,in) out = in*plugin.Gain;endendend

If you generate and deploymyAudioPluginto a digital audio workstation (DAW) environment, the plugin property,Gain, synchronizes with a user-facing plugin parameter.

Create a basic audio plugin class definition file. Specify the plugin name, vendor name, vendor version, unique identification, number of input channels, number of output channels, and a yellow background.

classdefmonoGain < audioPluginpropertiesGain = 1;endproperties(Constant) PluginInterface = audioPluginInterface(...audioPluginParameter('Gain'),...'PluginName','Simple Gain',...'VendorName','Cool Company',...'VendorVersion','1.0.0',...'UniqueId','1a1Z',...'InputChannels',1,...'OutputChannels',1,...“写成BackgroundColor”,'y');endmethodsfunctionout = process(plugin,in) out = in*plugin.Gain;endendend

Input Arguments

collapse all

音频插件参数,指定为一个或多个audioPluginParameter对象.

To create an audio plugin parameter, use theaudioPluginParameterfunction. In a digital audio workstation (DAW) environment, audio plugin parameters synchronize plugin class properties with user-facing parameters.

Audio plugin grid layout, specified as anaudioPluginGridLayoutobject.

Name-Value Arguments

Specify optional pairs of arguments asName1=Value1,...,NameN=ValueN, whereNameis the argument name andValueis the corresponding value. Name-value arguments must appear after other arguments, but the order of the pairs does not matter.

Before R2021a, use commas to separate each name and value, and encloseNamein quotes.

Example:'PluginName','cool effect','VendorVersion','1.0.2'specifies the name of the generated audio plugin as'cool effect'and the vendor version as'1.0.2'.

Name of your generated plugin, as seen by a host audio application, specified as a comma-separated pair consisting of'PluginName'and a character vector or string of up to 127 characters. If'PluginName'is not specified, the generated plugin is given the name of the audio plugin class it is generated from.

Vendor name of the plugin creator, specified as the comma-separated pair'VendorName'and a character vector of up to 127 characters.

Vendor version used to track plugin releases, specified as a comma-separated pair consisting of'VendorVersion'and a dot-separated character vector or string of 1–3 integers in the range 0 to 9.

Example:'1'

Example:'1.4'

Example:'1.3.5'

Unique identifier for your plugin, specified as a comma-separated pair consisting of'UniqueID'and a four-element character vector or string, used for recognition in certain digital audio workstation (DAW) environments.

Input channels, specified as a comma-separated pair consisting of'InputChannels'and an integer or vector of integers. Theinput channelsare the number of input data arguments and associated channels (columns) passed to the processing function of your audio plugin.

Example:'InputChannels',3calls the processing function with one data argument containing 3 channels.

Example:'InputChannels',[2,4,1,5]calls the processing function with4data arguments. The first argument contains 2 channels, the second contains 4 channels, the third contains 1 channel, and the fourth contains 5 channels.

Note

This property is not applicable for audio source plugins, and must be omitted.

Output channels, specified a comma-separated pair consisting of'OutputChannels'and an integer or vector of integers. Theoutput channelsare the number of input data arguments and associated channels (columns) passed from the processing function of your audio plugin.

Example:“OutputChannels”,3specifies the processing function to output one data argument containing 3 channels.

Example:'OutputChannels',[2,4,1,5]specifies the processing function to output 4 data arguments. The first argument contains 2 channels, the second contains 4 channels, the third contains 1 channel, and the fourth contains 5 channels.

Color used for GUI background, specified as short or long color name string, or an RGB triplet

Example:“写成BackgroundColor”,[1 1 0]specifies the GUI background to be yellow.

Example:“写成BackgroundColor”,'y'specifies the GUI background to be yellow.

Example:“写成BackgroundColor”,'yellow'specifies the GUI background to be yellow.

Color Name Short Name RGB Triplet Hexadecimal Color Code Appearance
“红色' 'r' [1 0 0] '#FF0000'

样品的颜色ed

'green' 'g' [0 1 0] '#00FF00'

Sample of the color green

'blue' 'b' [0 0 1] '#0000FF'

Sample of the color blue

'cyan' 'c' [0 1 1] '#00FFFF'

Sample of the color cyan

'magenta' 'm' [1 0 1] '#FF00FF'

Sample of the color magenta

'yellow' 'y' [1 1 0] '#FFFF00'

Sample of the color yellow

'black' 'k' [0 0 0] '#000000'

Sample of the color black

'white' 'w' [1 1 1] '#FFFFFF'

Sample of the color white

Here are the RGB triplets and hexadecimal color codes for the default colors MATLAB®uses in many types of plots.

RGB Triplet Hexadecimal Color Code Appearance
[0 0.4470 0.7410] '#0072BD'

Sample of RGB triplet [0 0.4470 0.7410], which appears as dark blue

[0.8500 0.3250 0.0980] '#D95319'

Sample of RGB triplet [0.8500 0.3250 0.0980], which appears as dark orange

[0.9290 0.6940 0.1250] '#EDB120'

Sample of RGB triplet [0.9290 0.6940 0.1250], which appears as dark yellow

[0.4940 0.1840 0.5560] '#7E2F8E'

Sample of RGB triplet [0.4940 0.1840 0.5560], which appears as dark purple

[0.4660 0.6740 0.1880] '#77AC30'

Sample of RGB triplet [0.4660 0.6740 0.1880], which appears as medium green

[0.3010 0.7450 0.9330] '#4DBEEE'

Sample of RGB triplet [0.3010 0.7450 0.9330], which appears as light blue

[0.6350 0.0780 0.1840] '#A2142F'

Sample of RGB triplet [0.6350 0.0780 0.1840], which appears as dark red

Data Types:single|double|int8|int16|int32|int64|uint8|uint16|uint32|uint64|logical|char|string

Image used for GUI background, specified by its file name using either a character vector or string. If the file is not on path, you must specify the full file path. Supported file types are PNG, GIF, and JPG.

The background image may include transparencies, in which case theBackgroundColoris used.

Example:'BackgroundImage','Sunrise.png'specifies the GUI background image to be the'Sunrise'image.

Example:'BackgroundImage',fullfile(matlabroot,"mySkins","Sunset.jpg")specifies the GUI background to be the'Sunset'image.

Data Types:char|string

Version History

Introduced in R2016a