DISTRHO Plugin Framework
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

817 lines
45KB

  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3. <head>
  4. <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
  5. <meta http-equiv="X-UA-Compatible" content="IE=9"/>
  6. <meta name="generator" content="Doxygen 1.9.1"/>
  7. <meta name="viewport" content="width=device-width, initial-scale=1"/>
  8. <title>DISTRHO Plugin Framework: Plugin Macros</title>
  9. <link href="tabs.css" rel="stylesheet" type="text/css"/>
  10. <script type="text/javascript" src="jquery.js"></script>
  11. <script type="text/javascript" src="dynsections.js"></script>
  12. <link href="search/search.css" rel="stylesheet" type="text/css"/>
  13. <script type="text/javascript" src="search/searchdata.js"></script>
  14. <script type="text/javascript" src="search/search.js"></script>
  15. <link href="doxygen.css" rel="stylesheet" type="text/css" />
  16. </head>
  17. <body>
  18. <div id="top"><!-- do not remove this div, it is closed by doxygen! -->
  19. <div id="titlearea">
  20. <table cellspacing="0" cellpadding="0">
  21. <tbody>
  22. <tr style="height: 56px;">
  23. <td id="projectalign" style="padding-left: 0.5em;">
  24. <div id="projectname">DISTRHO Plugin Framework
  25. </div>
  26. </td>
  27. </tr>
  28. </tbody>
  29. </table>
  30. </div>
  31. <!-- end header part -->
  32. <!-- Generated by Doxygen 1.9.1 -->
  33. <script type="text/javascript">
  34. /* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
  35. var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
  36. /* @license-end */
  37. </script>
  38. <script type="text/javascript" src="menudata.js"></script>
  39. <script type="text/javascript" src="menu.js"></script>
  40. <script type="text/javascript">
  41. /* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
  42. $(function() {
  43. initMenu('',true,false,'search.php','Search');
  44. $(document).ready(function() { init_search(); });
  45. });
  46. /* @license-end */</script>
  47. <div id="main-nav"></div>
  48. </div><!-- top -->
  49. <!-- window showing the filter options -->
  50. <div id="MSearchSelectWindow"
  51. onmouseover="return searchBox.OnSearchSelectShow()"
  52. onmouseout="return searchBox.OnSearchSelectHide()"
  53. onkeydown="return searchBox.OnSearchSelectKey(event)">
  54. </div>
  55. <!-- iframe showing the search results (closed by default) -->
  56. <div id="MSearchResultsWindow">
  57. <iframe src="javascript:void(0)" frameborder="0"
  58. name="MSearchResults" id="MSearchResults">
  59. </iframe>
  60. </div>
  61. <div class="header">
  62. <div class="summary">
  63. <a href="#define-members">Macros</a> </div>
  64. <div class="headertitle">
  65. <div class="title">Plugin Macros</div> </div>
  66. </div><!--header-->
  67. <div class="contents">
  68. <table class="memberdecls">
  69. <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
  70. Macros</h2></td></tr>
  71. <tr class="memitem:ga888482a9f695c2ca2f433e5f3172dcc4"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__PluginMacros.html#ga888482a9f695c2ca2f433e5f3172dcc4">DISTRHO_PLUGIN_NAME</a>&#160;&#160;&#160;&quot;Plugin Name&quot;</td></tr>
  72. <tr class="separator:ga888482a9f695c2ca2f433e5f3172dcc4"><td class="memSeparator" colspan="2">&#160;</td></tr>
  73. <tr class="memitem:ga5f4f3d9a5dc3c23882d158e636319998"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__PluginMacros.html#ga5f4f3d9a5dc3c23882d158e636319998">DISTRHO_PLUGIN_NUM_INPUTS</a>&#160;&#160;&#160;2</td></tr>
  74. <tr class="separator:ga5f4f3d9a5dc3c23882d158e636319998"><td class="memSeparator" colspan="2">&#160;</td></tr>
  75. <tr class="memitem:ga917195804ebcb2bb48c9fad52b20b3ca"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__PluginMacros.html#ga917195804ebcb2bb48c9fad52b20b3ca">DISTRHO_PLUGIN_NUM_OUTPUTS</a>&#160;&#160;&#160;2</td></tr>
  76. <tr class="separator:ga917195804ebcb2bb48c9fad52b20b3ca"><td class="memSeparator" colspan="2">&#160;</td></tr>
  77. <tr class="memitem:ga9cc186448134e6a1956474b3878c97a8"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__PluginMacros.html#ga9cc186448134e6a1956474b3878c97a8">DISTRHO_PLUGIN_URI</a>&#160;&#160;&#160;&quot;urn:distrho:name&quot;</td></tr>
  78. <tr class="separator:ga9cc186448134e6a1956474b3878c97a8"><td class="memSeparator" colspan="2">&#160;</td></tr>
  79. <tr class="memitem:gacf8a1af679c09637ba0bdc5f4f8e37dd"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__PluginMacros.html#gacf8a1af679c09637ba0bdc5f4f8e37dd">DISTRHO_PLUGIN_HAS_UI</a>&#160;&#160;&#160;1</td></tr>
  80. <tr class="separator:gacf8a1af679c09637ba0bdc5f4f8e37dd"><td class="memSeparator" colspan="2">&#160;</td></tr>
  81. <tr class="memitem:ga82546dd199fcea338b113f2f6da84ced"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__PluginMacros.html#ga82546dd199fcea338b113f2f6da84ced">DISTRHO_PLUGIN_IS_RT_SAFE</a>&#160;&#160;&#160;1</td></tr>
  82. <tr class="separator:ga82546dd199fcea338b113f2f6da84ced"><td class="memSeparator" colspan="2">&#160;</td></tr>
  83. <tr class="memitem:ga854bde6b6fdb0d47182149dbab0fed72"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__PluginMacros.html#ga854bde6b6fdb0d47182149dbab0fed72">DISTRHO_PLUGIN_IS_SYNTH</a>&#160;&#160;&#160;1</td></tr>
  84. <tr class="separator:ga854bde6b6fdb0d47182149dbab0fed72"><td class="memSeparator" colspan="2">&#160;</td></tr>
  85. <tr class="memitem:ga9e0277ebff0b0a05047439532ff216d5"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__PluginMacros.html#ga9e0277ebff0b0a05047439532ff216d5">DISTRHO_PLUGIN_MINIMUM_BUFFER_SIZE</a>&#160;&#160;&#160;2048</td></tr>
  86. <tr class="separator:ga9e0277ebff0b0a05047439532ff216d5"><td class="memSeparator" colspan="2">&#160;</td></tr>
  87. <tr class="memitem:gaf75c327526ca8508c8968e43b6c1e49b"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__PluginMacros.html#gaf75c327526ca8508c8968e43b6c1e49b">DISTRHO_PLUGIN_USES_MODGUI</a>&#160;&#160;&#160;0</td></tr>
  88. <tr class="separator:gaf75c327526ca8508c8968e43b6c1e49b"><td class="memSeparator" colspan="2">&#160;</td></tr>
  89. <tr class="memitem:gac6873a3950f52f3fde8e386af63b69a1"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__PluginMacros.html#gac6873a3950f52f3fde8e386af63b69a1">DISTRHO_PLUGIN_WANT_DIRECT_ACCESS</a>&#160;&#160;&#160;0</td></tr>
  90. <tr class="separator:gac6873a3950f52f3fde8e386af63b69a1"><td class="memSeparator" colspan="2">&#160;</td></tr>
  91. <tr class="memitem:gad6b0ebf10e048f4742f29735da4d4930"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__PluginMacros.html#gad6b0ebf10e048f4742f29735da4d4930">DISTRHO_PLUGIN_WANT_LATENCY</a>&#160;&#160;&#160;1</td></tr>
  92. <tr class="separator:gad6b0ebf10e048f4742f29735da4d4930"><td class="memSeparator" colspan="2">&#160;</td></tr>
  93. <tr class="memitem:gadf2e2eb7550e4116001c816adfb04a70"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__PluginMacros.html#gadf2e2eb7550e4116001c816adfb04a70">DISTRHO_PLUGIN_WANT_MIDI_INPUT</a>&#160;&#160;&#160;1</td></tr>
  94. <tr class="separator:gadf2e2eb7550e4116001c816adfb04a70"><td class="memSeparator" colspan="2">&#160;</td></tr>
  95. <tr class="memitem:ga548522eb91344a45841a5a95ff4f8073"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__PluginMacros.html#ga548522eb91344a45841a5a95ff4f8073">DISTRHO_PLUGIN_WANT_MIDI_OUTPUT</a>&#160;&#160;&#160;1</td></tr>
  96. <tr class="separator:ga548522eb91344a45841a5a95ff4f8073"><td class="memSeparator" colspan="2">&#160;</td></tr>
  97. <tr class="memitem:ga5a33bc5567795bdbbaab32313fabc652"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__PluginMacros.html#ga5a33bc5567795bdbbaab32313fabc652">DISTRHO_PLUGIN_WANT_PARAMETER_VALUE_CHANGE_REQUEST</a>&#160;&#160;&#160;1</td></tr>
  98. <tr class="separator:ga5a33bc5567795bdbbaab32313fabc652"><td class="memSeparator" colspan="2">&#160;</td></tr>
  99. <tr class="memitem:gad95e24b17f196260cee15255fdb5b677"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__PluginMacros.html#gad95e24b17f196260cee15255fdb5b677">DISTRHO_PLUGIN_WANT_PROGRAMS</a>&#160;&#160;&#160;1</td></tr>
  100. <tr class="separator:gad95e24b17f196260cee15255fdb5b677"><td class="memSeparator" colspan="2">&#160;</td></tr>
  101. <tr class="memitem:ga255f43cc0997af8b56abcca260c875e0"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__PluginMacros.html#ga255f43cc0997af8b56abcca260c875e0">DISTRHO_PLUGIN_WANT_STATE</a>&#160;&#160;&#160;1</td></tr>
  102. <tr class="separator:ga255f43cc0997af8b56abcca260c875e0"><td class="memSeparator" colspan="2">&#160;</td></tr>
  103. <tr class="memitem:gac022d3d0a8782d632d7a801bc9cf721e"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__PluginMacros.html#gac022d3d0a8782d632d7a801bc9cf721e">DISTRHO_PLUGIN_WANT_FULL_STATE</a>&#160;&#160;&#160;1</td></tr>
  104. <tr class="separator:gac022d3d0a8782d632d7a801bc9cf721e"><td class="memSeparator" colspan="2">&#160;</td></tr>
  105. <tr class="memitem:ga496610b956d931b1940d07da48d123f2"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__PluginMacros.html#ga496610b956d931b1940d07da48d123f2">DISTRHO_PLUGIN_WANT_TIMEPOS</a>&#160;&#160;&#160;1</td></tr>
  106. <tr class="separator:ga496610b956d931b1940d07da48d123f2"><td class="memSeparator" colspan="2">&#160;</td></tr>
  107. <tr class="memitem:ga5bcd1ce31e47a617de4c32fbf85e44ca"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__PluginMacros.html#ga5bcd1ce31e47a617de4c32fbf85e44ca">DISTRHO_UI_USE_CUSTOM</a>&#160;&#160;&#160;1</td></tr>
  108. <tr class="separator:ga5bcd1ce31e47a617de4c32fbf85e44ca"><td class="memSeparator" colspan="2">&#160;</td></tr>
  109. <tr class="memitem:gaf978778ddb34e3663a5c0bd128067e10"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__PluginMacros.html#gaf978778ddb34e3663a5c0bd128067e10">DISTRHO_UI_CUSTOM_INCLUDE_PATH</a></td></tr>
  110. <tr class="separator:gaf978778ddb34e3663a5c0bd128067e10"><td class="memSeparator" colspan="2">&#160;</td></tr>
  111. <tr class="memitem:gaf6377f757b9796bd37f7be4e605ccd4a"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__PluginMacros.html#gaf6377f757b9796bd37f7be4e605ccd4a">DISTRHO_UI_CUSTOM_WIDGET_TYPE</a></td></tr>
  112. <tr class="separator:gaf6377f757b9796bd37f7be4e605ccd4a"><td class="memSeparator" colspan="2">&#160;</td></tr>
  113. <tr class="memitem:ga93240ccad789419d3c26768d00f2e97f"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__PluginMacros.html#ga93240ccad789419d3c26768d00f2e97f">DISTRHO_UI_DEFAULT_WIDTH</a>&#160;&#160;&#160;300</td></tr>
  114. <tr class="separator:ga93240ccad789419d3c26768d00f2e97f"><td class="memSeparator" colspan="2">&#160;</td></tr>
  115. <tr class="memitem:ga69f68b766833a29671400808221f8f3c"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__PluginMacros.html#ga69f68b766833a29671400808221f8f3c">DISTRHO_UI_DEFAULT_HEIGHT</a>&#160;&#160;&#160;300</td></tr>
  116. <tr class="separator:ga69f68b766833a29671400808221f8f3c"><td class="memSeparator" colspan="2">&#160;</td></tr>
  117. <tr class="memitem:gad49e79936a2aa5afa089cbc051426ccd"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__PluginMacros.html#gad49e79936a2aa5afa089cbc051426ccd">DISTRHO_UI_USE_NANOVG</a>&#160;&#160;&#160;1</td></tr>
  118. <tr class="separator:gad49e79936a2aa5afa089cbc051426ccd"><td class="memSeparator" colspan="2">&#160;</td></tr>
  119. <tr class="memitem:gabadb9d9ba7f479df39b3963ee60b7a4b"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__PluginMacros.html#gabadb9d9ba7f479df39b3963ee60b7a4b">DISTRHO_UI_USER_RESIZABLE</a>&#160;&#160;&#160;1</td></tr>
  120. <tr class="separator:gabadb9d9ba7f479df39b3963ee60b7a4b"><td class="memSeparator" colspan="2">&#160;</td></tr>
  121. <tr class="memitem:ga420a88022da249b9f38a6046998dbd7c"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__PluginMacros.html#ga420a88022da249b9f38a6046998dbd7c">DISTRHO_UI_URI</a>&#160;&#160;&#160;<a class="el" href="group__PluginMacros.html#ga9cc186448134e6a1956474b3878c97a8">DISTRHO_PLUGIN_URI</a> &quot;#UI&quot;</td></tr>
  122. <tr class="separator:ga420a88022da249b9f38a6046998dbd7c"><td class="memSeparator" colspan="2">&#160;</td></tr>
  123. <tr class="memitem:ga0cb49832109c90267e4e7f7272154d4d"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__PluginMacros.html#ga0cb49832109c90267e4e7f7272154d4d">DISTRHO_PLUGIN_AU_TYPE</a>&#160;&#160;&#160;aufx</td></tr>
  124. <tr class="separator:ga0cb49832109c90267e4e7f7272154d4d"><td class="memSeparator" colspan="2">&#160;</td></tr>
  125. <tr class="memitem:ga9c9caf7e3376c9235c3529dbc612a964"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__PluginMacros.html#ga9c9caf7e3376c9235c3529dbc612a964">DISTRHO_PLUGIN_BRAND_ID</a>&#160;&#160;&#160;Dstr</td></tr>
  126. <tr class="separator:ga9c9caf7e3376c9235c3529dbc612a964"><td class="memSeparator" colspan="2">&#160;</td></tr>
  127. <tr class="memitem:ga096d7684289e65485311a427ad8772f3"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__PluginMacros.html#ga096d7684289e65485311a427ad8772f3">DISTRHO_PLUGIN_UNIQUE_ID</a>&#160;&#160;&#160;test</td></tr>
  128. <tr class="separator:ga096d7684289e65485311a427ad8772f3"><td class="memSeparator" colspan="2">&#160;</td></tr>
  129. <tr class="memitem:ga97bd6556fb9fcfc181778edb4fceeeef"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__PluginMacros.html#ga97bd6556fb9fcfc181778edb4fceeeef">DISTRHO_PLUGIN_LV2_CATEGORY</a>&#160;&#160;&#160;&quot;lv2:Plugin&quot;</td></tr>
  130. <tr class="separator:ga97bd6556fb9fcfc181778edb4fceeeef"><td class="memSeparator" colspan="2">&#160;</td></tr>
  131. <tr class="memitem:gab5bfd0f8045aa7eedd2ec6f5c9c2d17f"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__PluginMacros.html#gab5bfd0f8045aa7eedd2ec6f5c9c2d17f">DISTRHO_PLUGIN_VST3_CATEGORIES</a>&#160;&#160;&#160;&quot;Fx|Stereo&quot;</td></tr>
  132. <tr class="separator:gab5bfd0f8045aa7eedd2ec6f5c9c2d17f"><td class="memSeparator" colspan="2">&#160;</td></tr>
  133. <tr class="memitem:gadf0fb4c49c6a9019a63bc52fbc2592f2"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__PluginMacros.html#gadf0fb4c49c6a9019a63bc52fbc2592f2">DISTRHO_PLUGIN_CLAP_FEATURES</a>&#160;&#160;&#160;&quot;audio-effect&quot;, &quot;stereo&quot;</td></tr>
  134. <tr class="separator:gadf0fb4c49c6a9019a63bc52fbc2592f2"><td class="memSeparator" colspan="2">&#160;</td></tr>
  135. <tr class="memitem:gaae12b710ad877c03b2a369e4a5e05140"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__PluginMacros.html#gaae12b710ad877c03b2a369e4a5e05140">DISTRHO_PLUGIN_CLAP_ID</a>&#160;&#160;&#160;&quot;studio.kx.distrho.effect&quot;</td></tr>
  136. <tr class="separator:gaae12b710ad877c03b2a369e4a5e05140"><td class="memSeparator" colspan="2">&#160;</td></tr>
  137. </table>
  138. <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
  139. <p>C Macros that describe your plugin. (defined in the "DistrhoPluginInfo.h" file)</p>
  140. <p>With these macros you can tell the host what features your plugin requires.<br />
  141. Depending on which macros you enable, new functions will be available to call and/or override.</p>
  142. <p>All values are either integer or strings.<br />
  143. For boolean-like values 1 means 'on' and 0 means 'off'.</p>
  144. <p>The values defined in this group are for documentation purposes only.<br />
  145. All macros are disabled by default.</p>
  146. <p>Only 4 macros are required, they are:</p><ul>
  147. <li><a class="el" href="group__PluginMacros.html#ga888482a9f695c2ca2f433e5f3172dcc4">DISTRHO_PLUGIN_NAME</a></li>
  148. <li><a class="el" href="group__PluginMacros.html#ga5f4f3d9a5dc3c23882d158e636319998">DISTRHO_PLUGIN_NUM_INPUTS</a></li>
  149. <li><a class="el" href="group__PluginMacros.html#ga917195804ebcb2bb48c9fad52b20b3ca">DISTRHO_PLUGIN_NUM_OUTPUTS</a></li>
  150. <li><a class="el" href="group__PluginMacros.html#ga9cc186448134e6a1956474b3878c97a8">DISTRHO_PLUGIN_URI</a></li>
  151. </ul>
  152. <p>Additionally, <a class="el" href="group__PluginMacros.html#gaae12b710ad877c03b2a369e4a5e05140">DISTRHO_PLUGIN_CLAP_ID</a> is required if building CLAP plugins. </p>
  153. <h2 class="groupheader">Macro Definition Documentation</h2>
  154. <a id="ga888482a9f695c2ca2f433e5f3172dcc4"></a>
  155. <h2 class="memtitle"><span class="permalink"><a href="#ga888482a9f695c2ca2f433e5f3172dcc4">&#9670;&nbsp;</a></span>DISTRHO_PLUGIN_NAME</h2>
  156. <div class="memitem">
  157. <div class="memproto">
  158. <table class="memname">
  159. <tr>
  160. <td class="memname">#define DISTRHO_PLUGIN_NAME&#160;&#160;&#160;&quot;Plugin Name&quot;</td>
  161. </tr>
  162. </table>
  163. </div><div class="memdoc">
  164. <p>The plugin name.<br />
  165. 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>
  166. </div>
  167. </div>
  168. <a id="ga5f4f3d9a5dc3c23882d158e636319998"></a>
  169. <h2 class="memtitle"><span class="permalink"><a href="#ga5f4f3d9a5dc3c23882d158e636319998">&#9670;&nbsp;</a></span>DISTRHO_PLUGIN_NUM_INPUTS</h2>
  170. <div class="memitem">
  171. <div class="memproto">
  172. <table class="memname">
  173. <tr>
  174. <td class="memname">#define DISTRHO_PLUGIN_NUM_INPUTS&#160;&#160;&#160;2</td>
  175. </tr>
  176. </table>
  177. </div><div class="memdoc">
  178. <p>Number of audio inputs the plugin has. </p><dl class="section note"><dt>Note</dt><dd>This macro is required. </dd></dl>
  179. </div>
  180. </div>
  181. <a id="ga917195804ebcb2bb48c9fad52b20b3ca"></a>
  182. <h2 class="memtitle"><span class="permalink"><a href="#ga917195804ebcb2bb48c9fad52b20b3ca">&#9670;&nbsp;</a></span>DISTRHO_PLUGIN_NUM_OUTPUTS</h2>
  183. <div class="memitem">
  184. <div class="memproto">
  185. <table class="memname">
  186. <tr>
  187. <td class="memname">#define DISTRHO_PLUGIN_NUM_OUTPUTS&#160;&#160;&#160;2</td>
  188. </tr>
  189. </table>
  190. </div><div class="memdoc">
  191. <p>Number of audio outputs the plugin has. </p><dl class="section note"><dt>Note</dt><dd>This macro is required. </dd></dl>
  192. </div>
  193. </div>
  194. <a id="ga9cc186448134e6a1956474b3878c97a8"></a>
  195. <h2 class="memtitle"><span class="permalink"><a href="#ga9cc186448134e6a1956474b3878c97a8">&#9670;&nbsp;</a></span>DISTRHO_PLUGIN_URI</h2>
  196. <div class="memitem">
  197. <div class="memproto">
  198. <table class="memname">
  199. <tr>
  200. <td class="memname">#define DISTRHO_PLUGIN_URI&#160;&#160;&#160;&quot;urn:distrho:name&quot;</td>
  201. </tr>
  202. </table>
  203. </div><div class="memdoc">
  204. <p>The plugin URI when exporting in LV2 format. </p><dl class="section note"><dt>Note</dt><dd>This macro is required. </dd></dl>
  205. </div>
  206. </div>
  207. <a id="gacf8a1af679c09637ba0bdc5f4f8e37dd"></a>
  208. <h2 class="memtitle"><span class="permalink"><a href="#gacf8a1af679c09637ba0bdc5f4f8e37dd">&#9670;&nbsp;</a></span>DISTRHO_PLUGIN_HAS_UI</h2>
  209. <div class="memitem">
  210. <div class="memproto">
  211. <table class="memname">
  212. <tr>
  213. <td class="memname">#define DISTRHO_PLUGIN_HAS_UI&#160;&#160;&#160;1</td>
  214. </tr>
  215. </table>
  216. </div><div class="memdoc">
  217. <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>
  218. <dd>
  219. <a class="el" href="classUI.html">UI</a> </dd></dl>
  220. </div>
  221. </div>
  222. <a id="ga82546dd199fcea338b113f2f6da84ced"></a>
  223. <h2 class="memtitle"><span class="permalink"><a href="#ga82546dd199fcea338b113f2f6da84ced">&#9670;&nbsp;</a></span>DISTRHO_PLUGIN_IS_RT_SAFE</h2>
  224. <div class="memitem">
  225. <div class="memproto">
  226. <table class="memname">
  227. <tr>
  228. <td class="memname">#define DISTRHO_PLUGIN_IS_RT_SAFE&#160;&#160;&#160;1</td>
  229. </tr>
  230. </table>
  231. </div><div class="memdoc">
  232. <p>Whether the plugin processing is realtime-safe.<br />
  233. TODO - list rtsafe requirements </p>
  234. </div>
  235. </div>
  236. <a id="ga854bde6b6fdb0d47182149dbab0fed72"></a>
  237. <h2 class="memtitle"><span class="permalink"><a href="#ga854bde6b6fdb0d47182149dbab0fed72">&#9670;&nbsp;</a></span>DISTRHO_PLUGIN_IS_SYNTH</h2>
  238. <div class="memitem">
  239. <div class="memproto">
  240. <table class="memname">
  241. <tr>
  242. <td class="memname">#define DISTRHO_PLUGIN_IS_SYNTH&#160;&#160;&#160;1</td>
  243. </tr>
  244. </table>
  245. </div><div class="memdoc">
  246. <p>Whether the plugin is a synth.<br />
  247. <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>
  248. </div>
  249. </div>
  250. <a id="ga9e0277ebff0b0a05047439532ff216d5"></a>
  251. <h2 class="memtitle"><span class="permalink"><a href="#ga9e0277ebff0b0a05047439532ff216d5">&#9670;&nbsp;</a></span>DISTRHO_PLUGIN_MINIMUM_BUFFER_SIZE</h2>
  252. <div class="memitem">
  253. <div class="memproto">
  254. <table class="memname">
  255. <tr>
  256. <td class="memname">#define DISTRHO_PLUGIN_MINIMUM_BUFFER_SIZE&#160;&#160;&#160;2048</td>
  257. </tr>
  258. </table>
  259. </div><div class="memdoc">
  260. <p>Request the minimum buffer size for the input and output event ports.<br />
  261. Currently only used in LV2, with a default value of 2048 if unset. </p>
  262. </div>
  263. </div>
  264. <a id="gaf75c327526ca8508c8968e43b6c1e49b"></a>
  265. <h2 class="memtitle"><span class="permalink"><a href="#gaf75c327526ca8508c8968e43b6c1e49b">&#9670;&nbsp;</a></span>DISTRHO_PLUGIN_USES_MODGUI</h2>
  266. <div class="memitem">
  267. <div class="memproto">
  268. <table class="memname">
  269. <tr>
  270. <td class="memname">#define DISTRHO_PLUGIN_USES_MODGUI&#160;&#160;&#160;0</td>
  271. </tr>
  272. </table>
  273. </div><div class="memdoc">
  274. <p>Whether the plugin has an LV2 modgui.</p>
  275. <p>This will simply add a "rdfs:seeAlso &lt;modgui.ttl&gt;" on the LV2 manifest.<br />
  276. It is up to you to create this file. </p>
  277. </div>
  278. </div>
  279. <a id="gac6873a3950f52f3fde8e386af63b69a1"></a>
  280. <h2 class="memtitle"><span class="permalink"><a href="#gac6873a3950f52f3fde8e386af63b69a1">&#9670;&nbsp;</a></span>DISTRHO_PLUGIN_WANT_DIRECT_ACCESS</h2>
  281. <div class="memitem">
  282. <div class="memproto">
  283. <table class="memname">
  284. <tr>
  285. <td class="memname">#define DISTRHO_PLUGIN_WANT_DIRECT_ACCESS&#160;&#160;&#160;0</td>
  286. </tr>
  287. </table>
  288. </div><div class="memdoc">
  289. <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>
  290. <dl class="section note"><dt>Note</dt><dd>DO NOT USE THIS UNLESS STRICTLY NECESSARY!! Try to avoid it at all costs! </dd></dl>
  291. </div>
  292. </div>
  293. <a id="gad6b0ebf10e048f4742f29735da4d4930"></a>
  294. <h2 class="memtitle"><span class="permalink"><a href="#gad6b0ebf10e048f4742f29735da4d4930">&#9670;&nbsp;</a></span>DISTRHO_PLUGIN_WANT_LATENCY</h2>
  295. <div class="memitem">
  296. <div class="memproto">
  297. <table class="memname">
  298. <tr>
  299. <td class="memname">#define DISTRHO_PLUGIN_WANT_LATENCY&#160;&#160;&#160;1</td>
  300. </tr>
  301. </table>
  302. </div><div class="memdoc">
  303. <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>
  304. </div>
  305. </div>
  306. <a id="gadf2e2eb7550e4116001c816adfb04a70"></a>
  307. <h2 class="memtitle"><span class="permalink"><a href="#gadf2e2eb7550e4116001c816adfb04a70">&#9670;&nbsp;</a></span>DISTRHO_PLUGIN_WANT_MIDI_INPUT</h2>
  308. <div class="memitem">
  309. <div class="memproto">
  310. <table class="memname">
  311. <tr>
  312. <td class="memname">#define DISTRHO_PLUGIN_WANT_MIDI_INPUT&#160;&#160;&#160;1</td>
  313. </tr>
  314. </table>
  315. </div><div class="memdoc">
  316. <p>Whether the plugin wants MIDI input.<br />
  317. This is automatically enabled if <a class="el" href="group__PluginMacros.html#ga854bde6b6fdb0d47182149dbab0fed72">DISTRHO_PLUGIN_IS_SYNTH</a> is true. </p>
  318. </div>
  319. </div>
  320. <a id="ga548522eb91344a45841a5a95ff4f8073"></a>
  321. <h2 class="memtitle"><span class="permalink"><a href="#ga548522eb91344a45841a5a95ff4f8073">&#9670;&nbsp;</a></span>DISTRHO_PLUGIN_WANT_MIDI_OUTPUT</h2>
  322. <div class="memitem">
  323. <div class="memproto">
  324. <table class="memname">
  325. <tr>
  326. <td class="memname">#define DISTRHO_PLUGIN_WANT_MIDI_OUTPUT&#160;&#160;&#160;1</td>
  327. </tr>
  328. </table>
  329. </div><div class="memdoc">
  330. <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&amp;)</a> </dd></dl>
  331. </div>
  332. </div>
  333. <a id="ga5a33bc5567795bdbbaab32313fabc652"></a>
  334. <h2 class="memtitle"><span class="permalink"><a href="#ga5a33bc5567795bdbbaab32313fabc652">&#9670;&nbsp;</a></span>DISTRHO_PLUGIN_WANT_PARAMETER_VALUE_CHANGE_REQUEST</h2>
  335. <div class="memitem">
  336. <div class="memproto">
  337. <table class="memname">
  338. <tr>
  339. <td class="memname">#define DISTRHO_PLUGIN_WANT_PARAMETER_VALUE_CHANGE_REQUEST&#160;&#160;&#160;1</td>
  340. </tr>
  341. </table>
  342. </div><div class="memdoc">
  343. <p>Whether the plugin wants to change its own parameter inputs.<br />
  344. Not all hosts or plugin formats support this, so <a class="el" href="classPlugin.html#a581614e1d301ee613a988855c61b2517">Plugin::canRequestParameterValueChanges()</a> can be used to query support at runtime. </p><dl class="section see"><dt>See also</dt><dd><a class="el" href="classPlugin.html#ae65d8603022c09d1ce2ee5cf568de70f">Plugin::requestParameterValueChange(uint32_t, float)</a> </dd></dl>
  345. </div>
  346. </div>
  347. <a id="gad95e24b17f196260cee15255fdb5b677"></a>
  348. <h2 class="memtitle"><span class="permalink"><a href="#gad95e24b17f196260cee15255fdb5b677">&#9670;&nbsp;</a></span>DISTRHO_PLUGIN_WANT_PROGRAMS</h2>
  349. <div class="memitem">
  350. <div class="memproto">
  351. <table class="memname">
  352. <tr>
  353. <td class="memname">#define DISTRHO_PLUGIN_WANT_PROGRAMS&#160;&#160;&#160;1</td>
  354. </tr>
  355. </table>
  356. </div><div class="memdoc">
  357. <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&amp;)</a> </dd>
  358. <dd>
  359. <a class="el" href="classPlugin.html#a44eb1bfcc3a3e5949ad053fc9ce55ce8">Plugin::loadProgram(uint32_t)</a> </dd></dl>
  360. </div>
  361. </div>
  362. <a id="ga255f43cc0997af8b56abcca260c875e0"></a>
  363. <h2 class="memtitle"><span class="permalink"><a href="#ga255f43cc0997af8b56abcca260c875e0">&#9670;&nbsp;</a></span>DISTRHO_PLUGIN_WANT_STATE</h2>
  364. <div class="memitem">
  365. <div class="memproto">
  366. <table class="memname">
  367. <tr>
  368. <td class="memname">#define DISTRHO_PLUGIN_WANT_STATE&#160;&#160;&#160;1</td>
  369. </tr>
  370. </table>
  371. </div><div class="memdoc">
  372. <p>Whether the plugin uses internal non-parameter data. </p><dl class="section see"><dt>See also</dt><dd>Plugin::initState(uint32_t, String&amp;, String&amp;) </dd>
  373. <dd>
  374. <a class="el" href="classPlugin.html#afcbb504b824bacea622de9bac09b2331">Plugin::setState(const char*, const char*)</a> </dd></dl>
  375. </div>
  376. </div>
  377. <a id="gac022d3d0a8782d632d7a801bc9cf721e"></a>
  378. <h2 class="memtitle"><span class="permalink"><a href="#gac022d3d0a8782d632d7a801bc9cf721e">&#9670;&nbsp;</a></span>DISTRHO_PLUGIN_WANT_FULL_STATE</h2>
  379. <div class="memitem">
  380. <div class="memproto">
  381. <table class="memname">
  382. <tr>
  383. <td class="memname">#define DISTRHO_PLUGIN_WANT_FULL_STATE&#160;&#160;&#160;1</td>
  384. </tr>
  385. </table>
  386. </div><div class="memdoc">
  387. <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>
  388. <dl class="section see"><dt>See also</dt><dd>Plugin::getState(const char*) </dd></dl>
  389. </div>
  390. </div>
  391. <a id="ga496610b956d931b1940d07da48d123f2"></a>
  392. <h2 class="memtitle"><span class="permalink"><a href="#ga496610b956d931b1940d07da48d123f2">&#9670;&nbsp;</a></span>DISTRHO_PLUGIN_WANT_TIMEPOS</h2>
  393. <div class="memitem">
  394. <div class="memproto">
  395. <table class="memname">
  396. <tr>
  397. <td class="memname">#define DISTRHO_PLUGIN_WANT_TIMEPOS&#160;&#160;&#160;1</td>
  398. </tr>
  399. </table>
  400. </div><div class="memdoc">
  401. <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>
  402. </div>
  403. </div>
  404. <a id="ga5bcd1ce31e47a617de4c32fbf85e44ca"></a>
  405. <h2 class="memtitle"><span class="permalink"><a href="#ga5bcd1ce31e47a617de4c32fbf85e44ca">&#9670;&nbsp;</a></span>DISTRHO_UI_USE_CUSTOM</h2>
  406. <div class="memitem">
  407. <div class="memproto">
  408. <table class="memname">
  409. <tr>
  410. <td class="memname">#define DISTRHO_UI_USE_CUSTOM&#160;&#160;&#160;1</td>
  411. </tr>
  412. </table>
  413. </div><div class="memdoc">
  414. <p>Whether the UI uses a custom toolkit implementation based on OpenGL.<br />
  415. 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>
  416. </div>
  417. </div>
  418. <a id="gaf978778ddb34e3663a5c0bd128067e10"></a>
  419. <h2 class="memtitle"><span class="permalink"><a href="#gaf978778ddb34e3663a5c0bd128067e10">&#9670;&nbsp;</a></span>DISTRHO_UI_CUSTOM_INCLUDE_PATH</h2>
  420. <div class="memitem">
  421. <div class="memproto">
  422. <table class="memname">
  423. <tr>
  424. <td class="memname">#define DISTRHO_UI_CUSTOM_INCLUDE_PATH</td>
  425. </tr>
  426. </table>
  427. </div><div class="memdoc">
  428. <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>
  429. </div>
  430. </div>
  431. <a id="gaf6377f757b9796bd37f7be4e605ccd4a"></a>
  432. <h2 class="memtitle"><span class="permalink"><a href="#gaf6377f757b9796bd37f7be4e605ccd4a">&#9670;&nbsp;</a></span>DISTRHO_UI_CUSTOM_WIDGET_TYPE</h2>
  433. <div class="memitem">
  434. <div class="memproto">
  435. <table class="memname">
  436. <tr>
  437. <td class="memname">#define DISTRHO_UI_CUSTOM_WIDGET_TYPE</td>
  438. </tr>
  439. </table>
  440. </div><div class="memdoc">
  441. <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>
  442. </div>
  443. </div>
  444. <a id="ga93240ccad789419d3c26768d00f2e97f"></a>
  445. <h2 class="memtitle"><span class="permalink"><a href="#ga93240ccad789419d3c26768d00f2e97f">&#9670;&nbsp;</a></span>DISTRHO_UI_DEFAULT_WIDTH</h2>
  446. <div class="memitem">
  447. <div class="memproto">
  448. <table class="memname">
  449. <tr>
  450. <td class="memname">#define DISTRHO_UI_DEFAULT_WIDTH&#160;&#160;&#160;300</td>
  451. </tr>
  452. </table>
  453. </div><div class="memdoc">
  454. <p>Default <a class="el" href="classUI.html">UI</a> width to use when creating initial and temporary windows.<br />
  455. Setting this macro allows to skip a temporary <a class="el" href="classUI.html">UI</a> from being created in certain VST2 and VST3 hosts. (which would normally be done for knowing the <a class="el" href="classUI.html">UI</a> size before host creates a window for it)</p>
  456. <p>Value must match 1x scale factor.</p>
  457. <p>When this macro is defined, the companion DISTRHO_UI_DEFAULT_HEIGHT macro must be defined as well. </p>
  458. </div>
  459. </div>
  460. <a id="ga69f68b766833a29671400808221f8f3c"></a>
  461. <h2 class="memtitle"><span class="permalink"><a href="#ga69f68b766833a29671400808221f8f3c">&#9670;&nbsp;</a></span>DISTRHO_UI_DEFAULT_HEIGHT</h2>
  462. <div class="memitem">
  463. <div class="memproto">
  464. <table class="memname">
  465. <tr>
  466. <td class="memname">#define DISTRHO_UI_DEFAULT_HEIGHT&#160;&#160;&#160;300</td>
  467. </tr>
  468. </table>
  469. </div><div class="memdoc">
  470. <p>Default <a class="el" href="classUI.html">UI</a> height to use when creating initial and temporary windows.<br />
  471. Setting this macro allows to skip a temporary <a class="el" href="classUI.html">UI</a> from being created in certain VST2 and VST3 hosts. (which would normally be done for knowing the <a class="el" href="classUI.html">UI</a> size before host creates a window for it)</p>
  472. <p>Value must match 1x scale factor.</p>
  473. <p>When this macro is defined, the companion DISTRHO_UI_DEFAULT_WIDTH macro must be defined as well. </p>
  474. </div>
  475. </div>
  476. <a id="gad49e79936a2aa5afa089cbc051426ccd"></a>
  477. <h2 class="memtitle"><span class="permalink"><a href="#gad49e79936a2aa5afa089cbc051426ccd">&#9670;&nbsp;</a></span>DISTRHO_UI_USE_NANOVG</h2>
  478. <div class="memitem">
  479. <div class="memproto">
  480. <table class="memname">
  481. <tr>
  482. <td class="memname">#define DISTRHO_UI_USE_NANOVG&#160;&#160;&#160;1</td>
  483. </tr>
  484. </table>
  485. </div><div class="memdoc">
  486. <p>Whether the UI uses <a class="el" href="classNanoVG.html">NanoVG</a> for drawing instead of the default raw OpenGL calls.<br />
  487. When enabled your UI instance will subclass NanoWidget instead of <a class="el" href="classWidget.html">Widget</a>. </p>
  488. </div>
  489. </div>
  490. <a id="gabadb9d9ba7f479df39b3963ee60b7a4b"></a>
  491. <h2 class="memtitle"><span class="permalink"><a href="#gabadb9d9ba7f479df39b3963ee60b7a4b">&#9670;&nbsp;</a></span>DISTRHO_UI_USER_RESIZABLE</h2>
  492. <div class="memitem">
  493. <div class="memproto">
  494. <table class="memname">
  495. <tr>
  496. <td class="memname">#define DISTRHO_UI_USER_RESIZABLE&#160;&#160;&#160;1</td>
  497. </tr>
  498. </table>
  499. </div><div class="memdoc">
  500. <p>Whether the UI is resizable to any size by the user.<br />
  501. By default this is false, and resizing is only allowed under the plugin <a class="el" href="classUI.html">UI</a> control,<br />
  502. 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>
  503. </div>
  504. </div>
  505. <a id="ga420a88022da249b9f38a6046998dbd7c"></a>
  506. <h2 class="memtitle"><span class="permalink"><a href="#ga420a88022da249b9f38a6046998dbd7c">&#9670;&nbsp;</a></span>DISTRHO_UI_URI</h2>
  507. <div class="memitem">
  508. <div class="memproto">
  509. <table class="memname">
  510. <tr>
  511. <td class="memname">#define DISTRHO_UI_URI&#160;&#160;&#160;<a class="el" href="group__PluginMacros.html#ga9cc186448134e6a1956474b3878c97a8">DISTRHO_PLUGIN_URI</a> &quot;#UI&quot;</td>
  512. </tr>
  513. </table>
  514. </div><div class="memdoc">
  515. <p>The UI URI when exporting in LV2 format.<br />
  516. By default this is set to <a class="el" href="group__PluginMacros.html#ga9cc186448134e6a1956474b3878c97a8">DISTRHO_PLUGIN_URI</a> with "#UI" as suffix. </p>
  517. </div>
  518. </div>
  519. <a id="ga0cb49832109c90267e4e7f7272154d4d"></a>
  520. <h2 class="memtitle"><span class="permalink"><a href="#ga0cb49832109c90267e4e7f7272154d4d">&#9670;&nbsp;</a></span>DISTRHO_PLUGIN_AU_TYPE</h2>
  521. <div class="memitem">
  522. <div class="memproto">
  523. <table class="memname">
  524. <tr>
  525. <td class="memname">#define DISTRHO_PLUGIN_AU_TYPE&#160;&#160;&#160;aufx</td>
  526. </tr>
  527. </table>
  528. </div><div class="memdoc">
  529. <p>The AudioUnit type for a plugin.<br />
  530. This is a 4-character symbol, automatically set by DPF based on other plugin macros. See <a href="https://developer.apple.com/documentation/audiotoolbox/1584142-audio_unit_types">https://developer.apple.com/documentation/audiotoolbox/1584142-audio_unit_types</a> for more information. </p>
  531. </div>
  532. </div>
  533. <a id="ga9c9caf7e3376c9235c3529dbc612a964"></a>
  534. <h2 class="memtitle"><span class="permalink"><a href="#ga9c9caf7e3376c9235c3529dbc612a964">&#9670;&nbsp;</a></span>DISTRHO_PLUGIN_BRAND_ID</h2>
  535. <div class="memitem">
  536. <div class="memproto">
  537. <table class="memname">
  538. <tr>
  539. <td class="memname">#define DISTRHO_PLUGIN_BRAND_ID&#160;&#160;&#160;Dstr</td>
  540. </tr>
  541. </table>
  542. </div><div class="memdoc">
  543. <p>A 4-character symbol that identifies a brand or manufacturer, with at least one non-lower case character.<br />
  544. Plugins from the same brand should use the same symbol. </p><dl class="section note"><dt>Note</dt><dd>This macro is required when building AU plugins, and used for VST3 if present </dd>
  545. <dd>
  546. Setting this macro will change the uid of a VST3 plugin. If you already released a DPF-based VST3 plugin make sure to also enable DPF_VST3_DONT_USE_BRAND_ID </dd></dl>
  547. </div>
  548. </div>
  549. <a id="ga096d7684289e65485311a427ad8772f3"></a>
  550. <h2 class="memtitle"><span class="permalink"><a href="#ga096d7684289e65485311a427ad8772f3">&#9670;&nbsp;</a></span>DISTRHO_PLUGIN_UNIQUE_ID</h2>
  551. <div class="memitem">
  552. <div class="memproto">
  553. <table class="memname">
  554. <tr>
  555. <td class="memname">#define DISTRHO_PLUGIN_UNIQUE_ID&#160;&#160;&#160;test</td>
  556. </tr>
  557. </table>
  558. </div><div class="memdoc">
  559. <p>A 4-character symbol which identifies a plugin.<br />
  560. It must be unique within at least a set of plugins from the brand. </p><dl class="section note"><dt>Note</dt><dd>This macro is required when building AU plugins </dd></dl>
  561. </div>
  562. </div>
  563. <a id="ga97bd6556fb9fcfc181778edb4fceeeef"></a>
  564. <h2 class="memtitle"><span class="permalink"><a href="#ga97bd6556fb9fcfc181778edb4fceeeef">&#9670;&nbsp;</a></span>DISTRHO_PLUGIN_LV2_CATEGORY</h2>
  565. <div class="memitem">
  566. <div class="memproto">
  567. <table class="memname">
  568. <tr>
  569. <td class="memname">#define DISTRHO_PLUGIN_LV2_CATEGORY&#160;&#160;&#160;&quot;lv2:Plugin&quot;</td>
  570. </tr>
  571. </table>
  572. </div><div class="memdoc">
  573. <p>Custom LV2 category for the plugin.<br />
  574. This is a single string, and can be one of the following values:</p>
  575. <ul>
  576. <li>lv2:AllpassPlugin</li>
  577. <li>lv2:AmplifierPlugin</li>
  578. <li>lv2:AnalyserPlugin</li>
  579. <li>lv2:BandpassPlugin</li>
  580. <li>lv2:ChorusPlugin</li>
  581. <li>lv2:CombPlugin</li>
  582. <li>lv2:CompressorPlugin</li>
  583. <li>lv2:ConstantPlugin</li>
  584. <li>lv2:ConverterPlugin</li>
  585. <li>lv2:DelayPlugin</li>
  586. <li>lv2:DistortionPlugin</li>
  587. <li>lv2:DynamicsPlugin</li>
  588. <li>lv2:EQPlugin</li>
  589. <li>lv2:EnvelopePlugin</li>
  590. <li>lv2:ExpanderPlugin</li>
  591. <li>lv2:FilterPlugin</li>
  592. <li>lv2:FlangerPlugin</li>
  593. <li>lv2:FunctionPlugin</li>
  594. <li>lv2:GatePlugin</li>
  595. <li>lv2:GeneratorPlugin</li>
  596. <li>lv2:HighpassPlugin</li>
  597. <li>lv2:InstrumentPlugin</li>
  598. <li>lv2:LimiterPlugin</li>
  599. <li>lv2:LowpassPlugin</li>
  600. <li>lv2:MIDIPlugin</li>
  601. <li>lv2:MixerPlugin</li>
  602. <li>lv2:ModulatorPlugin</li>
  603. <li>lv2:MultiEQPlugin</li>
  604. <li>lv2:OscillatorPlugin</li>
  605. <li>lv2:ParaEQPlugin</li>
  606. <li>lv2:PhaserPlugin</li>
  607. <li>lv2:PitchPlugin</li>
  608. <li>lv2:ReverbPlugin</li>
  609. <li>lv2:SimulatorPlugin</li>
  610. <li>lv2:SpatialPlugin</li>
  611. <li>lv2:SpectralPlugin</li>
  612. <li>lv2:UtilityPlugin</li>
  613. <li>lv2:WaveshaperPlugin</li>
  614. </ul>
  615. <p>See <a href="http://lv2plug.in/ns/lv2core">http://lv2plug.in/ns/lv2core</a> for more information. </p>
  616. </div>
  617. </div>
  618. <a id="gab5bfd0f8045aa7eedd2ec6f5c9c2d17f"></a>
  619. <h2 class="memtitle"><span class="permalink"><a href="#gab5bfd0f8045aa7eedd2ec6f5c9c2d17f">&#9670;&nbsp;</a></span>DISTRHO_PLUGIN_VST3_CATEGORIES</h2>
  620. <div class="memitem">
  621. <div class="memproto">
  622. <table class="memname">
  623. <tr>
  624. <td class="memname">#define DISTRHO_PLUGIN_VST3_CATEGORIES&#160;&#160;&#160;&quot;Fx|Stereo&quot;</td>
  625. </tr>
  626. </table>
  627. </div><div class="memdoc">
  628. <p>Custom VST3 categories for the plugin.<br />
  629. This is a single concatenated string of categories, separated by a <code></code>|.</p>
  630. <p>Each effect category can be one of the following values:</p>
  631. <ul>
  632. <li>Fx</li>
  633. <li>Fx|Ambisonics</li>
  634. <li>Fx|Analyzer</li>
  635. <li>Fx|Delay</li>
  636. <li>Fx|Distortion</li>
  637. <li>Fx|Dynamics</li>
  638. <li>Fx|EQ</li>
  639. <li>Fx|Filter</li>
  640. <li>Fx|Instrument</li>
  641. <li>Fx|Instrument|External</li>
  642. <li>Fx|Spatial</li>
  643. <li>Fx|Generator</li>
  644. <li>Fx|Mastering</li>
  645. <li>Fx|Modulation</li>
  646. <li>Fx|Network</li>
  647. <li>Fx|Pitch Shift</li>
  648. <li>Fx|Restoration</li>
  649. <li>Fx|Reverb</li>
  650. <li>Fx|Surround</li>
  651. <li>Fx|Tools</li>
  652. </ul>
  653. <p>Each instrument category can be one of the following values:</p>
  654. <ul>
  655. <li>Instrument</li>
  656. <li>Instrument|Drum</li>
  657. <li>Instrument|External</li>
  658. <li>Instrument|Piano</li>
  659. <li>Instrument|Sampler</li>
  660. <li>Instrument|Synth</li>
  661. <li>Instrument|Synth|Sampler</li>
  662. </ul>
  663. <p>And extra categories possible for any plugin type:</p>
  664. <ul>
  665. <li>Mono</li>
  666. <li>Stereo </li>
  667. </ul>
  668. </div>
  669. </div>
  670. <a id="gadf0fb4c49c6a9019a63bc52fbc2592f2"></a>
  671. <h2 class="memtitle"><span class="permalink"><a href="#gadf0fb4c49c6a9019a63bc52fbc2592f2">&#9670;&nbsp;</a></span>DISTRHO_PLUGIN_CLAP_FEATURES</h2>
  672. <div class="memitem">
  673. <div class="memproto">
  674. <table class="memname">
  675. <tr>
  676. <td class="memname">#define DISTRHO_PLUGIN_CLAP_FEATURES&#160;&#160;&#160;&quot;audio-effect&quot;, &quot;stereo&quot;</td>
  677. </tr>
  678. </table>
  679. </div><div class="memdoc">
  680. <p>Custom CLAP features for the plugin.<br />
  681. This is a list of features defined as a string array body, without the terminating <code></code>, or nullptr.</p>
  682. <p>A top-level category can be set as feature and be one of the following values:</p>
  683. <ul>
  684. <li>instrument</li>
  685. <li>audio-effect</li>
  686. <li>note-effect</li>
  687. <li>analyzer</li>
  688. </ul>
  689. <p>The following sub-categories can also be set:</p>
  690. <ul>
  691. <li>synthesizer</li>
  692. <li>sampler</li>
  693. <li>drum</li>
  694. <li>drum-machine</li>
  695. <li>filter</li>
  696. <li>phaser</li>
  697. <li>equalizer</li>
  698. <li>de-esser</li>
  699. <li>phase-vocoder</li>
  700. <li>granular</li>
  701. <li>frequency-shifter</li>
  702. <li>pitch-shifter</li>
  703. <li>distortion</li>
  704. <li>transient-shaper</li>
  705. <li>compressor</li>
  706. <li>limiter</li>
  707. <li>flanger</li>
  708. <li>chorus</li>
  709. <li>delay</li>
  710. <li>reverb</li>
  711. <li>tremolo</li>
  712. <li>glitch</li>
  713. <li>utility</li>
  714. <li>pitch-correction</li>
  715. <li>restoration</li>
  716. <li>multi-effects</li>
  717. <li>mixing</li>
  718. <li>mastering</li>
  719. </ul>
  720. <p>And finally the following audio capabilities can be set:</p>
  721. <ul>
  722. <li>mono</li>
  723. <li>stereo</li>
  724. <li>surround</li>
  725. <li>ambisonic </li>
  726. </ul>
  727. </div>
  728. </div>
  729. <a id="gaae12b710ad877c03b2a369e4a5e05140"></a>
  730. <h2 class="memtitle"><span class="permalink"><a href="#gaae12b710ad877c03b2a369e4a5e05140">&#9670;&nbsp;</a></span>DISTRHO_PLUGIN_CLAP_ID</h2>
  731. <div class="memitem">
  732. <div class="memproto">
  733. <table class="memname">
  734. <tr>
  735. <td class="memname">#define DISTRHO_PLUGIN_CLAP_ID&#160;&#160;&#160;&quot;studio.kx.distrho.effect&quot;</td>
  736. </tr>
  737. </table>
  738. </div><div class="memdoc">
  739. <p>The plugin id when exporting in CLAP format, in reverse URI form. </p><dl class="section note"><dt>Note</dt><dd>This macro is required when building CLAP plugins </dd></dl>
  740. </div>
  741. </div>
  742. </div><!-- contents -->
  743. <!-- start footer part -->
  744. <hr class="footer"/><address class="footer"><small>
  745. Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1
  746. </small></address>
  747. </body>
  748. </html>