Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Compile time macros

Oli Larkin edited this pageNov 10, 2024 ·13 revisions

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).

IPlug

  • 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"

IGraphics

  • 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

Please support this free open source project...

Preferably viagithub sponsors but alsovia patreon orpaypal donations.

patreonpaypal

Clone this wiki locally

[8]ページ先頭

©2009-2025 Movatter.jp