|
Base Module
VST 3.6.5
SDK for developing VST Plug-in
|
Global Initialization / Termination Mechanism. More...
#include "pluginterfaces/base/ftypes.h"Data Structures | |
| class | OneTimeProcedure |
| Manager for initialization & termination code. More... | |
Namespaces | |
| Steinberg | |
Macros | |
| #define | INIT_FUNCTION_NAME(name) init##name |
| Get a classes initialization procedure name. More... | |
| #define | INIT_FUNCTION(name) bool INIT_FUNCTION_NAME(name) () |
| Use this to call an initialization procedure directly. More... | |
| #define | TERM_FUNCTION_NAME(name) term##name |
| Get a classes termination procedure name. More... | |
| #define | TERM_FUNCTION(name) bool TERM_FUNCTION_NAME(name) () |
| Use this to call a termination procedure directly. Be aware that this does not unregister the procedure. It will be executed again, if terminate () is called ! More... | |
| #define | INITIALIZE(name) |
| Use this to register any initialization code. More... | |
| #define | INITIALIZE_LEVEL(name, level) |
| Same as INITIALIZE(name), but utilizes initialization levels (see enum InitLevel). More... | |
| #define | TERMINATE(name) |
| Use this to register any termination. More... | |
| #define | TERMINATE_LEVEL(name, level) |
| Same as TERMINATE(name), but utilizes levels (see enum InitLevel). More... | |
| #define | FRIEND_INITIALIZE(name) friend INIT_FUNCTION(name); |
| #define | FRIEND_TERMINATE(name) friend TERM_FUNCTION(name); |
| #define | PRE_INITIALIZE(name) INITIALIZE_LEVEL(name, kInitLevelFirst) |
| #define | POST_INITIALIZE(name) INITIALIZE_LEVEL(name, kInitLevelLast) |
Typedefs | |
| typedef bool(* | InitTermFunc )() |
| Initialization / Termination procedure format. There must not be parameters. Return true to indicate execution success. An initialization procedure returning false causes immediate initialization abort. More... | |
Enumerations | |
| enum | InitLevel { kInitLevelFirst = 0, kInitLevelBelowStd = 25, kInitLevelStd = 50, kInitLevelAboveStd = 75, kInitLevelLast = 100 } |
| With init levels, you may initialize things in different places / at different program startup stages. More... | |
Global Initialization / Termination Mechanism.
| #define INIT_FUNCTION_NAME | ( | name | ) | init##name |
Get a classes initialization procedure name.
| #define INIT_FUNCTION | ( | name | ) | bool INIT_FUNCTION_NAME(name) () |
Use this to call an initialization procedure directly.
Be aware that this does not unregister the procedure. It will be executed again, if terminate () is called !
| #define TERM_FUNCTION_NAME | ( | name | ) | term##name |
Get a classes termination procedure name.
| #define TERM_FUNCTION | ( | name | ) | bool TERM_FUNCTION_NAME(name) () |
Use this to call a termination procedure directly. Be aware that this does not unregister the procedure. It will be executed again, if terminate () is called !
| #define INITIALIZE | ( | name | ) |
Use this to register any initialization code.
The name parameter must be unique in the code (for example a class name). Example:
| #define INITIALIZE_LEVEL | ( | name, | |
| level | |||
| ) |
Same as INITIALIZE(name), but utilizes initialization levels (see enum InitLevel).
| #define TERMINATE | ( | name | ) |
Use this to register any termination.
The name parameter must be unique in the code. Example:
| #define TERMINATE_LEVEL | ( | name, | |
| level | |||
| ) |
Same as TERMINATE(name), but utilizes levels (see enum InitLevel).
| #define FRIEND_INITIALIZE | ( | name | ) | friend INIT_FUNCTION(name); |
| #define FRIEND_TERMINATE | ( | name | ) | friend TERM_FUNCTION(name); |
| #define PRE_INITIALIZE | ( | name | ) | INITIALIZE_LEVEL(name, kInitLevelFirst) |
| #define POST_INITIALIZE | ( | name | ) | INITIALIZE_LEVEL(name, kInitLevelLast) |