Uh oh!
There was an error while loading.Please reload this page.
- Notifications
You must be signed in to change notification settings - Fork309
Compile time macros
iPlug2 uses pre-processor macros to select certain APIs and functionality at compile time. The following macros can be defined at project level (in the visual studio .props file, Xcode .xcconfig file).
- VST_API | VST3_API | AU_API | AUV3_API | AAX_API | APP_API | WAM_API | WEB_API | VST3C_API | VST3P_API: These macros are used to determine which kind of plug-in is built.
- IPLUG1_COMPATIBILITY: if you're upgrading an existing product, you should define this so that compatibility is maintained (not defined by default)
- PARAMS_MUTEX: lock a mutex when accessing IEditorDelegate::mParams
- SAMPLE_TYPE_FLOAT: if you define this the typedefsample will be a single precision float
- IDLE_TIMER_RATE: define this to change the rate of the "OnIdle()" timer. Default is 20 ms, but you may want to slow it down, redefine like "IDLE_TIMER_RATE=50"
- CUSTOM_BUSTYPE_FUNC: define this and add your own implementation of GetAPIBusTypeForChannelIOConfig() to force specific interpretations of channel count to API bus type "e.g. 6 channels = 5.1 bus"
NO_IGRAPHICS: define this to build your plug-in without IGraphics UI.
IGRAPHICS_NANOVG: (default) use NanoVG as the IGraphics backend drawing API
IGRAPHICS_SKIA: use Skia as the IGraphics backend drawing API
IGRAPHICS_FREETYPE: use Freetype rather than sttb_truetype when using IGRAPHICS_NANOVG
IGRAPHICS_GL2 | IGRAPHICS_GL3 | IGRAPHICS_METAL | IGRAPHICS_CPU
CONTROL_BOUNDS_COLOR=COLOR_WHITE : you can define this to change the color of control bounds when IGraphics::ShowControlBounds(true) is set (debug mode only). The default color is green.
USE_IDLE_CALLS: if this is enabled as a preprocessor macro IGraphics::OnGUIIdle() will be called
IGRAPHICS_NO_SKIA_SVG: If this is defined then SKIA builds will use NanoSVG for any SVG reading and drawing, rather than SKIA's internal SVG support. This may significantly reduce the size of binaries.
IGRAPHICS_NO_CONTEXT_MENU: if this is defined as a preprocessor macro right clicking control will mean IControl::CreateContextMenu() and IControl::OnContextSelection() do not function on right clicking control. VST3 provides contextual menu support which is hard wired to right click controls by default. You can add custom items to the menu by implementing IControl::CreateContextMenu() and handle them in IControl::OnContextSelection(). In non-VST 3 hosts right clicking will still create the menu, but it will not feature entries added by the host.
IGRAPHICS_DRAWFILL_DIRECT: SKIA can either draw primitives direct to the SkCanvas, or via IGraphics Paths. When IGRAPHICS_DRAWFILL_DIRECT drawing may be more efficient, but their might be some discrepancies when using IGraphics path transforms.
IGRAPHICS_NO_SKIA_SKPARAGRAPH: If this is defined then SKIA builds will not depend on libskparagraph, which limits text rendering capabilities, but allows smaller binaries
Preferably viagithub sponsors but alsovia patreon orpaypal donations.