VST 3 SDK: PlugProvider Class Reference
Author: Steinberg

VST 3 SDK VST 3.7 SDK for developing VST plug-in

Loading...
Searching...
No Matches
Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
PlugProvider Class Reference

Helper for creating and initializing component. More...

`#include <plugprovider.h>`

Inheritance diagram for PlugProvider:

## Public Types
using | ClassInfo = VST3::Hosting::ClassInfo
using | PluginFactory = VST3::Hosting::PluginFactory

## Public Member Functions
| PlugProvider (const PluginFactory &factory, ClassInfo info, bool plugIsGlobal=true)
| ~PlugProvider () override
bool | initialize ()
IPtr< IComponent > | getComponentPtr () const
IPtr< IEditController > | getControllerPtr () const
const ClassInfo & | getClassInfo () const
IComponent * | getComponent () SMTG_OVERRIDE
IEditController * | getController () SMTG_OVERRIDE
tresult | releasePlugIn (IComponent *component, IEditController *controller) SMTG_OVERRIDE
tresult | getSubCategories (IStringResult &result) const SMTG_OVERRIDE
tresult | getComponentUID (FUID &uid) const SMTG_OVERRIDE
IPluginFactory * | getPluginFactory () SMTG_OVERRIDE

## Static Public Member Functions
static void | setErrorStream (std::ostream *stream)

## Protected Member Functions
bool | setupPlugin (FUnknown *hostContext)
bool | connectComponents ()
bool | disconnectComponents ()
void | terminatePlugin ()
template<typename Proc>
void | printError (Proc p) const

## Protected Attributes
PluginFactory | factory
IPtr< IComponent > | component
IPtr< IEditController > | controller
ClassInfo | classInfo
IPtr< ConnectionProxy > | componentCP
IPtr< ConnectionProxy > | controllerCP
bool | plugIsGlobal

## Detailed Description

Helper for creating and initializing component.

## Member Typedef Documentation

## ◆ ClassInfo

using ClassInfo = VST3::Hosting::ClassInfo

## ◆ PluginFactory

using PluginFactory = VST3::Hosting::PluginFactory

## Constructor & Destructor Documentation

## ◆ PlugProvider()

PlugProvider | ( | const PluginFactory & | factory,
|  | ClassInfo | info,
|  | bool | plugIsGlobal = true )

## ◆ ~PlugProvider()

~PlugProvider | ( |  | ) |
| override

## Member Function Documentation

## ◆ initialize()

bool initialize | ( |  | ) |

## ◆ getComponentPtr()

IPtr< IComponent > getComponentPtr | ( |  | ) | const
| inline

## ◆ getControllerPtr()

IPtr< IEditController > getControllerPtr | ( |  | ) | const
| inline

## ◆ getClassInfo()

const ClassInfo & getClassInfo | ( |  | ) | const
| inline

## ◆ getComponent()

IComponent * getComponent | ( |  | ) |

## ◆ getController()

IEditController * getController | ( |  | ) |

## ◆ releasePlugIn()

tresult releasePlugIn | ( | IComponent * | component,
|  | IEditController * | controller )

## ◆ getSubCategories()

tresult getSubCategories | ( | IStringResult & | result | ) | const
| inline

## ◆ getComponentUID()

tresult getComponentUID | ( | FUID & | uid | ) | const

## ◆ getPluginFactory()

IPluginFactory * getPluginFactory | ( |  | ) |

## ◆ setErrorStream()

void setErrorStream | ( | std::ostream * | stream | ) |
| static

## ◆ setupPlugin()

bool setupPlugin | ( | FUnknown * | hostContext | ) |
| protected

## ◆ connectComponents()

bool connectComponents | ( |  | ) |
| protected

## ◆ disconnectComponents()

bool disconnectComponents | ( |  | ) |
| protected

## ◆ terminatePlugin()

void terminatePlugin | ( |  | ) |
| protected

## ◆ printError()

template<typename Proc>

void printError | ( | Proc | p | ) | const
| protected

## Member Data Documentation

## ◆ factory

PluginFactory factory
| protected

## ◆ component

IPtr<IComponent> component
| protected

## ◆ controller

IPtr<IEditController> controller
| protected

## ◆ classInfo

ClassInfo classInfo
| protected

## ◆ componentCP

IPtr<ConnectionProxy> componentCP
| protected

## ◆ controllerCP

IPtr<ConnectionProxy> controllerCP
| protected

## ◆ plugIsGlobal

bool plugIsGlobal
| protected

Empty

Copyright © Steinberg Media Technologies GmbH. All Rights Reserved. This documentation is under this license.