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

## 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.

The documentation for this struct was generated from the following file:

- juce_audio_processors_headless/utilities/juce_VST3Interface.h

## 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 | hexStringToId (const char *hex)
| Converts a 32-character hex notation string to a VST3 interface ID.
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.

## Member Typedef Documentation

## Id

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

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

## Member Enums

## Type

enum class juce::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 |

## Constructors and Destructors

## VST3Interface()

juce::VST3Interface::VST3Interface | ( |  | ) |

delete

## Member Functions

## vst2PluginId()

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

inline 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.

## hexStringToId()

Id juce::VST3Interface::hexStringToId | ( | const char * | hex | ) |

inline static

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

See also
  jucePluginId, vst2PluginId

References jassert, and jassertfalse.

Referenced by jucePluginId().

## jucePluginId()

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

inline 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.

If JUCE_VST3_COMPONENT_CLASS is defined it will return this value when the interface type is Type::component. This is useful if you're releasing a VST3 plugin with JUCE that needs to replace a version of a VST3 plugin that wasn't originally built using JUCE.

See also
  vst2PluginId, hexStringToId, JUCE_VST3_COMPONENT_CLASS

References ara, compatibility, component, controller, hexStringToId(), jassert, jassertfalse, JUCE_VST3_COMPONENT_CLASS, and processor.

### Purchase

Get JUCE

### Discover

What's New in JUCE Features

### Learn

Documentaion Tutorials Made with JUCE Resources

### Support

JUCE Forum Newsletter Archive

### About

Contact Us JUCE Legal JUCE Licensing FAQ

### Events

Audio Developer Conference
© Raw Material Software Limited