Loading...
Searching...
No Matches
VST3Interface Struct Reference

Useful functions and classes for defining VST3 Interface Ids. More...

Public Types

enum class  Type {
  ara , controller , compatibility , component ,
  processor
}
 An enum indicating the various VST3 interface types. More...
 
using Id = std::array<std::byte, 16>
 A type storing the byte values for a unique VST3 interface identifier.
 

Public Member Functions

 VST3Interface ()=delete
 

Static Public Member Functions

static Id vst2PluginId (uint32_t pluginCode, const char *pluginName, Type interfaceType=Type::component)
 Returns a 16-byte array indicating the VST3 interface ID used for a given VST2 plugin.
 
static Id jucePluginId (uint32_t manufacturerCode, uint32_t pluginCode, Type interfaceType=Type::component)
 Returns a 16-byte array indicating the VST3 interface ID used for a given JUCE VST3 plugin.
 
static Id hexStringToId (const char *hex)
 Converts a 32-character hex notation string to a VST3 interface ID.
 

Detailed Description

Useful functions and classes for defining VST3 Interface Ids.

The classes and functions in this struct are intentionally lightweight, requiring almost no JUCE or Steinberg VST3 SDK dependencies.

Member Typedef Documentation

◆ Id

using VST3Interface::Id = std::array<std::byte, 16>

A type storing the byte values for a unique VST3 interface identifier.

Member Enumeration Documentation

◆ Type

enum class VST3Interface::Type
strong

An enum indicating the various VST3 interface types.

In most cases users shouldn't need to concern themselves with any interfaces other than the component, which is used to report the actual audio effect.

Enumerator
ara 
controller 
compatibility 
component 
processor 

Constructor & Destructor Documentation

◆ VST3Interface()

VST3Interface::VST3Interface ( )
delete

Member Function Documentation

◆ vst2PluginId()

static Id VST3Interface::vst2PluginId ( uint32_t pluginCode,
const char * pluginName,
Type interfaceType = Type::component )
static

Returns a 16-byte array indicating the VST3 interface ID used for a given VST2 plugin.

Internally JUCE will use this method to assign an ID for the component and controller interfaces when JUCE_VST3_CAN_REPLACE_VST2 is enabled.

See also
jucePluginId, hexStringToId

References ara, compatibility, component, controller, jassertfalse, and processor.

◆ jucePluginId()

static Id VST3Interface::jucePluginId ( uint32_t manufacturerCode,
uint32_t pluginCode,
Type interfaceType = Type::component )
static

Returns a 16-byte array indicating the VST3 interface ID used for a given JUCE VST3 plugin.

Internally this is what JUCE will use to assign an ID to each VST3 interface, unless JUCE_VST3_CAN_REPLACE_VST2 is enabled.

See also
vst2PluginId, hexStringToId

References ara, compatibility, component, controller, jassert, jassertfalse, and processor.

◆ hexStringToId()

static Id VST3Interface::hexStringToId ( const char * hex)
static

Converts a 32-character hex notation string to a VST3 interface ID.

See also
jucePluginId, vst2PluginId

References jassert, and jassertfalse.

linkedin facebook pinterest youtube rss twitter instagram facebook-blank rss-blank linkedin-blank pinterest youtube twitter instagram