AWE Core OS 8.B.22 Documentation
Modules | Data Structures | Macros | Typedefs
AudioWeaver Plugins

Modules

 Creating a Plugin
 Using the AudioWeaver Plugin API to create a dynamically loadable list of modules.
 
 Loading a Plugin
 Using the AudioWeaver Plugin API to load plugin libraries.
 

Data Structures

struct  _AWEPluginModuleArray
 A list of module classes provided by a plugin. More...
 
struct  _AWEPlugin
 A struct encapsulating the functionality which can be provided by a plugin library. More...
 
struct  _awe_PluginCallbacks
 Callbacks passed by the loader to each plugin entrypoint. More...
 

Macros

#define AWE_PLUGIN_API_VERSION_MAX_LENGTH   63
 Maximum length of the AWE_PLUGIN_API_VERSION. More...
 
#define AWE_PLUGIN_API_VERSION   "1"
 Version of the AudioWeaver Plugin API. More...
 

Typedefs

typedef struct _AWEPluginModuleArray AWEPluginModuleArray
 A list of module classes provided by a plugin.
 
typedef struct _AWEPlugin AWEPlugin
 A struct encapsulating the functionality which can be provided by a plugin library. More...
 
typedef struct _awe_PluginCallbacks awe_PluginCallbacks
 Callbacks passed by the loader to each plugin entrypoint. More...
 

Detailed Description

Macro Definition Documentation

◆ AWE_PLUGIN_API_VERSION_MAX_LENGTH

#define AWE_PLUGIN_API_VERSION_MAX_LENGTH   63

Maximum length of the AWE_PLUGIN_API_VERSION.

This does not include the null-terminator.

◆ AWE_PLUGIN_API_VERSION

#define AWE_PLUGIN_API_VERSION   "1"

Version of the AudioWeaver Plugin API.

Must be a null-terminated character string with length less than AWE_PLUGIN_API_VERSION_MAX_LENGTH.

Typedef Documentation

◆ AWEPlugin

typedef struct _AWEPlugin AWEPlugin

A struct encapsulating the functionality which can be provided by a plugin library.

This struct is to be returned by the plugin's AWEPlugin_initialize entrypoint. Optional fields can be set to NULL.

◆ awe_PluginCallbacks

Callbacks passed by the loader to each plugin entrypoint.

The plugin entrypoint should prefer to use these functions during initialization. They are guaranteed to outlive the plugin, so it is safe to cache them internally. This is typically necessary if memory is to be freed in the plugin's cleanup function. They may be NULL, in which case the plugin entrypoint must either choose to use a fallback or simply return NULL to indicate an initialization failure.