Interface Technology Basics  VST 3.7
SDK for developing VST plug-in
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups
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::IPluginFactory
GetPluginFactory ()
 Plug-in entry point.
 

Detailed Description

Function Documentation

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 ©2024 Steinberg Media Technologies GmbH. All Rights Reserved. This documentation is under this license.