Dusk Audio Framework
Loading...
Searching...
No Matches
Extra Plugin Macros

Macros

#define DAF_RUNTIME_TESTING
#define DAF_VST_SHOW_PARAMETER_OUTPUTS
#define DAF_VST3_DONT_USE_BRAND_ID
#define DAF_VST3_CROSS_PLATFORM_UID
#define DGL_NO_SHARED_RESOURCES

Detailed Description

C Macros to customize DAF behaviour.

These are macros that do not set plugin features or information, but instead change DAF internals. They are all optional.

Unless stated otherwise, values are assumed to be a simple/empty define.

Macro Definition Documentation

◆ DAF_RUNTIME_TESTING

#define DAF_RUNTIME_TESTING

Whether to enable runtime plugin tests.
This will check, during initialization of the plugin, if parameters, programs and states are setup properly.
Useful to enable as part of CI, can be safely skipped.
Under DAF makefiles this can be enabled by using make DAF_RUNTIME_TESTING=true.

Note
Some checks are only available with the GCC compiler, for detecting if a virtual function has been reimplemented.

◆ DAF_VST_SHOW_PARAMETER_OUTPUTS

#define DAF_VST_SHOW_PARAMETER_OUTPUTS

Whether to show parameter outputs in the VST2 plugins.
This is disabled (unset) by default, as the VST2 format has no notion of read-only parameters.

◆ DAF_VST3_DONT_USE_BRAND_ID

#define DAF_VST3_DONT_USE_BRAND_ID

Forcibly ignore DAF_PLUGIN_BRAND_ID for VST3 plugins.
This is required for DAF-based VST3 plugins that got released without setting DAF_PLUGIN_BRAND_ID first.

◆ DAF_VST3_CROSS_PLATFORM_UID

#define DAF_VST3_CROSS_PLATFORM_UID

Give a VST3 plugin the same class ID string on Windows as on Linux and macOS.
By default the class ID bytes are the same on every platform, but on Windows the VST3 SDK reads the first 8 of them as the fields of a COM GUID, so the class ID string differs from the one on other platforms and sessions do not find the plugin across them. Defining this lays the Windows class IDs out so the strings match. Linux and macOS IDs do not change.

Note
Recommended for new plugins only. Enabling it changes the Windows class IDs of an already-released VST3 plugin, and existing Windows sessions using that plugin will no longer find it.

◆ DGL_NO_SHARED_RESOURCES

#define DGL_NO_SHARED_RESOURCES

Disable resource files, like internally used fonts.
Must be set as compiler macro when building DGL. (e.g. CXXFLAGS="-DDGL_NO_SHARED_RESOURCES")