Interface Technology Basics  VST 3.6.7
SDK for developing VST Plug-in
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Functions
Basic Interfaces

Data Structures

class  FUID
 Handling 16 Byte Globaly 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. 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. 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. More...
 
class  IPluginFactory3
 Version 3 of class factory supporting PClassInfoW. More...
 
class  IPtr< T >
 IPtr - Smart pointer template class. More...
 
class  OPtr< I >
 OPtr - "owning" smart pointer used for newly created FObjects. More...
 

Functions

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

Detailed Description

Function Documentation

Steinberg::IPluginFactory* GetPluginFactory ( )

Plug-in entry point.

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

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
How the host will load a Plug-in
Empty

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