# memberdef

refid: ab8cfc3f2709a79e733e58556712da062
name: ticksPerBeat
definition: double TimePosition::BarBeatTick::ticksPerBeat
type: double
scope: TimePosition::BarBeatTick
detaileddescription:
Number of ticks within a bar.
Usually a moderately large integer with many denominators, such as 1920.0.


refid: a2e75f234cbbda1ed0517075e67d27191
name: name
definition: d_string Parameter::name
type: d_string
scope: Parameter
detaileddescription:
The name of this parameter.
A parameter name can contain any character, but hosts might have a hard time with non-ascii ones.
The name doesn't have to be unique within a plugin instance, but it's recommended.


refid: a0b5193e6131f65878dfb6fe4d9f5e970
name: symbol
definition: d_string Parameter::symbol
type: d_string
scope: Parameter
detaileddescription:
The symbol of this parameter.
A parameter symbol is a short restricted name used as a machine and human readable identifier.
The first character must be one of _, a-z or A-Z and subsequent characters can be from _, a-z, A-Z and 0-9.
@note: Parameter symbols MUST be unique within a plugin instance.


refid: aa9ee36848d60d8ddd9185b9a3f2ce93f
name: unit
definition: d_string Parameter::unit
type: d_string
scope: Parameter
detaileddescription:
The unit of this parameter.
This means something like "dB", "kHz" and "ms".
Can be left blank if units do not apply to this parameter.


refid: a3096e491376cb9378be55915d748de57
name: Plugin
definition: Plugin::Plugin
argsstring: (const uint32_t parameterCount, const uint32_t programCount, const uint32_t stateCount)
scope: Plugin
detaileddescription:
Plugin class constructor.
You must set all parameter values to their defaults, matching ParameterRanges::def.
If you're using states you must also set them to their defaults by calling d_setState().


refid: aa0feb17c3dcf13a106505eb6d6b2a3ac
name: d_getBufferSize
definition: uint32_t Plugin::d_getBufferSize
type: uint32_t
argsstring: () const noexcept
scope: Plugin
detaileddescription:
Get the current buffer size that will probably be used during processing, in frames.
This value will remain constant between activate and deactivate.
@note: This value is only a hint!
       Hosts might call d_run() with a higher or lower number of frames.
@see d_bufferSizeChanged(uint32_t)


refid: ace888940905e8875284e07c52bf7404f
name: d_getSampleRate
definition: double Plugin::d_getSampleRate
type: double
argsstring: () const noexcept
scope: Plugin
detaileddescription:
Get the current sample rate that will be used during processing.
This value will remain constant between activate and deactivate.
@see d_sampleRateChanged(double)


refid: ade0a082a3a2936286537a04f4b972225
name: d_getTimePosition
definition: const TimePosition& Plugin::d_getTimePosition
type: const TimePosition &
argsstring: () const noexcept
scope: Plugin
detaileddescription:
Get the current host transport time position.
This function should only be called during d_run().
You can call this during other times, but the returned position is not guaranteed to be in sync.
@note: TimePos is not supported in LADSPA and DSSI plugin formats.


refid: a7816b45ffb52b0a6308cabb792b1a56f
name: d_setLatency
definition: void Plugin::d_setLatency
type: void
argsstring: (uint32_t frames) noexcept
scope: Plugin
detaileddescription:
Change the plugin audio output latency to @a frames.
This function should only be called in the constructor, d_activate() and d_run().
@note This function is only available if DISTRHO_PLUGIN_WANT_LATENCY is enabled.


refid: afa10aea18e4036b4a7487f2779d92e0f
name: d_writeMidiEvent
definition: bool Plugin::d_writeMidiEvent
type: bool
argsstring: (const MidiEvent &midiEvent) noexcept
scope: Plugin
detaileddescription:
Write a MIDI output event.
This function must only be called during d_run().
Returns false when the host buffer is full, in which case do not call this again until the next d_run().


refid: ae512b28d1b274a055de33812cf094d81
name: d_getLabel
definition: virtual const char* Plugin::d_getLabel
type: const char *
argsstring: () const =0
scope: Plugin
detaileddescription:
Get the plugin label.
A plugin label follows the same rules as Parameter::symbol, with the exception that it can start with numbers.


refid: a3f93a8eb97db3dc9984c357c5ffca5ec
name: d_initParameter
definition: virtual void Plugin::d_initParameter
type: void
argsstring: (uint32_t index, Parameter &parameter)=0
scope: Plugin
detaileddescription:
Initialize the parameter @a index.
This function will be called once, shortly after the plugin is created.


refid: a8a1792b7c5c6a3fd9cd626c7156ec3b6
name: d_initProgramName
definition: virtual void Plugin::d_initProgramName
type: void
argsstring: (uint32_t index, d_string &programName)=0
scope: Plugin
detaileddescription:
Set the name of the program @a index.
This function will be called once, shortly after the plugin is created.
Must be implemented by your plugin class only if DISTRHO_PLUGIN_WANT_PROGRAMS is enabled.


refid: a65f9f9d4a30b0a56dfa42703c0b4db76
name: d_initState
definition: virtual void Plugin::d_initState
type: void
argsstring: (uint32_t index, d_string &stateKey, d_string &defaultStateValue)=0
scope: Plugin
detaileddescription:
Set the state key and default value of @a index.
This function will be called once, shortly after the plugin is created.
Must be implemented by your plugin class only if DISTRHO_PLUGIN_WANT_STATE is enabled.


refid: af088f855761b67489f19f42fbb585088
name: d_getParameterValue
definition: virtual float Plugin::d_getParameterValue
type: float
argsstring: (uint32_t index) const =0
scope: Plugin
detaileddescription:
Get the current value of a parameter.
The host may call this function from any context, including realtime processing.


refid: a4cdd613f58a013429094700f3d83904a
name: d_setParameterValue
definition: virtual void Plugin::d_setParameterValue
type: void
argsstring: (uint32_t index, float value)=0
scope: Plugin
detaileddescription:
Change a parameter value.
The host may call this function from any context, including realtime processing.
When a parameter is marked as automable, you must ensure no non-realtime operations are called.
@note This function will only be called for parameter inputs.


refid: a1d001e50781b35df23f6d9a218f5f804
name: d_setProgram
definition: virtual void Plugin::d_setProgram
type: void
argsstring: (uint32_t index)=0
scope: Plugin
detaileddescription:
Change the currently used program to @a index.
The host may call this function from any context, including realtime processing.
Must be implemented by your plugin class only if DISTRHO_PLUGIN_WANT_PROGRAMS is enabled.


refid: ad9c46a36cab96f52a0370043093bca68
name: d_setState
definition: virtual void Plugin::d_setState
type: void
argsstring: (const char *key, const char *value)=0
scope: Plugin
detaileddescription:
Change an internal state @a key to @a value.
Must be implemented by your plugin class only if DISTRHO_PLUGIN_WANT_STATE is enabled.


refid: af67102a7c6d19a8530ce0e3293e55667
name: d_run
definition: virtual void Plugin::d_run
type: void
scope: Plugin
argsstring:
(const float **inputs, float **outputs, uint32_t frames, const MidiEvent *midiEvents, uint32_t midiEventCount)=0

detaileddescription:
Run/process function for plugins with MIDI input.
@note: Some parameters might be null if there are no audio inputs/outputs or MIDI events.


refid: a2c6ac454e24b667d54eaaf63da252627
name: d_bufferSizeChanged
definition: virtual void Plugin::d_bufferSizeChanged
type: void
argsstring: (uint32_t newBufferSize)
scope: Plugin
detaileddescription:
Optional callback to inform the plugin about a buffer size change.
This function will only be called when the plugin is deactivated.
@note: This value is only a hint!
       Hosts might call d_run() with a higher or lower number of frames.
@see d_getBufferSize()


refid: a469b53e1c1417a32d766cf96d1b3c45e
name: d_sampleRateChanged
definition: virtual void Plugin::d_sampleRateChanged
type: void
argsstring: (double newSampleRate)
scope: Plugin
detaileddescription:
Optional callback to inform the plugin about a sample rate change.
This function will only be called when the plugin is deactivated.
@see d_getSampleRate()


refid: a9599da33720f4648e9ce78cc18249b07
name: d_parameterChanged
definition: virtual void UI::d_parameterChanged
type: void
argsstring: (uint32_t index, float value)=0
scope: UI
detaileddescription:
A parameter has changed on the plugin side.
This is called by the host to inform the UI about parameter changes.


refid: a7d703d2caff4765f270686b8428a2fa0
name: d_programChanged
definition: virtual void UI::d_programChanged
type: void
argsstring: (uint32_t index)=0
scope: UI
detaileddescription:
The current program has changed on the plugin side.
This is called by the host to inform the UI about program changes.


refid: a7f508ebffec7a5168b532ccb9d81df70
name: d_stateChanged
definition: virtual void UI::d_stateChanged
type: void
argsstring: (const char *key, const char *value)=0
scope: UI
detaileddescription:
A state has changed on the plugin side.
This is called by the host to inform the UI about state changes.


refid: a18f4b84a973405fc098e69047e0d1994
name: d_sampleRateChanged
definition: virtual void UI::d_sampleRateChanged
type: void
argsstring: (double newSampleRate)
scope: UI
detaileddescription:
Optional callback to inform the UI about a sample rate change on the plugin side.
@see d_getSampleRate()


refid: aaf729415450434ad6690db93fd936bbf
name: d_uiReshape
definition: virtual void UI::d_uiReshape
type: void
argsstring: (uint width, uint height)
scope: UI
detaileddescription:
OpenGL window reshape function, called when parent window is resized.
You can reimplement this function for a custom OpenGL state.
@see Window::onReshape(uint,uint)


refid: a8de15be030bbdf0eb81461349cb1cc77
name: onResize
definition: void UI::onResize
type: void
argsstring: (const ResizeEvent &ev) override
scope: UI
detaileddescription:
OpenGL widget resize function, called when the widget is resized.
This is overriden here so the host knows when the UI is resized by you.
@see Widget::onResize(const ResizeEvent&)


refid: ga888482a9f695c2ca2f433e5f3172dcc4
name: DISTRHO_PLUGIN_NAME
initializer: "Plugin Name"
detaileddescription:
The plugin name.@n
This is used to identify your plugin before a Plugin instance can be created.
@note This macro is required.


refid: ga854bde6b6fdb0d47182149dbab0fed72
name: DISTRHO_PLUGIN_IS_SYNTH
initializer: 1
detaileddescription:
Wherever the plugin is a synth.@n
@ref DISTRHO_PLUGIN_WANT_MIDI_INPUT is automatically enabled when this is too.
@see DISTRHO_PLUGIN_WANT_MIDI_INPUT


refid: gac6873a3950f52f3fde8e386af63b69a1
name: DISTRHO_PLUGIN_WANT_DIRECT_ACCESS
initializer: 0
detaileddescription:
Enable direct access between the %UI and plugin code.
@see UI::d_getPluginInstancePointer()
@note DO NOT USE THIS UNLESS STRICTLY NECESSARY!!
      Try to avoid it at all costs!


refid: gad6b0ebf10e048f4742f29735da4d4930
name: DISTRHO_PLUGIN_WANT_LATENCY
initializer: 1
detaileddescription:
Wherever the plugin introduces latency during audio or midi processing.
@see Plugin::d_setLatency(uint32_t)


refid: gadf2e2eb7550e4116001c816adfb04a70
name: DISTRHO_PLUGIN_WANT_MIDI_INPUT
initializer: 1
detaileddescription:
Wherever the plugin wants MIDI input.@n
This is automatically enabled if @ref DISTRHO_PLUGIN_IS_SYNTH is true.


refid: gad95e24b17f196260cee15255fdb5b677
name: DISTRHO_PLUGIN_WANT_PROGRAMS
initializer: 1
detaileddescription:
Wherever the plugin provides its own internal programs.
@see Plugin::d_initProgramName(uint32_t, d_string&)
@see Plugin::d_setProgram(uint32_t)


refid: ga255f43cc0997af8b56abcca260c875e0
name: DISTRHO_PLUGIN_WANT_STATE
initializer: 1
detaileddescription:
Wherever the plugin uses internal non-parameter data.
@see Plugin::d_initState(uint32_t, d_string&, d_string&)
@see Plugin::d_setState(const char*, const char*)


refid: gad49e79936a2aa5afa089cbc051426ccd
name: DISTRHO_UI_USE_NANOVG
initializer: 1
detaileddescription:
Wherever the %UI uses NanoVG for drawing instead of the default raw OpenGL calls.@n
When enabled your %UI instance will subclass @ref NanoWidget instead of @ref Widget.


refid: ga420a88022da249b9f38a6046998dbd7c
name: DISTRHO_UI_URI
initializer: DISTRHO_PLUGIN_URI "#UI"
detaileddescription:
The %UI URI when exporting in LV2 format.@n
By default this is set to @ref DISTRHO_PLUGIN_URI with "#UI" as suffix.


refid: ga0a3633c93e8589f4b3e6124bb97ad8d4
name: kParameterIsOutput
definition: const uint32_t kParameterIsOutput
type: const uint32_t
initializer: = 0x10
detaileddescription:
Parameter is of output type.
When unset, parameter is assumed to be of input type.

Parameter inputs are changed by the host and must not be changed by the plugin.
The only exception being when changing programs, see Plugin::d_setProgram().
Outputs are changed by the plugin and never modified by the host.


refid: aa9ee36848d60d8ddd9185b9a3f2ce93f
name: unit
definition: d_string Parameter::unit
type: d_string
scope: Parameter
detaileddescription:
The unit of this parameter.
This means something like "dB", "kHz" and "ms".
Can be left blank if a unit does not apply to this parameter.


refid: a3096e491376cb9378be55915d748de57
name: Plugin
definition: Plugin::Plugin
argsstring: (const uint32_t parameterCount, const uint32_t programCount, const uint32_t stateCount)
scope: Plugin
detaileddescription:
Plugin class constructor.
You must set all parameter values to their defaults, matching ParameterRanges::def.


refid: ade0a082a3a2936286537a04f4b972225
name: d_getTimePosition
definition: const TimePosition& Plugin::d_getTimePosition
type: const TimePosition &
argsstring: () const noexcept
scope: Plugin
detaileddescription:
Get the current host transport time position.
This function should only be called during d_run().
You can call this during other times, but the returned position is not guaranteed to be in sync.
@note: TimePosition is not supported in LADSPA and DSSI plugin formats.


refid: ae9333c170accfd2a237448a4579d5fef
name: d_getLicense
definition: virtual const char* Plugin::d_getLicense
type: const char *
argsstring: () const =0
scope: Plugin
detaileddescription:
Get the plugin license name (a single line of text).@n
For commercial plugins this should return some copyright information.


refid: a4cdd613f58a013429094700f3d83904a
name: d_setParameterValue
definition: virtual void Plugin::d_setParameterValue
type: void
argsstring: (uint32_t index, float value)=0
scope: Plugin
detaileddescription:
Change a parameter value.
The host may call this function from any context, including realtime processing.
When a parameter is marked as automable, you must ensure no non-realtime operations are performed.
@note This function will only be called for parameter inputs.


refid: a9ef55a98c2d867cc9d909f79afe35914
name: name
definition: d_string AudioPort::name
type: d_string
scope: AudioPort
detaileddescription:
The name of this audio port.
An audio port name can contain any character, but hosts might have a hard time with non-ascii ones.
The name doesn't have to be unique within a plugin instance, but it's recommended.


refid: a24142c8e3d5a7214488ba2151e6e42ad
name: symbol
definition: d_string AudioPort::symbol
type: d_string
scope: AudioPort
detaileddescription:
The symbol of this audio port.
An audio port symbol is a short restricted name used as a machine and human readable identifier.
The first character must be one of _, a-z or A-Z and subsequent characters can be from _, a-z, A-Z and 0-9.
@note: Audio port and parameter symbols MUST be unique within a plugin instance.


refid: a5ddc59a0dbbef9c7d7cda5f291431769
name: d_initAudioPort
definition: virtual void Plugin::d_initAudioPort
type: void
argsstring: (bool input, uint32_t index, AudioPort &port)
scope: Plugin
detaileddescription:
Initialize the audio port @a index.
This function will be called once, shortly after the plugin is created.


refid: a94fa325175749054947480e1ae66b110
name: exec
definition: void App::exec
type: void
argsstring: ()
scope: App
detaileddescription:
Run the application event-loop until all Windows are closed.
idle() is called at regular intervals.
@note: This function is meant for standalones only, <em>never</em> call this from plugins.


refid: af7471b06a9bfccc16293b020268d0401
name: isQuiting
definition: bool App::isQuiting
type: bool
argsstring: () const noexcept
scope: App
detaileddescription:
Check if the application is about to quit.
Returning true means there's no event-loop running at the moment (or it's just about to stop).


refid: ad351054c0c6ebc0df99a7f8df12c8920
name: Image
definition: Image::Image
scope: Image
argsstring:
(const char *const rawData, const uint width, const uint height, const GLenum format=GL_BGRA, const GLenum type=GL_UNSIGNED_BYTE)

detaileddescription:
Constructor using raw image data.
@note: @a rawData must remain valid for the lifetime of this Image.


refid: a4587a30e65bacb349bc2d351d2fe49eb
name: Image
definition: Image::Image
scope: Image
argsstring:
(const char *const rawData, const Size< uint > &size, const GLenum format=GL_BGRA, const GLenum type=GL_UNSIGNED_BYTE)

detaileddescription:
Constructor using raw image data.
@note: @a rawData must remain valid for the lifetime of this Image.


refid: a097350feb2b30fd9289c346039298394
name: loadFromMemory
definition: void Image::loadFromMemory
type: void
scope: Image
detaileddescription: Load image data from memory. @note: @a rawData must remain valid for the lifetime of this Image.
argsstring:
(const char *const rawData, const uint width, const uint height, const GLenum format=GL_BGRA, const GLenum type=GL_UNSIGNED_BYTE) noexcept


refid: a2851a65c5885085be1d96878762fd860
name: loadFromMemory
definition: void Image::loadFromMemory
type: void
scope: Image
detaileddescription: Load image data from memory. @note: @a rawData must remain valid for the lifetime of this Image.
argsstring:
(const char *const rawData, const Size< uint > &size, const GLenum format=GL_BGRA, const GLenum type=GL_UNSIGNED_BYTE) noexcept


refid: a952891b12bf379fafc184abc77daef24
name: onKeyboard
definition: bool ImageAboutWindow::onKeyboard
type: bool
argsstring: (const KeyboardEvent &) override
scope: ImageAboutWindow
detaileddescription:
A function called when a key is pressed or released.
@return True to stop event propagation, false otherwise.


refid: a5af153208057de4baf7264c9a7bd30cd
name: onMouse
definition: bool ImageAboutWindow::onMouse
type: bool
argsstring: (const MouseEvent &) override
scope: ImageAboutWindow
detaileddescription:
A function called when a mouse button is pressed or released.
@return True to stop event propagation, false otherwise.


refid: a7d4873c4634c7b32d7872e2a1e876288
name: ImageButton
definition: ImageButton::ImageButton
scope: ImageButton
argsstring:
(Window &parent, const Image &imageNormal, const Image &imageHover, const Image &imageDown) noexcept


refid: a897a6250e1e919498fc00d4e74e5d283
name: ImageButton
definition: ImageButton::ImageButton
scope: ImageButton
argsstring:
(Widget *widget, const Image &imageNormal, const Image &imageHover, const Image &imageDown) noexcept


refid: a2cdc26028611554458a74b32740ac33b
name: onScroll
definition: bool ImageKnob::onScroll
type: bool
argsstring: (const ScrollEvent &) override
scope: ImageKnob
detaileddescription:
A function called on scrolling (e.g. mouse wheel or track pad).
@return True to stop event propagation, false otherwise.


refid: a202e92a01a9b78d469c77ed659f12c8b
name: beginFrame
definition: void NanoVG::beginFrame
type: void
scope: NanoVG
argsstring:
(const uint width, const uint height, const float scaleFactor=1.0f, const Alpha alpha=PREMULTIPLIED_ALPHA)

detaileddescription:
Begin drawing a new frame.
@param withAlha Controls if drawing the shapes to the render target should be done using straight or pre-multiplied alpha.


refid: a05fd441d579c42c76d786bd4a7b437af
name: save
definition: void NanoVG::save
type: void
argsstring: ()
scope: NanoVG
detaileddescription:
Pushes and saves the current render state into a state stack.
A matching restore() must be used to restore the state.


refid: a6242c3e68789ed57b46fb75ba396506d
name: strokeColor
definition: void NanoVG::strokeColor
type: void
argsstring: (const int red, const int green, const int blue, const int alpha=255)
scope: NanoVG
detaileddescription:
Sets current stroke style to a solid color, made from red, green, blue and alpha numeric values.
Values must be in [0..255] range.


refid: a22bac7e1806c9203a637337478a90165
name: strokeColor
definition: void NanoVG::strokeColor
type: void
argsstring: (const float red, const float green, const float blue, const float alpha=1.0f)
scope: NanoVG
detaileddescription:
Sets current stroke style to a solid color, made from red, green, blue and alpha numeric values.
Values must in [0..1] range.


refid: a9b88f568b952402bbcfec289095734a7
name: fillColor
definition: void NanoVG::fillColor
type: void
argsstring: (const int red, const int green, const int blue, const int alpha=255)
scope: NanoVG
detaileddescription:
Sets current fill style to a solid color, made from red, green, blue and alpha numeric values.
Values must be in [0..255] range.


refid: a364794e2641625310aab9b7755b1e3d5
name: fillColor
definition: void NanoVG::fillColor
type: void
argsstring: (const float red, const float green, const float blue, const float alpha=1.0f)
scope: NanoVG
detaileddescription:
Sets current fill style to a solid color, made from red, green, blue and alpha numeric values.
Values must in [0..1] range.


refid: ad06096ade68bf78bcc256005cd6f2c45
name: transform
definition: void NanoVG::transform
type: void
argsstring: (float a, float b, float c, float d, float e, float f)
scope: NanoVG
detaileddescription:
Pre-multiplies current coordinate system by specified matrix.
The parameters are interpreted as matrix as follows:
  [a c e]
  [b d f]
  [0 0 1]


refid: ad51cefbcf8819d365205fa004a10b976
name: currentTransform
definition: void NanoVG::currentTransform
type: void
argsstring: (float xform[6])
scope: NanoVG
detaileddescription:
Stores the top part (a-f) of the current transformation matrix in to the specified buffer.
  [a c e]
  [b d f]
  [0 0 1]


refid: aa74a49bb588beb28654565a07022a178
name: linearGradient
definition: Paint NanoVG::linearGradient
type: Paint
argsstring: (float sx, float sy, float ex, float ey, const Color &icol, const Color &ocol)
scope: NanoVG
detaileddescription:
Creates and returns a linear gradient. Parameters (sx,sy)-(ex,ey) specify the start and end coordinates
of the linear gradient, icol specifies the start color and ocol the end color.
The gradient is transformed by the current transform when it is passed to fillPaint() or strokePaint().


refid: a1496424cb5a9e40844ebb4d8dad83799
name: boxGradient
definition: Paint NanoVG::boxGradient
type: Paint
argsstring: (float x, float y, float w, float h, float r, float f, const Color &icol, const Color &ocol)
scope: NanoVG
detaileddescription:
Creates and returns a box gradient. Box gradient is a feathered rounded rectangle, it is useful for rendering
drop shadows or highlights for boxes. Parameters (x,y) define the top-left corner of the rectangle,
(w,h) define the size of the rectangle, r defines the corner radius, and f feather. Feather defines how blurry
the border of the rectangle is. Parameter icol specifies the inner color and ocol the outer color of the gradient.
The gradient is transformed by the current transform when it is passed to fillPaint() or strokePaint().


refid: a19d27b1b3a22afe9a6d27f4f9f8bf167
name: radialGradient
definition: Paint NanoVG::radialGradient
type: Paint
argsstring: (float cx, float cy, float inr, float outr, const Color &icol, const Color &ocol)
scope: NanoVG
detaileddescription:
Creates and returns a radial gradient. Parameters (cx,cy) specify the center, inr and outr specify
the inner and outer radius of the gradient, icol specifies the start color and ocol the end color.
The gradient is transformed by the current transform when it is passed to fillPaint() or strokePaint().


refid: a51ad176349e0169478844f862942af20
name: imagePattern
definition: Paint NanoVG::imagePattern
type: Paint
argsstring: (float ox, float oy, float ex, float ey, float angle, const NanoImage *image, PatternRepeat repeat)
scope: NanoVG
detaileddescription:
Creates and returns an image pattern. Parameters (ox,oy) specify the left-top location of the image pattern,
(ex,ey) the size of one image, angle rotation around the top-left corner, image is handle to the image to render,
and repeat tells if the image should be repeated across x or y.
The gradient is transformed by the current transform when it is passed to fillPaint() or strokePaint().


refid: aab69aa4f2ae1b15adcceb9d065ea8aa6
name: textLineHeight
definition: void NanoVG::textLineHeight
type: void
argsstring: (float lineHeight)
scope: NanoVG
detaileddescription:
Sets the proportional line height of current text style. The line height is specified as multiple of font size.


refid: af9526a1c4b2d5e1db0190c32ba9a1eaa
name: text
definition: float NanoVG::text
type: float
argsstring: (float x, float y, const char *string, const char *end)
scope: NanoVG
detaileddescription:
Draws text string at specified location. If end is specified only the sub-string up to the end is drawn.


refid: aaa73324a5969916f910fb9a41e7e5358
name: textBox
definition: void NanoVG::textBox
type: void
argsstring: (float x, float y, float breakRowWidth, const char *string, const char *end)
scope: NanoVG
detaileddescription:
Draws multi-line text string at specified location wrapped at the specified width. If end is specified only the sub-string up to the end is drawn.
White space is stripped at the beginning of the rows, the text is split at word boundaries or when new-line characters are encountered.
Words longer than the max width are slit at nearest character (i.e. no hyphenation).


refid: a281c71d51c5f9d6fb5d6e8369ca650f4
name: textBounds
definition: float NanoVG::textBounds
type: float
argsstring: (float x, float y, const char *string, const char *end, Rectangle< float > &bounds)
scope: NanoVG
detaileddescription:
Measures the specified text string. The bounds value are [xmin,ymin, xmax,ymax].
Returns the horizontal advance of the measured text (i.e. where the next character should drawn).
Measured values are returned in local coordinate space.


refid: a2dd842d5eaf729c43769da3a35db158d
name: textBoxBounds
definition: void NanoVG::textBoxBounds
type: void
argsstring: (float x, float y, float breakRowWidth, const char *string, const char *end, float *bounds)
scope: NanoVG
detaileddescription:
Measures the specified multi-text string. Parameter bounds should be a pointer to float[4],
if the bounding box of the text should be returned. The bounds value are [xmin,ymin, xmax,ymax]
Measured values are returned in local coordinate space.


refid: a365eb3cc06e97f29cbcfa967e76f8798
name: textGlyphPositions
definition: int NanoVG::textGlyphPositions
type: int
argsstring: (float x, float y, const char *string, const char *end, GlyphPosition *positions, int maxPositions)
scope: NanoVG
detaileddescription:
Calculates the glyph x positions of the specified text. If end is specified only the sub-string will be used.
Measured values are returned in local coordinate space.


refid: a5e84bf7dec65064733aec488389568b0
name: textMetrics
definition: void NanoVG::textMetrics
type: void
argsstring: (float *ascender, float *descender, float *lineh)
scope: NanoVG
detaileddescription:
Returns the vertical metrics based on the current text style.
Measured values are returned in local coordinate space.


refid: a86f66c7dff7fc3a96667f139b88d1e9e
name: textBreakLines
definition: int NanoVG::textBreakLines
type: int
argsstring: (const char *string, const char *end, float breakRowWidth, TextRow *rows, int maxRows)
scope: NanoVG
detaileddescription:
Breaks the specified text into lines. If end is specified only the sub-string will be used.
White space is stripped at the beginning of the rows, the text is split at word boundaries or when new-line characters are encountered.
Words longer than the max width are slit at nearest character (i.e. no hyphenation).


refid: a81c8b60a87be8a8d4a5efce8eeaf1915
name: transformIdentity
definition: static void NanoVG::transformIdentity
type: void
argsstring: (float dst[6])
scope: NanoVG
detaileddescription:
The following functions can be used to make calculations on 2x3 transformation matrices.
A 2x3 matrix is represented as float[6].  
Sets the transform to identity matrix.


refid: ac5692f82bcac4858f44d9fd0df287cad
name: transformInverse
definition: static int NanoVG::transformInverse
type: int
argsstring: (float dst[6], const float src[6])
scope: NanoVG
detaileddescription:
Sets the destination to inverse of specified transform.
Returns 1 if the inverse could be calculated, else 0.


refid: a57093e93dcdfadc9f720b9d8fda4b59e
name: isNotNull
definition: bool Size< T >::isNotNull
type: bool
argsstring: () const noexcept
scope: Size< T >
detaileddescription:
Return true if size is not null (0x0).
A non-null size is still invalid if its width or height is negative.


refid: ab832e37b50a2d98648be4ac811af305f
name: isInvalid
definition: bool Size< T >::isInvalid
type: bool
argsstring: () const noexcept
scope: Size< T >
detaileddescription:
Return true if size is invalid (width or height are lower or equal to zero).
An invalid size might not be null under some circumstances.


refid: ab825fecc8ba95577430002de793c5683
name: isNotNull
definition: bool Triangle< T >::isNotNull
type: bool
argsstring: () const noexcept
scope: Triangle< T >
detaileddescription:
Return true if triangle is not null (one its points is different from the others).
A non-null triangle is still invalid if two of its points are equal.


refid: a757b50c4c2e0d154c6626e252527fc2f
name: isInvalid
definition: bool Triangle< T >::isInvalid
type: bool
argsstring: () const noexcept
scope: Triangle< T >
detaileddescription:
Return true if triangle is invalid (one or two of its points are equal).
An invalid triangle might not be null under some circumstances.


refid: a234a8ee8a685dc211ad11f492f0dbc71
name: isVisible
definition: bool Widget::isVisible
type: bool
argsstring: () const noexcept
scope: Widget
detaileddescription:
Check if this widget is visible within its parent window.
Invisible widgets do not receive events except resize.


refid: a3b42652fcb2f95c6f86bdd43a1727507
name: onSpecial
definition: virtual bool Widget::onSpecial
type: bool
argsstring: (const SpecialEvent &)
scope: Widget
detaileddescription:
A function called when a special key is pressed or released.
@return True to stop event propagation, false otherwise.


refid: aa92462db80ed1dc8334910038cd262cc
name: setNeedsFullViewport
definition: void Widget::setNeedsFullViewport
type: void
argsstring: (bool yesNo) noexcept
scope: Widget
detaileddescription:
Tell the parent window this widget needs the full viewport.
When enabled, the local widget coordinates are ignored.
@note: This is an internal function;
       You do not need it under normal circumstances.


refid: a2ce358088e8f3b65621afd02c675bad8
name: setNeedsScaling
definition: void Widget::setNeedsScaling
type: void
argsstring: (bool yesNo) noexcept
scope: Widget
detaileddescription:
Tell the parent window this widget needs scaling.
When enabled, the widget viewport is scaled to match width and height.
@note: This is an internal function;
       You do not need it under normal circumstances.


refid: af157fe79e2ec4c682596c62b97d6b4d5
name: ~LeakCounter
definition: LeakedObjectDetector< OwnerClass >::LeakCounter::~LeakCounter
argsstring: () noexcept
scope: LeakedObjectDetector< OwnerClass >::LeakCounter
inbodydescription:
If you hit this, then you've leaked one or more objects of the type specified by
the 'OwnerClass' template parameter - the name should have been printed by the line above.

If you're leaking, it's probably because you're using old-fashioned, non-RAII techniques for
your object management. Tut, tut. Always, always use ScopedPointers, OwnedArrays,
ReferenceCountedObjects, etc, and avoid the 'delete' operator at all costs!
 


refid: af4fd575fa5361ce5b01f65a635b1d6b3
name: ~LeakedObjectDetector
definition: LeakedObjectDetector< OwnerClass >::~LeakedObjectDetector
argsstring: () noexcept
scope: LeakedObjectDetector< OwnerClass >
inbodydescription:
If you hit this, then you've managed to delete more instances of this class than you've
created.. That indicates that you're deleting some dangling pointers.

Note that although this assertion will have been triggered during a destructor, it might
not be this particular deletion that's at fault - the incorrect one may have happened
at an earlier point in the program, and simply not been detected until now.

Most errors like this are caused by using old-fashioned, non-RAII techniques for
your object management. Tut, tut. Always, always use ScopedPointers, OwnedArrays,
ReferenceCountedObjects, etc, and avoid the 'delete' operator at all costs!
 


refid: a04688b1561dd9d861ca80c6deb63a233
name: ScopedPointer
definition: ScopedPointer< ObjectType >::ScopedPointer
argsstring: (ScopedPointer &objectToTransferFrom) noexcept
scope: ScopedPointer< ObjectType >
detaileddescription:
Creates a ScopedPointer that takes its pointer from another ScopedPointer.

Because a pointer can only belong to one ScopedPointer, this transfers
the pointer from the other object to this one, and the other object is reset to
be a null pointer.


refid: afefc7940828d72c056e03804cd6bea9f
name: operator=
definition: ScopedPointer& ScopedPointer< ObjectType >::operator=
type: ScopedPointer &
argsstring: (ScopedPointer &objectToTransferFrom)
scope: ScopedPointer< ObjectType >
detaileddescription:
Changes this ScopedPointer to point to a new object.

Because a pointer can only belong to one ScopedPointer, this transfers
the pointer from the other object to this one, and the other object is reset to
be a null pointer.

If this ScopedPointer already points to an object, that object
will first be deleted.


refid: a88ee7f038e57471539d3181141c0390e
name: operator=
definition: ScopedPointer& ScopedPointer< ObjectType >::operator=
type: ScopedPointer &
argsstring: (ObjectType *const newObjectToTakePossessionOf)
scope: ScopedPointer< ObjectType >
detaileddescription:
Changes this ScopedPointer to point to a new object.

If this ScopedPointer already points to an object, that object
will first be deleted.

The pointer that you pass in may be a nullptr.


refid: a10c8f696fec0cca763b067ec3e469199
name: release
definition: ObjectType* ScopedPointer< ObjectType >::release
type: ObjectType *
argsstring: () noexcept
scope: ScopedPointer< ObjectType >
detaileddescription:
Removes the current object from this ScopedPointer without deleting it.
This will return the current object, and set the ScopedPointer to a null pointer.


refid: a362cd8d5a212df0ee08691b75a4ba3de
name: swapWith
definition: void ScopedPointer< ObjectType >::swapWith
type: void
argsstring: (ScopedPointer< ObjectType > &other) noexcept
scope: ScopedPointer< ObjectType >
detaileddescription:
Swaps this object with that of another ScopedPointer.
The two objects simply exchange their pointers.


refid: a24a1d1bc84e8120aac6bdecfb8012499
name: DISTRHO_JOIN_MACRO_HELPER
initializer: a ## b
detaileddescription:
 A good old-fashioned C macro concatenation helper.
This combines two items (which may themselves be macros) into a single string,
avoiding the pitfalls of the ## macro operator.


refid: adaf815eae42dd021b5434229d6216f1a
name: DISTRHO_LEAK_DETECTOR
initializer:
friend class DISTRHO_NAMESPACE::LeakedObjectDetector<ClassName>;              \
    static const char* getLeakedObjectClassName() noexcept { return #ClassName; } \
    DISTRHO_NAMESPACE::LeakedObjectDetector<ClassName> DISTRHO_JOIN_MACRO(leakDetector_, ClassName);

detaileddescription:
This macro lets you embed a leak-detecting object inside a class.\n
To use it, simply declare a DISTRHO_LEAK_DETECTOR(YourClassName) inside a private section
of the class declaration. E.g.
@code 
class MyClass
{
public:
    MyClass();
    void blahBlah();

private:
    DISTRHO_LEAK_DETECTOR(MyClass)
};
\endcode


refid: a1fecf49b1728ddd3700faf168e0c1f42
name: DISTRHO_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR
initializer:
DISTRHO_DECLARE_NON_COPY_CLASS(ClassName)                      \
    DISTRHO_LEAK_DETECTOR(ClassName)


refid: a44c6f65eba15909069b2ae838cbd96d1
name: operator==
definition: bool operator==
type: bool
argsstring: (const ScopedPointer< ObjectType > &pointer1, ObjectType *const pointer2) noexcept
detaileddescription:
Compares a ScopedPointer with another pointer.
This can be handy for checking whether this is a null pointer.


refid: a2643e638f62cfd4990247ec66bed60d2
name: getBufferSize
definition: uint32_t Plugin::getBufferSize
type: uint32_t
argsstring: () const noexcept
scope: Plugin
detaileddescription:
Get the current buffer size that will probably be used during processing, in frames.
This value will remain constant between activate and deactivate.
@note: This value is only a hint!
       Hosts might call run() with a higher or lower number of frames.
@see bufferSizeChanged(uint32_t)


refid: a3e162cfe8f1c52bf09805fd327bcc3c4
name: getSampleRate
definition: double Plugin::getSampleRate
type: double
argsstring: () const noexcept
scope: Plugin
detaileddescription:
Get the current sample rate that will be used during processing.
This value will remain constant between activate and deactivate.
@see sampleRateChanged(double)


refid: ae85d602c430b1a4361a88d714d3a42c1
name: getTimePosition
definition: const TimePosition& Plugin::getTimePosition
type: const TimePosition &
argsstring: () const noexcept
scope: Plugin
detaileddescription:
Get the current host transport time position.
This function should only be called during run().
You can call this during other times, but the returned position is not guaranteed to be in sync.
@note: TimePosition is not supported in LADSPA and DSSI plugin formats.


refid: a2a70c4ec55d74d9bc26862975d8df8a7
name: setLatency
definition: void Plugin::setLatency
type: void
argsstring: (uint32_t frames) noexcept
scope: Plugin
detaileddescription:
Change the plugin audio output latency to @a frames.
This function should only be called in the constructor, activate() and run().
@note This function is only available if DISTRHO_PLUGIN_WANT_LATENCY is enabled.


refid: a0467eef817ac130cbbe1c0fbe09660c6
name: writeMidiEvent
definition: bool Plugin::writeMidiEvent
type: bool
argsstring: (const MidiEvent &midiEvent) noexcept
scope: Plugin
detaileddescription:
Write a MIDI output event.
This function must only be called during run().
Returns false when the host buffer is full, in which case do not call this again until the next run().


refid: a9f6c8ad6b054056649d0250e527e1297
name: bufferSizeChanged
definition: virtual void Plugin::bufferSizeChanged
type: void
argsstring: (uint32_t newBufferSize)
scope: Plugin
detaileddescription:
Optional callback to inform the plugin about a buffer size change.
This function will only be called when the plugin is deactivated.
@note: This value is only a hint!
       Hosts might call run() with a higher or lower number of frames.
@see getBufferSize()


refid: a2fcbfa1893f44e661d0d8cd53391dadc
name: sampleRateChanged
definition: virtual void Plugin::sampleRateChanged
type: void
argsstring: (double newSampleRate)
scope: Plugin
detaileddescription:
Optional callback to inform the plugin about a sample rate change.
This function will only be called when the plugin is deactivated.
@see getSampleRate()


refid: gac6873a3950f52f3fde8e386af63b69a1
name: DISTRHO_PLUGIN_WANT_DIRECT_ACCESS
initializer: 0
detaileddescription:
Enable direct access between the %UI and plugin code.
@see UI::getPluginInstancePointer()
@note DO NOT USE THIS UNLESS STRICTLY NECESSARY!!
      Try to avoid it at all costs!


refid: gad6b0ebf10e048f4742f29735da4d4930
name: DISTRHO_PLUGIN_WANT_LATENCY
initializer: 1
detaileddescription:
Wherever the plugin introduces latency during audio or midi processing.
@see Plugin::setLatency(uint32_t)


refid: gad95e24b17f196260cee15255fdb5b677
name: DISTRHO_PLUGIN_WANT_PROGRAMS
initializer: 1
detaileddescription:
Wherever the plugin provides its own internal programs.
@see Plugin::initProgramName(uint32_t, String&)
@see Plugin::setProgram(uint32_t)


refid: ga255f43cc0997af8b56abcca260c875e0
name: DISTRHO_PLUGIN_WANT_STATE
initializer: 1
detaileddescription:
Wherever the plugin uses internal non-parameter data.
@see Plugin::initState(uint32_t, String&, String&)
@see Plugin::setState(const char*, const char*)


refid: ga0a3633c93e8589f4b3e6124bb97ad8d4
name: kParameterIsOutput
definition: const uint32_t kParameterIsOutput
type: const uint32_t
initializer: = 0x10
detaileddescription:
Parameter is of output type.
When unset, parameter is assumed to be of input type.

Parameter inputs are changed by the host and must not be changed by the plugin.
The only exception being when changing programs, see Plugin::setProgram().
Outputs are changed by the plugin and never modified by the host.


refid: ac3e98726ca71f95a1e6c867706ebd9be
name: sampleRateChanged
definition: virtual void UI::sampleRateChanged
type: void
argsstring: (double newSampleRate)
scope: UI
detaileddescription:
Optional callback to inform the UI about a sample rate change on the plugin side.
@see getSampleRate()


refid: a00f7945c16149db6845fbcc2af729f4f
name: getLabel
definition: virtual const char* Plugin::getLabel
type: const char *
argsstring: () const =0
scope: Plugin
detaileddescription:
Get the plugin label.
This label is a short restricted name consisting of only _, a-z, A-Z and 0-9 characters.


refid: a686a3c92a376a185d6fd97efd59125d1
name: getLicense
definition: virtual const char* Plugin::getLicense
type: const char *
argsstring: () const =0
scope: Plugin
detaileddescription:
Get the plugin license name (a single line of text).@n
For commercial plugins this should return some short copyright information.


refid: af2bda30f97a1b63cbeb9f11f718d3d30
name: symbol
definition: String AudioPort::symbol
type: String
scope: AudioPort
detaileddescription:
The symbol of this audio port.
An audio port symbol is a short restricted name used as a machine and human readable identifier.
The first character must be one of _, a-z or A-Z and subsequent characters can be from _, a-z, A-Z and 0-9.
@note Audio port and parameter symbols MUST be unique within a plugin instance.


refid: a3e546efd8dbd0d77351208b670719468
name: symbol
definition: String Parameter::symbol
type: String
scope: Parameter
detaileddescription:
The symbol of this parameter.
A parameter symbol is a short restricted name used as a machine and human readable identifier.
The first character must be one of _, a-z or A-Z and subsequent characters can be from _, a-z, A-Z and 0-9.
@note Parameter symbols MUST be unique within a plugin instance.


refid: a2643e638f62cfd4990247ec66bed60d2
name: getBufferSize
definition: uint32_t Plugin::getBufferSize
type: uint32_t
argsstring: () const noexcept
scope: Plugin
detaileddescription:
Get the current buffer size that will probably be used during processing, in frames.
This value will remain constant between activate and deactivate.
@note This value is only a hint!
      Hosts might call run() with a higher or lower number of frames.
@see bufferSizeChanged(uint32_t)


refid: ae85d602c430b1a4361a88d714d3a42c1
name: getTimePosition
definition: const TimePosition& Plugin::getTimePosition
type: const TimePosition &
argsstring: () const noexcept
scope: Plugin
detaileddescription:
Get the current host transport time position.
This function should only be called during run().
You can call this during other times, but the returned position is not guaranteed to be in sync.
@note TimePosition is not supported in LADSPA and DSSI plugin formats.


refid: a0a969c78f8455ac6ba65fa42e8c498f6
name: run
definition: virtual void Plugin::run
type: void
scope: Plugin
detaileddescription:
Run/process function for plugins with MIDI input.
@note Some parameters might be null if there are no audio inputs/outputs or MIDI events.


refid: a9f6c8ad6b054056649d0250e527e1297
name: bufferSizeChanged
definition: virtual void Plugin::bufferSizeChanged
type: void
argsstring: (uint32_t newBufferSize)
scope: Plugin
detaileddescription:
Optional callback to inform the plugin about a buffer size change.
This function will only be called when the plugin is deactivated.
@note This value is only a hint!
      Hosts might call run() with a higher or lower number of frames.
@see getBufferSize()


refid: ab629f35c60406d6f2c0b9d530e67cf09
name: loadProgram
definition: virtual void Plugin::loadProgram
type: void
argsstring: (uint32_t index)=0
scope: Plugin
detaileddescription:
Load a program.
The host may call this function from any context, including realtime processing.
Must be implemented by your plugin class only if DISTRHO_PLUGIN_WANT_PROGRAMS is enabled.


refid: adb3b58f79131b653d6b2adfa3ea07e5c
name: name
definition: String AudioPort::name
type: String
scope: AudioPort
detaileddescription:
The name of this audio port.@n
An audio port name can contain any character, but hosts might have a hard time with non-ascii ones.@n
The name doesn't have to be unique within a plugin instance, but it's recommended.


refid: af2bda30f97a1b63cbeb9f11f718d3d30
name: symbol
definition: String AudioPort::symbol
type: String
scope: AudioPort
detaileddescription:
The symbol of this audio port.@n
An audio port symbol is a short restricted name used as a machine and human readable identifier.@n
The first character must be one of _, a-z or A-Z and subsequent characters can be from _, a-z, A-Z and 0-9.
@note Audio port and parameter symbols MUST be unique within a plugin instance.


refid: af4be3edce420539cbb21bc1b0278201c
name: beat
definition: int32_t TimePosition::BarBeatTick::beat
type: int32_t
scope: TimePosition::BarBeatTick
detaileddescription:
Current beat within bar.@n
Should always be > 0 and <= @a beatsPerBar.@n
The first beat is beat '1'.


refid: ad38d7364a5441f1f49c3538f5691a299
name: tick
definition: int32_t TimePosition::BarBeatTick::tick
type: int32_t
scope: TimePosition::BarBeatTick
detaileddescription:
Current tick within beat.@n
Should always be > 0 and <= @a ticksPerBeat.@n
The first tick is tick '0'.


refid: ab8cfc3f2709a79e733e58556712da062
name: ticksPerBeat
definition: double TimePosition::BarBeatTick::ticksPerBeat
type: double
scope: TimePosition::BarBeatTick
detaileddescription:
Number of ticks within a bar.@n
Usually a moderately large integer with many denominators, such as 1920.0.


refid: ae63c1fcfb20e320bada1f58c04ff18da
name: name
definition: String Parameter::name
type: String
scope: Parameter
detaileddescription:
The name of this parameter.@n
A parameter name can contain any character, but hosts might have a hard time with non-ascii ones.@n
The name doesn't have to be unique within a plugin instance, but it's recommended.


refid: a3e546efd8dbd0d77351208b670719468
name: symbol
definition: String Parameter::symbol
type: String
scope: Parameter
detaileddescription:
The symbol of this parameter.@n
A parameter symbol is a short restricted name used as a machine and human readable identifier.@n
The first character must be one of _, a-z or A-Z and subsequent characters can be from _, a-z, A-Z and 0-9.
@note Parameter symbols MUST be unique within a plugin instance.


refid: a2f79574998d34504e3a694163b4599a1
name: unit
definition: String Parameter::unit
type: String
scope: Parameter
detaileddescription:
The unit of this parameter.@n
This means something like "dB", "kHz" and "ms".@n
Can be left blank if a unit does not apply to this parameter.


refid: a3096e491376cb9378be55915d748de57
name: Plugin
definition: Plugin::Plugin
argsstring: (const uint32_t parameterCount, const uint32_t programCount, const uint32_t stateCount)
scope: Plugin
detaileddescription:
Plugin class constructor.@n
You must set all parameter values to their defaults, matching ParameterRanges::def.


refid: a2643e638f62cfd4990247ec66bed60d2
name: getBufferSize
definition: uint32_t Plugin::getBufferSize
type: uint32_t
argsstring: () const noexcept
scope: Plugin
detaileddescription:
Get the current buffer size that will probably be used during processing, in frames.@n
This value will remain constant between activate and deactivate.
@note This value is only a hint!@n
      Hosts might call run() with a higher or lower number of frames.
@see bufferSizeChanged(uint32_t)


refid: a3e162cfe8f1c52bf09805fd327bcc3c4
name: getSampleRate
definition: double Plugin::getSampleRate
type: double
argsstring: () const noexcept
scope: Plugin
detaileddescription:
Get the current sample rate that will be used during processing.@n
This value will remain constant between activate and deactivate.
@see sampleRateChanged(double)


refid: ae85d602c430b1a4361a88d714d3a42c1
name: getTimePosition
definition: const TimePosition& Plugin::getTimePosition
type: const TimePosition &
argsstring: () const noexcept
scope: Plugin
detaileddescription:
Get the current host transport time position.@n
This function should only be called during run().@n
You can call this during other times, but the returned position is not guaranteed to be in sync.
@note TimePosition is not supported in LADSPA and DSSI plugin formats.


refid: a2a70c4ec55d74d9bc26862975d8df8a7
name: setLatency
definition: void Plugin::setLatency
type: void
argsstring: (uint32_t frames) noexcept
scope: Plugin
detaileddescription:
Change the plugin audio output latency to @a frames.@n
This function should only be called in the constructor, activate() and run().
@note This function is only available if DISTRHO_PLUGIN_WANT_LATENCY is enabled.


refid: a0467eef817ac130cbbe1c0fbe09660c6
name: writeMidiEvent
definition: bool Plugin::writeMidiEvent
type: bool
argsstring: (const MidiEvent &midiEvent) noexcept
scope: Plugin
detaileddescription:
Write a MIDI output event.@n
This function must only be called during run().@n
Returns false when the host buffer is full, in which case do not call this again until the next run().


refid: a00f7945c16149db6845fbcc2af729f4f
name: getLabel
definition: virtual const char* Plugin::getLabel
type: const char *
argsstring: () const =0
scope: Plugin
detaileddescription:
Get the plugin label.@n
This label is a short restricted name consisting of only _, a-z, A-Z and 0-9 characters.


refid: a75f30935198a0acba25f4ea92af72dc4
name: initAudioPort
definition: virtual void Plugin::initAudioPort
type: void
argsstring: (bool input, uint32_t index, AudioPort &port)
scope: Plugin
detaileddescription:
Initialize the audio port @a index.@n
This function will be called once, shortly after the plugin is created.


refid: a5b0ec59527a1c2f4b01f17fc8c18ea8b
name: initParameter
definition: virtual void Plugin::initParameter
type: void
argsstring: (uint32_t index, Parameter &parameter)=0
scope: Plugin
detaileddescription:
Initialize the parameter @a index.@n
This function will be called once, shortly after the plugin is created.


refid: a54d66af3111541b7c118f9749ef0231b
name: initProgramName
definition: virtual void Plugin::initProgramName
type: void
argsstring: (uint32_t index, String &programName)=0
scope: Plugin
detaileddescription:
Set the name of the program @a index.@n
This function will be called once, shortly after the plugin is created.@n
Must be implemented by your plugin class only if DISTRHO_PLUGIN_WANT_PROGRAMS is enabled.


refid: ae301a970a8b5cff3c7ecef927ea20080
name: initState
definition: virtual void Plugin::initState
type: void
argsstring: (uint32_t index, String &stateKey, String &defaultStateValue)=0
scope: Plugin
detaileddescription:
Set the state key and default value of @a index.@n
This function will be called once, shortly after the plugin is created.@n
Must be implemented by your plugin class only if DISTRHO_PLUGIN_WANT_STATE is enabled.


refid: a2d1da98c90568bb4547662bc4f02c31f
name: getParameterValue
definition: virtual float Plugin::getParameterValue
type: float
argsstring: (uint32_t index) const =0
scope: Plugin
detaileddescription:
Get the current value of a parameter.@n
The host may call this function from any context, including realtime processing.


refid: a6911a881fabb9eca9daf0eadbaad8599
name: setParameterValue
definition: virtual void Plugin::setParameterValue
type: void
argsstring: (uint32_t index, float value)=0
scope: Plugin
detaileddescription:
Change a parameter value.@n
The host may call this function from any context, including realtime processing.@n
When a parameter is marked as automable, you must ensure no non-realtime operations are performed.
@note This function will only be called for parameter inputs.


refid: ab629f35c60406d6f2c0b9d530e67cf09
name: loadProgram
definition: virtual void Plugin::loadProgram
type: void
argsstring: (uint32_t index)=0
scope: Plugin
detaileddescription:
Load a program.@n
The host may call this function from any context, including realtime processing.@n
Must be implemented by your plugin class only if DISTRHO_PLUGIN_WANT_PROGRAMS is enabled.


refid: a3c6aeb79775ecf24ffbfc7dafd3d449b
name: setState
definition: virtual void Plugin::setState
type: void
argsstring: (const String &key, const String &value)=0
scope: Plugin
detaileddescription:
Change an internal state @a key to @a value.@n
Must be implemented by your plugin class only if DISTRHO_PLUGIN_WANT_STATE is enabled.


refid: a9f6c8ad6b054056649d0250e527e1297
name: bufferSizeChanged
definition: virtual void Plugin::bufferSizeChanged
type: void
argsstring: (uint32_t newBufferSize)
scope: Plugin
detaileddescription:
Optional callback to inform the plugin about a buffer size change.@n
This function will only be called when the plugin is deactivated.
@note This value is only a hint!@n
      Hosts might call run() with a higher or lower number of frames.
@see getBufferSize()


refid: a2fcbfa1893f44e661d0d8cd53391dadc
name: sampleRateChanged
definition: virtual void Plugin::sampleRateChanged
type: void
argsstring: (double newSampleRate)
scope: Plugin
detaileddescription:
Optional callback to inform the plugin about a sample rate change.@n
This function will only be called when the plugin is deactivated.
@see getSampleRate()


refid: ga0a3633c93e8589f4b3e6124bb97ad8d4
name: kParameterIsOutput
definition: const uint32_t kParameterIsOutput
type: const uint32_t
initializer: = 0x10
detaileddescription:
Parameter is of output type.@n
When unset, parameter is assumed to be of input type.

Parameter inputs are changed by the host and must not be changed by the plugin.@n
The only exception being when changing programs, see Plugin::setProgram().@n
Outputs are changed by the plugin and never modified by the host.


refid: a2f043dd1b2e179248a19918c5483cfae
name: programLoaded
definition: virtual void UI::programLoaded
type: void
argsstring: (uint32_t index)=0
scope: UI
detaileddescription:
A program has been loaded on the plugin side.
This is called by the host to inform the UI about program changes.


refid: gad95e24b17f196260cee15255fdb5b677
name: DISTRHO_PLUGIN_WANT_PROGRAMS
initializer: 1
detaileddescription:
Wherever the plugin provides its own internal programs.
@see Plugin::initProgramName(uint32_t, String&)
@see Plugin::loadProgram(uint32_t)


refid: ga0a3633c93e8589f4b3e6124bb97ad8d4
name: kParameterIsOutput
definition: const uint32_t kParameterIsOutput
type: const uint32_t
initializer: = 0x10
detaileddescription:
Parameter is of output type.@n
When unset, parameter is assumed to be of input type.

Parameter inputs are changed by the host and must not be changed by the plugin.@n
The only exception being when changing programs, see Plugin::loadProgram().@n
Outputs are changed by the plugin and never modified by the host.


refid: a543e628c50f9199ae557f39d01294c2e
name: exec
definition: void Application::exec
type: void
argsstring: ()
scope: Application
detaileddescription:
Run the application event-loop until all Windows are closed.
idle() is called at regular intervals.
@note This function is meant for standalones only, <em>never</em> call this from plugins.


refid: ad351054c0c6ebc0df99a7f8df12c8920
name: Image
definition: Image::Image
scope: Image
detaileddescription:
Constructor using raw image data.
@note @a rawData must remain valid for the lifetime of this Image.


refid: acbae67cbb34b396bd1dff9cdc3c6712b
name: globalAlpha
definition: void NanoVG::globalAlpha
type: void
argsstring: (float alpha)
scope: NanoVG
detaileddescription:
Sets the transparency applied to all rendered shapes.
Already transparent paths will get proportionally more transparent as well.


refid: a7555d49ba847a92fb2c56b2f9f68f366
name: createImageFromFile
definition: NanoImage::Handle NanoVG::createImageFromFile
type: NanoImage::Handle
argsstring: (const char *filename, int imageFlags)
scope: NanoVG
detaileddescription:
Creates image by loading it from the disk from specified file name.
Overloaded function for convenience.
@see ImageFlags


refid: acf7d2cac5deeb625a91c40448ed70b6a
name: createImageFromMemory
definition: NanoImage::Handle NanoVG::createImageFromMemory
type: NanoImage::Handle
argsstring: (uchar *data, uint dataSize, int imageFlags)
scope: NanoVG
detaileddescription:
Creates image by loading it from the specified chunk of memory.
Overloaded function for convenience.
@see ImageFlags


refid: a00c718a017652e8888a48ff1577b57ef
name: imagePattern
definition: Paint NanoVG::imagePattern
type: Paint
argsstring: (float ox, float oy, float ex, float ey, float angle, const NanoImage &image, float alpha)
scope: NanoVG
detaileddescription:
Creates and returns an image pattern. Parameters (ox,oy) specify the left-top location of the image pattern,
(ex,ey) the size of one image, angle rotation around the top-left corner, image is handle to the image to render.
The gradient is transformed by the current transform when it is passed to fillPaint() or strokePaint().


refid: a0d86d93bc09fc8da01f2b2fdd97f7448
name: intersectScissor
definition: void NanoVG::intersectScissor
type: void
argsstring: (float x, float y, float w, float h)
scope: NanoVG
detaileddescription:
Intersects current scissor rectangle with the specified rectangle.
The scissor rectangle is transformed by the current transform.
Note: in case the rotation of previous scissor rect differs from
the current one, the intersection will be done between the specified
rectangle and the previous scissor rectangle transformed in the current
transform space. The resulting shape is always rectangle.


refid: a44831e8c0c5e457eda688c9141e10f68
name: bezierTo
definition: void NanoVG::bezierTo
type: void
argsstring: (float c1x, float c1y, float c2x, float c2y, float x, float y)
scope: NanoVG
detaileddescription:
Adds cubic bezier segment from last point in the path via two control points to the specified point.


refid: ad21dce44617cb0ed89bcafa794c56fde
name: quadTo
definition: void NanoVG::quadTo
type: void
argsstring: (float cx, float cy, float x, float y)
scope: NanoVG
detaileddescription:
Adds quadratic bezier segment from last point in the path via a control point to the specified point.


refid: a5da07d6030f2918260e1fc20cfb4c9e6
name: arc
definition: void NanoVG::arc
type: void
argsstring: (float cx, float cy, float r, float a0, float a1, Winding dir)
scope: NanoVG
detaileddescription:
Creates new circle arc shaped sub-path. The arc center is at cx,cy, the arc radius is r,
and the arc is drawn from angle a0 to a1, and swept in direction dir (NVG_CCW or NVG_CW).
Angles are specified in radians.


refid: a16f910cddbecd570d3c125e217f51e10
name: textBox
definition: void NanoVG::textBox
type: void
argsstring: (float x, float y, float breakRowWidth, const char *string, const char *end=nullptr)
scope: NanoVG
detaileddescription:
Draws multi-line text string at specified location wrapped at the specified width.
If end is specified only the sub-string up to the end is drawn.
White space is stripped at the beginning of the rows, the text is split at word boundaries or when new-line characters are encountered.
Words longer than the max width are slit at nearest character (i.e. no hyphenation).


refid: ab3086d302a9685b25abf144ade3e88f6
name: parameterChanged
definition: virtual void UI::parameterChanged
type: void
argsstring: (uint32_t index, float value)=0
scope: UI
detaileddescription:
A parameter has changed on the plugin side.@n
This is called by the host to inform the UI about parameter changes.


refid: a2f043dd1b2e179248a19918c5483cfae
name: programLoaded
definition: virtual void UI::programLoaded
type: void
argsstring: (uint32_t index)=0
scope: UI
detaileddescription:
A program has been loaded on the plugin side.@n
This is called by the host to inform the UI about program changes.


refid: a1bdc7e158d974e82f0535f1658d66575
name: stateChanged
definition: virtual void UI::stateChanged
type: void
argsstring: (const char *key, const char *value)=0
scope: UI
detaileddescription:
A state has changed on the plugin side.@n
This is called by the host to inform the UI about state changes.


