| 
							- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 - <html xmlns="http://www.w3.org/1999/xhtml">
 - <head>
 - <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
 - <meta http-equiv="X-UA-Compatible" content="IE=9"/>
 - <meta name="generator" content="Doxygen 1.8.17"/>
 - <meta name="viewport" content="width=device-width, initial-scale=1"/>
 - <title>DISTRHO Plugin Framework: Plugin Macros</title>
 - <link href="tabs.css" rel="stylesheet" type="text/css"/>
 - <script type="text/javascript" src="jquery.js"></script>
 - <script type="text/javascript" src="dynsections.js"></script>
 - <link href="search/search.css" rel="stylesheet" type="text/css"/>
 - <script type="text/javascript" src="search/searchdata.js"></script>
 - <script type="text/javascript" src="search/search.js"></script>
 - <link href="doxygen.css" rel="stylesheet" type="text/css" />
 - </head>
 - <body>
 - <div id="top"><!-- do not remove this div, it is closed by doxygen! -->
 - <div id="titlearea">
 - <table cellspacing="0" cellpadding="0">
 -  <tbody>
 -  <tr style="height: 56px;">
 -   <td id="projectalign" style="padding-left: 0.5em;">
 -    <div id="projectname">DISTRHO Plugin Framework
 -    </div>
 -   </td>
 -  </tr>
 -  </tbody>
 - </table>
 - </div>
 - <!-- end header part -->
 - <!-- Generated by Doxygen 1.8.17 -->
 - <script type="text/javascript">
 - /* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
 - var searchBox = new SearchBox("searchBox", "search",false,'Search');
 - /* @license-end */
 - </script>
 - <script type="text/javascript" src="menudata.js"></script>
 - <script type="text/javascript" src="menu.js"></script>
 - <script type="text/javascript">
 - /* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
 - $(function() {
 -   initMenu('',true,false,'search.php','Search');
 -   $(document).ready(function() { init_search(); });
 - });
 - /* @license-end */</script>
 - <div id="main-nav"></div>
 - </div><!-- top -->
 - <!-- window showing the filter options -->
 - <div id="MSearchSelectWindow"
 -      onmouseover="return searchBox.OnSearchSelectShow()"
 -      onmouseout="return searchBox.OnSearchSelectHide()"
 -      onkeydown="return searchBox.OnSearchSelectKey(event)">
 - </div>
 - 
 - <!-- iframe showing the search results (closed by default) -->
 - <div id="MSearchResultsWindow">
 - <iframe src="javascript:void(0)" frameborder="0" 
 -         name="MSearchResults" id="MSearchResults">
 - </iframe>
 - </div>
 - 
 - <div class="header">
 -   <div class="summary">
 - <a href="#define-members">Macros</a>  </div>
 -   <div class="headertitle">
 - <div class="title">Plugin Macros</div>  </div>
 - </div><!--header-->
 - <div class="contents">
 - 
 - <p>C Macros that describe your plugin. (defined in the "DistrhoPluginInfo.h" file)  
 - <a href="#details">More...</a></p>
 - <table class="memberdecls">
 - <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
 - Macros</h2></td></tr>
 - <tr class="memitem:ga888482a9f695c2ca2f433e5f3172dcc4"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__PluginMacros.html#ga888482a9f695c2ca2f433e5f3172dcc4">DISTRHO_PLUGIN_NAME</a>   "Plugin Name"</td></tr>
 - <tr class="separator:ga888482a9f695c2ca2f433e5f3172dcc4"><td class="memSeparator" colspan="2"> </td></tr>
 - <tr class="memitem:ga5f4f3d9a5dc3c23882d158e636319998"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__PluginMacros.html#ga5f4f3d9a5dc3c23882d158e636319998">DISTRHO_PLUGIN_NUM_INPUTS</a>   2</td></tr>
 - <tr class="separator:ga5f4f3d9a5dc3c23882d158e636319998"><td class="memSeparator" colspan="2"> </td></tr>
 - <tr class="memitem:ga917195804ebcb2bb48c9fad52b20b3ca"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__PluginMacros.html#ga917195804ebcb2bb48c9fad52b20b3ca">DISTRHO_PLUGIN_NUM_OUTPUTS</a>   2</td></tr>
 - <tr class="separator:ga917195804ebcb2bb48c9fad52b20b3ca"><td class="memSeparator" colspan="2"> </td></tr>
 - <tr class="memitem:ga9cc186448134e6a1956474b3878c97a8"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__PluginMacros.html#ga9cc186448134e6a1956474b3878c97a8">DISTRHO_PLUGIN_URI</a>   "urn:distrho:name"</td></tr>
 - <tr class="separator:ga9cc186448134e6a1956474b3878c97a8"><td class="memSeparator" colspan="2"> </td></tr>
 - <tr class="memitem:gacf8a1af679c09637ba0bdc5f4f8e37dd"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__PluginMacros.html#gacf8a1af679c09637ba0bdc5f4f8e37dd">DISTRHO_PLUGIN_HAS_UI</a>   1</td></tr>
 - <tr class="separator:gacf8a1af679c09637ba0bdc5f4f8e37dd"><td class="memSeparator" colspan="2"> </td></tr>
 - <tr class="memitem:ga82546dd199fcea338b113f2f6da84ced"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__PluginMacros.html#ga82546dd199fcea338b113f2f6da84ced">DISTRHO_PLUGIN_IS_RT_SAFE</a>   1</td></tr>
 - <tr class="separator:ga82546dd199fcea338b113f2f6da84ced"><td class="memSeparator" colspan="2"> </td></tr>
 - <tr class="memitem:ga854bde6b6fdb0d47182149dbab0fed72"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__PluginMacros.html#ga854bde6b6fdb0d47182149dbab0fed72">DISTRHO_PLUGIN_IS_SYNTH</a>   1</td></tr>
 - <tr class="separator:ga854bde6b6fdb0d47182149dbab0fed72"><td class="memSeparator" colspan="2"> </td></tr>
 - <tr class="memitem:gac6873a3950f52f3fde8e386af63b69a1"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__PluginMacros.html#gac6873a3950f52f3fde8e386af63b69a1">DISTRHO_PLUGIN_WANT_DIRECT_ACCESS</a>   0</td></tr>
 - <tr class="separator:gac6873a3950f52f3fde8e386af63b69a1"><td class="memSeparator" colspan="2"> </td></tr>
 - <tr class="memitem:gad6b0ebf10e048f4742f29735da4d4930"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__PluginMacros.html#gad6b0ebf10e048f4742f29735da4d4930">DISTRHO_PLUGIN_WANT_LATENCY</a>   1</td></tr>
 - <tr class="separator:gad6b0ebf10e048f4742f29735da4d4930"><td class="memSeparator" colspan="2"> </td></tr>
 - <tr class="memitem:gadf2e2eb7550e4116001c816adfb04a70"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__PluginMacros.html#gadf2e2eb7550e4116001c816adfb04a70">DISTRHO_PLUGIN_WANT_MIDI_INPUT</a>   1</td></tr>
 - <tr class="separator:gadf2e2eb7550e4116001c816adfb04a70"><td class="memSeparator" colspan="2"> </td></tr>
 - <tr class="memitem:ga548522eb91344a45841a5a95ff4f8073"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__PluginMacros.html#ga548522eb91344a45841a5a95ff4f8073">DISTRHO_PLUGIN_WANT_MIDI_OUTPUT</a>   1</td></tr>
 - <tr class="separator:ga548522eb91344a45841a5a95ff4f8073"><td class="memSeparator" colspan="2"> </td></tr>
 - <tr class="memitem:ga5a33bc5567795bdbbaab32313fabc652"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__PluginMacros.html#ga5a33bc5567795bdbbaab32313fabc652">DISTRHO_PLUGIN_WANT_PARAMETER_VALUE_CHANGE_REQUEST</a>   1</td></tr>
 - <tr class="separator:ga5a33bc5567795bdbbaab32313fabc652"><td class="memSeparator" colspan="2"> </td></tr>
 - <tr class="memitem:gad95e24b17f196260cee15255fdb5b677"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__PluginMacros.html#gad95e24b17f196260cee15255fdb5b677">DISTRHO_PLUGIN_WANT_PROGRAMS</a>   1</td></tr>
 - <tr class="separator:gad95e24b17f196260cee15255fdb5b677"><td class="memSeparator" colspan="2"> </td></tr>
 - <tr class="memitem:ga255f43cc0997af8b56abcca260c875e0"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__PluginMacros.html#ga255f43cc0997af8b56abcca260c875e0">DISTRHO_PLUGIN_WANT_STATE</a>   1</td></tr>
 - <tr class="separator:ga255f43cc0997af8b56abcca260c875e0"><td class="memSeparator" colspan="2"> </td></tr>
 - <tr class="memitem:gac022d3d0a8782d632d7a801bc9cf721e"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__PluginMacros.html#gac022d3d0a8782d632d7a801bc9cf721e">DISTRHO_PLUGIN_WANT_FULL_STATE</a>   1</td></tr>
 - <tr class="separator:gac022d3d0a8782d632d7a801bc9cf721e"><td class="memSeparator" colspan="2"> </td></tr>
 - <tr class="memitem:ga496610b956d931b1940d07da48d123f2"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__PluginMacros.html#ga496610b956d931b1940d07da48d123f2">DISTRHO_PLUGIN_WANT_TIMEPOS</a>   1</td></tr>
 - <tr class="separator:ga496610b956d931b1940d07da48d123f2"><td class="memSeparator" colspan="2"> </td></tr>
 - <tr class="memitem:ga5bcd1ce31e47a617de4c32fbf85e44ca"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__PluginMacros.html#ga5bcd1ce31e47a617de4c32fbf85e44ca">DISTRHO_UI_USE_CUSTOM</a>   1</td></tr>
 - <tr class="separator:ga5bcd1ce31e47a617de4c32fbf85e44ca"><td class="memSeparator" colspan="2"> </td></tr>
 - <tr class="memitem:gaf978778ddb34e3663a5c0bd128067e10"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__PluginMacros.html#gaf978778ddb34e3663a5c0bd128067e10">DISTRHO_UI_CUSTOM_INCLUDE_PATH</a></td></tr>
 - <tr class="separator:gaf978778ddb34e3663a5c0bd128067e10"><td class="memSeparator" colspan="2"> </td></tr>
 - <tr class="memitem:gaf6377f757b9796bd37f7be4e605ccd4a"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__PluginMacros.html#gaf6377f757b9796bd37f7be4e605ccd4a">DISTRHO_UI_CUSTOM_WIDGET_TYPE</a></td></tr>
 - <tr class="separator:gaf6377f757b9796bd37f7be4e605ccd4a"><td class="memSeparator" colspan="2"> </td></tr>
 - <tr class="memitem:gad49e79936a2aa5afa089cbc051426ccd"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__PluginMacros.html#gad49e79936a2aa5afa089cbc051426ccd">DISTRHO_UI_USE_NANOVG</a>   1</td></tr>
 - <tr class="separator:gad49e79936a2aa5afa089cbc051426ccd"><td class="memSeparator" colspan="2"> </td></tr>
 - <tr class="memitem:gabadb9d9ba7f479df39b3963ee60b7a4b"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__PluginMacros.html#gabadb9d9ba7f479df39b3963ee60b7a4b">DISTRHO_UI_USER_RESIZABLE</a>   1</td></tr>
 - <tr class="separator:gabadb9d9ba7f479df39b3963ee60b7a4b"><td class="memSeparator" colspan="2"> </td></tr>
 - <tr class="memitem:ga420a88022da249b9f38a6046998dbd7c"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__PluginMacros.html#ga420a88022da249b9f38a6046998dbd7c">DISTRHO_UI_URI</a>   <a class="el" href="group__PluginMacros.html#ga9cc186448134e6a1956474b3878c97a8">DISTRHO_PLUGIN_URI</a> "#UI"</td></tr>
 - <tr class="separator:ga420a88022da249b9f38a6046998dbd7c"><td class="memSeparator" colspan="2"> </td></tr>
 - </table>
 - <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
 - <p>C Macros that describe your plugin. (defined in the "DistrhoPluginInfo.h" file) </p>
 - <p>With these macros you can tell the host what features your plugin requires.<br  />
 - Depending on which macros you enable, new functions will be available to call and/or override.</p>
 - <p>All values are either integer or strings.<br  />
 - For boolean-like values 1 means 'on' and 0 means 'off'.</p>
 - <p>The values defined in this group are for documentation purposes only.<br  />
 - All macros are disabled by default.</p>
 - <p>Only 4 macros are required, they are:</p><ul>
 - <li><a class="el" href="group__PluginMacros.html#ga888482a9f695c2ca2f433e5f3172dcc4">DISTRHO_PLUGIN_NAME</a></li>
 - <li><a class="el" href="group__PluginMacros.html#ga5f4f3d9a5dc3c23882d158e636319998">DISTRHO_PLUGIN_NUM_INPUTS</a></li>
 - <li><a class="el" href="group__PluginMacros.html#ga917195804ebcb2bb48c9fad52b20b3ca">DISTRHO_PLUGIN_NUM_OUTPUTS</a></li>
 - <li><a class="el" href="group__PluginMacros.html#ga9cc186448134e6a1956474b3878c97a8">DISTRHO_PLUGIN_URI</a> </li>
 - </ul>
 - <h2 class="groupheader">Macro Definition Documentation</h2>
 - <a id="ga888482a9f695c2ca2f433e5f3172dcc4"></a>
 - <h2 class="memtitle"><span class="permalink"><a href="#ga888482a9f695c2ca2f433e5f3172dcc4">◆ </a></span>DISTRHO_PLUGIN_NAME</h2>
 - 
 - <div class="memitem">
 - <div class="memproto">
 -       <table class="memname">
 -         <tr>
 -           <td class="memname">#define DISTRHO_PLUGIN_NAME   "Plugin Name"</td>
 -         </tr>
 -       </table>
 - </div><div class="memdoc">
 - <p>The plugin name.<br  />
 - This is used to identify your plugin before a <a class="el" href="classPlugin.html">Plugin</a> instance can be created. </p><dl class="section note"><dt>Note</dt><dd>This macro is required. </dd></dl>
 - 
 - </div>
 - </div>
 - <a id="ga5f4f3d9a5dc3c23882d158e636319998"></a>
 - <h2 class="memtitle"><span class="permalink"><a href="#ga5f4f3d9a5dc3c23882d158e636319998">◆ </a></span>DISTRHO_PLUGIN_NUM_INPUTS</h2>
 - 
 - <div class="memitem">
 - <div class="memproto">
 -       <table class="memname">
 -         <tr>
 -           <td class="memname">#define DISTRHO_PLUGIN_NUM_INPUTS   2</td>
 -         </tr>
 -       </table>
 - </div><div class="memdoc">
 - <p>Number of audio inputs the plugin has. </p><dl class="section note"><dt>Note</dt><dd>This macro is required. </dd></dl>
 - 
 - </div>
 - </div>
 - <a id="ga917195804ebcb2bb48c9fad52b20b3ca"></a>
 - <h2 class="memtitle"><span class="permalink"><a href="#ga917195804ebcb2bb48c9fad52b20b3ca">◆ </a></span>DISTRHO_PLUGIN_NUM_OUTPUTS</h2>
 - 
 - <div class="memitem">
 - <div class="memproto">
 -       <table class="memname">
 -         <tr>
 -           <td class="memname">#define DISTRHO_PLUGIN_NUM_OUTPUTS   2</td>
 -         </tr>
 -       </table>
 - </div><div class="memdoc">
 - <p>Number of audio outputs the plugin has. </p><dl class="section note"><dt>Note</dt><dd>This macro is required. </dd></dl>
 - 
 - </div>
 - </div>
 - <a id="ga9cc186448134e6a1956474b3878c97a8"></a>
 - <h2 class="memtitle"><span class="permalink"><a href="#ga9cc186448134e6a1956474b3878c97a8">◆ </a></span>DISTRHO_PLUGIN_URI</h2>
 - 
 - <div class="memitem">
 - <div class="memproto">
 -       <table class="memname">
 -         <tr>
 -           <td class="memname">#define DISTRHO_PLUGIN_URI   "urn:distrho:name"</td>
 -         </tr>
 -       </table>
 - </div><div class="memdoc">
 - <p>The plugin URI when exporting in LV2 format. </p><dl class="section note"><dt>Note</dt><dd>This macro is required. </dd></dl>
 - 
 - </div>
 - </div>
 - <a id="gacf8a1af679c09637ba0bdc5f4f8e37dd"></a>
 - <h2 class="memtitle"><span class="permalink"><a href="#gacf8a1af679c09637ba0bdc5f4f8e37dd">◆ </a></span>DISTRHO_PLUGIN_HAS_UI</h2>
 - 
 - <div class="memitem">
 - <div class="memproto">
 -       <table class="memname">
 -         <tr>
 -           <td class="memname">#define DISTRHO_PLUGIN_HAS_UI   1</td>
 -         </tr>
 -       </table>
 - </div><div class="memdoc">
 - <p>Whether the plugin has a custom UI. </p><dl class="section see"><dt>See also</dt><dd><a class="el" href="group__PluginMacros.html#gad49e79936a2aa5afa089cbc051426ccd">DISTRHO_UI_USE_NANOVG</a> </dd>
 - <dd>
 - <a class="el" href="classUI.html">UI</a> </dd></dl>
 - 
 - </div>
 - </div>
 - <a id="ga82546dd199fcea338b113f2f6da84ced"></a>
 - <h2 class="memtitle"><span class="permalink"><a href="#ga82546dd199fcea338b113f2f6da84ced">◆ </a></span>DISTRHO_PLUGIN_IS_RT_SAFE</h2>
 - 
 - <div class="memitem">
 - <div class="memproto">
 -       <table class="memname">
 -         <tr>
 -           <td class="memname">#define DISTRHO_PLUGIN_IS_RT_SAFE   1</td>
 -         </tr>
 -       </table>
 - </div><div class="memdoc">
 - <p>Whether the plugin processing is realtime-safe.<br  />
 - TODO - list rtsafe requirements </p>
 - 
 - </div>
 - </div>
 - <a id="ga854bde6b6fdb0d47182149dbab0fed72"></a>
 - <h2 class="memtitle"><span class="permalink"><a href="#ga854bde6b6fdb0d47182149dbab0fed72">◆ </a></span>DISTRHO_PLUGIN_IS_SYNTH</h2>
 - 
 - <div class="memitem">
 - <div class="memproto">
 -       <table class="memname">
 -         <tr>
 -           <td class="memname">#define DISTRHO_PLUGIN_IS_SYNTH   1</td>
 -         </tr>
 -       </table>
 - </div><div class="memdoc">
 - <p>Whether the plugin is a synth.<br  />
 - <a class="el" href="group__PluginMacros.html#gadf2e2eb7550e4116001c816adfb04a70">DISTRHO_PLUGIN_WANT_MIDI_INPUT</a> is automatically enabled when this is too. </p><dl class="section see"><dt>See also</dt><dd><a class="el" href="group__PluginMacros.html#gadf2e2eb7550e4116001c816adfb04a70">DISTRHO_PLUGIN_WANT_MIDI_INPUT</a> </dd></dl>
 - 
 - </div>
 - </div>
 - <a id="gac6873a3950f52f3fde8e386af63b69a1"></a>
 - <h2 class="memtitle"><span class="permalink"><a href="#gac6873a3950f52f3fde8e386af63b69a1">◆ </a></span>DISTRHO_PLUGIN_WANT_DIRECT_ACCESS</h2>
 - 
 - <div class="memitem">
 - <div class="memproto">
 -       <table class="memname">
 -         <tr>
 -           <td class="memname">#define DISTRHO_PLUGIN_WANT_DIRECT_ACCESS   0</td>
 -         </tr>
 -       </table>
 - </div><div class="memdoc">
 - <p>Enable direct access between the UI and plugin code. </p><dl class="section see"><dt>See also</dt><dd><a class="el" href="classUI.html#a0863a8f7ca7fc7e172e703c58518329f">UI::getPluginInstancePointer()</a> </dd></dl>
 - <dl class="section note"><dt>Note</dt><dd>DO NOT USE THIS UNLESS STRICTLY NECESSARY!! Try to avoid it at all costs! </dd></dl>
 - 
 - </div>
 - </div>
 - <a id="gad6b0ebf10e048f4742f29735da4d4930"></a>
 - <h2 class="memtitle"><span class="permalink"><a href="#gad6b0ebf10e048f4742f29735da4d4930">◆ </a></span>DISTRHO_PLUGIN_WANT_LATENCY</h2>
 - 
 - <div class="memitem">
 - <div class="memproto">
 -       <table class="memname">
 -         <tr>
 -           <td class="memname">#define DISTRHO_PLUGIN_WANT_LATENCY   1</td>
 -         </tr>
 -       </table>
 - </div><div class="memdoc">
 - <p>Whether the plugin introduces latency during audio or midi processing. </p><dl class="section see"><dt>See also</dt><dd><a class="el" href="classPlugin.html#a2a70c4ec55d74d9bc26862975d8df8a7">Plugin::setLatency(uint32_t)</a> </dd></dl>
 - 
 - </div>
 - </div>
 - <a id="gadf2e2eb7550e4116001c816adfb04a70"></a>
 - <h2 class="memtitle"><span class="permalink"><a href="#gadf2e2eb7550e4116001c816adfb04a70">◆ </a></span>DISTRHO_PLUGIN_WANT_MIDI_INPUT</h2>
 - 
 - <div class="memitem">
 - <div class="memproto">
 -       <table class="memname">
 -         <tr>
 -           <td class="memname">#define DISTRHO_PLUGIN_WANT_MIDI_INPUT   1</td>
 -         </tr>
 -       </table>
 - </div><div class="memdoc">
 - <p>Whether the plugin wants MIDI input.<br  />
 - This is automatically enabled if <a class="el" href="group__PluginMacros.html#ga854bde6b6fdb0d47182149dbab0fed72">DISTRHO_PLUGIN_IS_SYNTH</a> is true. </p>
 - 
 - </div>
 - </div>
 - <a id="ga548522eb91344a45841a5a95ff4f8073"></a>
 - <h2 class="memtitle"><span class="permalink"><a href="#ga548522eb91344a45841a5a95ff4f8073">◆ </a></span>DISTRHO_PLUGIN_WANT_MIDI_OUTPUT</h2>
 - 
 - <div class="memitem">
 - <div class="memproto">
 -       <table class="memname">
 -         <tr>
 -           <td class="memname">#define DISTRHO_PLUGIN_WANT_MIDI_OUTPUT   1</td>
 -         </tr>
 -       </table>
 - </div><div class="memdoc">
 - <p>Whether the plugin wants MIDI output. </p><dl class="section see"><dt>See also</dt><dd><a class="el" href="classPlugin.html#a0467eef817ac130cbbe1c0fbe09660c6">Plugin::writeMidiEvent(const MidiEvent&)</a> </dd></dl>
 - 
 - </div>
 - </div>
 - <a id="ga5a33bc5567795bdbbaab32313fabc652"></a>
 - <h2 class="memtitle"><span class="permalink"><a href="#ga5a33bc5567795bdbbaab32313fabc652">◆ </a></span>DISTRHO_PLUGIN_WANT_PARAMETER_VALUE_CHANGE_REQUEST</h2>
 - 
 - <div class="memitem">
 - <div class="memproto">
 -       <table class="memname">
 -         <tr>
 -           <td class="memname">#define DISTRHO_PLUGIN_WANT_PARAMETER_VALUE_CHANGE_REQUEST   1</td>
 -         </tr>
 -       </table>
 - </div><div class="memdoc">
 - <p>Whether the plugin wants to change its own parameter inputs.<br  />
 - Not all hosts or plugin formats support this, so Plugin::canRequestParameterValueChanges() can be used to query support at runtime. </p><dl class="section see"><dt>See also</dt><dd>Plugin::requestParameterValueChange(uint32_t, float) </dd></dl>
 - 
 - </div>
 - </div>
 - <a id="gad95e24b17f196260cee15255fdb5b677"></a>
 - <h2 class="memtitle"><span class="permalink"><a href="#gad95e24b17f196260cee15255fdb5b677">◆ </a></span>DISTRHO_PLUGIN_WANT_PROGRAMS</h2>
 - 
 - <div class="memitem">
 - <div class="memproto">
 -       <table class="memname">
 -         <tr>
 -           <td class="memname">#define DISTRHO_PLUGIN_WANT_PROGRAMS   1</td>
 -         </tr>
 -       </table>
 - </div><div class="memdoc">
 - <p>Whether the plugin provides its own internal programs. </p><dl class="section see"><dt>See also</dt><dd><a class="el" href="classPlugin.html#a54d66af3111541b7c118f9749ef0231b">Plugin::initProgramName(uint32_t, String&)</a> </dd>
 - <dd>
 - <a class="el" href="classPlugin.html#ab629f35c60406d6f2c0b9d530e67cf09">Plugin::loadProgram(uint32_t)</a> </dd></dl>
 - 
 - </div>
 - </div>
 - <a id="ga255f43cc0997af8b56abcca260c875e0"></a>
 - <h2 class="memtitle"><span class="permalink"><a href="#ga255f43cc0997af8b56abcca260c875e0">◆ </a></span>DISTRHO_PLUGIN_WANT_STATE</h2>
 - 
 - <div class="memitem">
 - <div class="memproto">
 -       <table class="memname">
 -         <tr>
 -           <td class="memname">#define DISTRHO_PLUGIN_WANT_STATE   1</td>
 -         </tr>
 -       </table>
 - </div><div class="memdoc">
 - <p>Whether the plugin uses internal non-parameter data. </p><dl class="section see"><dt>See also</dt><dd><a class="el" href="classPlugin.html#ae301a970a8b5cff3c7ecef927ea20080">Plugin::initState(uint32_t, String&, String&)</a> </dd>
 - <dd>
 - <a class="el" href="classPlugin.html#ad25ed64a2f00f48c86d2ae0016ea3e59">Plugin::setState(const char*, const char*)</a> </dd></dl>
 - 
 - </div>
 - </div>
 - <a id="gac022d3d0a8782d632d7a801bc9cf721e"></a>
 - <h2 class="memtitle"><span class="permalink"><a href="#gac022d3d0a8782d632d7a801bc9cf721e">◆ </a></span>DISTRHO_PLUGIN_WANT_FULL_STATE</h2>
 - 
 - <div class="memitem">
 - <div class="memproto">
 -       <table class="memname">
 -         <tr>
 -           <td class="memname">#define DISTRHO_PLUGIN_WANT_FULL_STATE   1</td>
 -         </tr>
 -       </table>
 - </div><div class="memdoc">
 - <p>Whether the plugin implements the full state API. When this macro is enabled, the plugin must implement a new getState(const char* key) function, which the host calls when saving its session/project. This is useful for plugins that have custom internal values not exposed to the host as key-value state pairs or parameters. Most simple effects and synths will not need this. </p><dl class="section note"><dt>Note</dt><dd>this macro is automatically enabled if a plugin has programs and state, as the key-value state pairs need to be updated when the current program changes. </dd></dl>
 - <dl class="section see"><dt>See also</dt><dd>Plugin::getState(const char*) </dd></dl>
 - 
 - </div>
 - </div>
 - <a id="ga496610b956d931b1940d07da48d123f2"></a>
 - <h2 class="memtitle"><span class="permalink"><a href="#ga496610b956d931b1940d07da48d123f2">◆ </a></span>DISTRHO_PLUGIN_WANT_TIMEPOS</h2>
 - 
 - <div class="memitem">
 - <div class="memproto">
 -       <table class="memname">
 -         <tr>
 -           <td class="memname">#define DISTRHO_PLUGIN_WANT_TIMEPOS   1</td>
 -         </tr>
 -       </table>
 - </div><div class="memdoc">
 - <p>Whether the plugin wants time position information from the host. </p><dl class="section see"><dt>See also</dt><dd><a class="el" href="classPlugin.html#ae85d602c430b1a4361a88d714d3a42c1">Plugin::getTimePosition()</a> </dd></dl>
 - 
 - </div>
 - </div>
 - <a id="ga5bcd1ce31e47a617de4c32fbf85e44ca"></a>
 - <h2 class="memtitle"><span class="permalink"><a href="#ga5bcd1ce31e47a617de4c32fbf85e44ca">◆ </a></span>DISTRHO_UI_USE_CUSTOM</h2>
 - 
 - <div class="memitem">
 - <div class="memproto">
 -       <table class="memname">
 -         <tr>
 -           <td class="memname">#define DISTRHO_UI_USE_CUSTOM   1</td>
 -         </tr>
 -       </table>
 - </div><div class="memdoc">
 - <p>Whether the UI uses a custom toolkit implementation based on OpenGL.<br  />
 - When enabled, the macros <a class="el" href="group__PluginMacros.html#gaf978778ddb34e3663a5c0bd128067e10">DISTRHO_UI_CUSTOM_INCLUDE_PATH</a> and <a class="el" href="group__PluginMacros.html#gaf6377f757b9796bd37f7be4e605ccd4a">DISTRHO_UI_CUSTOM_WIDGET_TYPE</a> are required. </p>
 - 
 - </div>
 - </div>
 - <a id="gaf978778ddb34e3663a5c0bd128067e10"></a>
 - <h2 class="memtitle"><span class="permalink"><a href="#gaf978778ddb34e3663a5c0bd128067e10">◆ </a></span>DISTRHO_UI_CUSTOM_INCLUDE_PATH</h2>
 - 
 - <div class="memitem">
 - <div class="memproto">
 -       <table class="memname">
 -         <tr>
 -           <td class="memname">#define DISTRHO_UI_CUSTOM_INCLUDE_PATH</td>
 -         </tr>
 -       </table>
 - </div><div class="memdoc">
 - <p>The include path to the header file used by the custom toolkit implementation. This path must be relative to dpf/distrho/DistrhoUI.hpp </p><dl class="section see"><dt>See also</dt><dd><a class="el" href="group__PluginMacros.html#ga5bcd1ce31e47a617de4c32fbf85e44ca">DISTRHO_UI_USE_CUSTOM</a> </dd></dl>
 - 
 - </div>
 - </div>
 - <a id="gaf6377f757b9796bd37f7be4e605ccd4a"></a>
 - <h2 class="memtitle"><span class="permalink"><a href="#gaf6377f757b9796bd37f7be4e605ccd4a">◆ </a></span>DISTRHO_UI_CUSTOM_WIDGET_TYPE</h2>
 - 
 - <div class="memitem">
 - <div class="memproto">
 -       <table class="memname">
 -         <tr>
 -           <td class="memname">#define DISTRHO_UI_CUSTOM_WIDGET_TYPE</td>
 -         </tr>
 -       </table>
 - </div><div class="memdoc">
 - <p>The top-level-widget typedef to use for the custom toolkit. This widget class MUST be a subclass of DGL TopLevelWindow class. It is recommended that you keep this widget class inside the DGL namespace, and define widget type as e.g. DGL_NAMESPACE::MyCustomTopLevelWidget. </p><dl class="section see"><dt>See also</dt><dd><a class="el" href="group__PluginMacros.html#ga5bcd1ce31e47a617de4c32fbf85e44ca">DISTRHO_UI_USE_CUSTOM</a> </dd></dl>
 - 
 - </div>
 - </div>
 - <a id="gad49e79936a2aa5afa089cbc051426ccd"></a>
 - <h2 class="memtitle"><span class="permalink"><a href="#gad49e79936a2aa5afa089cbc051426ccd">◆ </a></span>DISTRHO_UI_USE_NANOVG</h2>
 - 
 - <div class="memitem">
 - <div class="memproto">
 -       <table class="memname">
 -         <tr>
 -           <td class="memname">#define DISTRHO_UI_USE_NANOVG   1</td>
 -         </tr>
 -       </table>
 - </div><div class="memdoc">
 - <p>Whether the UI uses <a class="el" href="classNanoVG.html">NanoVG</a> for drawing instead of the default raw OpenGL calls.<br  />
 - When enabled your UI instance will subclass NanoWidget instead of <a class="el" href="classWidget.html">Widget</a>. </p>
 - 
 - </div>
 - </div>
 - <a id="gabadb9d9ba7f479df39b3963ee60b7a4b"></a>
 - <h2 class="memtitle"><span class="permalink"><a href="#gabadb9d9ba7f479df39b3963ee60b7a4b">◆ </a></span>DISTRHO_UI_USER_RESIZABLE</h2>
 - 
 - <div class="memitem">
 - <div class="memproto">
 -       <table class="memname">
 -         <tr>
 -           <td class="memname">#define DISTRHO_UI_USER_RESIZABLE   1</td>
 -         </tr>
 -       </table>
 - </div><div class="memdoc">
 - <p>Whether the UI is resizable to any size by the user.<br  />
 - By default this is false, and resizing is only allowed under the plugin <a class="el" href="classUI.html">UI</a> control,<br  />
 - Enabling this options makes it possible for the user to resize the plugin <a class="el" href="classUI.html">UI</a> at anytime. </p><dl class="section see"><dt>See also</dt><dd>UI::setGeometryConstraints(uint, uint, bool, bool) </dd></dl>
 - 
 - </div>
 - </div>
 - <a id="ga420a88022da249b9f38a6046998dbd7c"></a>
 - <h2 class="memtitle"><span class="permalink"><a href="#ga420a88022da249b9f38a6046998dbd7c">◆ </a></span>DISTRHO_UI_URI</h2>
 - 
 - <div class="memitem">
 - <div class="memproto">
 -       <table class="memname">
 -         <tr>
 -           <td class="memname">#define DISTRHO_UI_URI   <a class="el" href="group__PluginMacros.html#ga9cc186448134e6a1956474b3878c97a8">DISTRHO_PLUGIN_URI</a> "#UI"</td>
 -         </tr>
 -       </table>
 - </div><div class="memdoc">
 - <p>The UI URI when exporting in LV2 format.<br  />
 - By default this is set to <a class="el" href="group__PluginMacros.html#ga9cc186448134e6a1956474b3878c97a8">DISTRHO_PLUGIN_URI</a> with "#UI" as suffix. </p>
 - 
 - </div>
 - </div>
 - </div><!-- contents -->
 - <!-- start footer part -->
 - <hr class="footer"/><address class="footer"><small>
 - Generated on Mon Jun 14 2021 12:26:11 for DISTRHO Plugin Framework by  <a href="http://www.doxygen.org/index.html">
 - <img class="footer" src="doxygen.png" alt="doxygen"/>
 - </a> 1.8.17
 - </small></address>
 - </body>
 - </html>
 
 
  |