Interface Technology Basics VST 3.6.11 SDK for developing VST Plug-in

- Main Page
- Related Pages
- Modules
- Namespaces
- Classes
- Files

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Classes | Functions
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. 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::IPluginFactory * | GetPluginFactory ()
| 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 ©2018 Steinberg Media Technologies GmbH. All Rights Reserved. This documentation is under this license.