Interface Technology Basics  VST 3.7
SDK for developing VST plug-in
Basic Interfaces

Classes

class  FUID
 Handling 16 Byte Globally Unique Identifiers. More...
 
class  FUnknown
 The basic interface of all interfaces. More...
 
class  FVariant
 A Value of variable type. More...
 
class  IBStream
 Base class for streams. More...
 
class  ISizeableStream
 Stream with a size. More...
 
class  IPluginBase
 Basic interface to a plug-in component: IPluginBase. More...
 
struct  PFactoryInfo
 Basic Information about the class factory of the plug-in. More...
 
struct  PClassInfo
 Basic Information about a class provided by the plug-in. More...
 
class  IPluginFactory
 Class factory that any plug-in defines for creating class instances: IPluginFactory. More...
 
struct  PClassInfo2
 Version 2 of Basic Information about a class provided by the plug-in. More...
 
class  IPluginFactory2
 Version 2 of class factory supporting PClassInfo2: IPluginFactory2. More...
 
class  IPluginFactory3
 Version 3 of class factory supporting PClassInfoW: IPluginFactory3. More...
 
class  IPtr< I >
 IPtr - Smart pointer template class. More...
 
class  OPtr< I >
 OPtr - "owning" smart pointer used for newly created FObjects. More...
 

Functions

SMTG_EXPORT_SYMBOL Steinberg::IPluginFactoryGetPluginFactory ()
 Plug-in entry point. More...
 

Detailed Description

Function Documentation

◆ GetPluginFactory()

SMTG_EXPORT_SYMBOL Steinberg::IPluginFactory* GetPluginFactory ( )

Plug-in entry point.

Any plug-in must define and export this function.
A typical implementation of GetPluginFactory looks like this

SMTG_EXPORT_SYMBOL IPluginFactory* PLUGIN_API GetPluginFactory ()
{
if (!gPluginFactory)
{
static PFactoryInfo factoryInfo =
{
"My Company Name",
"http://www.mywebpage.com",
"mailto:myemail@address.com",
PFactoryInfo::kNoFlags
};
gPluginFactory = new CPluginFactory (factoryInfo);
static PClassInfo componentClass =
{
INLINE_UID (0x00000000, 0x00000000, 0x00000000, 0x00000000), // replace by a valid uid
1,
"Service", // category
"Name"
};
gPluginFactory->registerClass (&componentClass, MyComponentClass::newInstance);
}
else
gPluginFactory->addRef ();
return gPluginFactory;
}
See also
loadPlugin
Empty

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