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.

417 lines
24KB

  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://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.8.13"/>
  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.8.13 -->
  33. <script type="text/javascript">
  34. var searchBox = new SearchBox("searchBox", "search",false,'Search');
  35. </script>
  36. <script type="text/javascript" src="menudata.js"></script>
  37. <script type="text/javascript" src="menu.js"></script>
  38. <script type="text/javascript">
  39. $(function() {
  40. initMenu('',true,false,'search.php','Search');
  41. $(document).ready(function() { init_search(); });
  42. });
  43. </script>
  44. <div id="main-nav"></div>
  45. </div><!-- top -->
  46. <!-- window showing the filter options -->
  47. <div id="MSearchSelectWindow"
  48. onmouseover="return searchBox.OnSearchSelectShow()"
  49. onmouseout="return searchBox.OnSearchSelectHide()"
  50. onkeydown="return searchBox.OnSearchSelectKey(event)">
  51. </div>
  52. <!-- iframe showing the search results (closed by default) -->
  53. <div id="MSearchResultsWindow">
  54. <iframe src="javascript:void(0)" frameborder="0"
  55. name="MSearchResults" id="MSearchResults">
  56. </iframe>
  57. </div>
  58. <div class="header">
  59. <div class="summary">
  60. <a href="#define-members">Macros</a> </div>
  61. <div class="headertitle">
  62. <div class="title">Plugin Macros</div> </div>
  63. </div><!--header-->
  64. <div class="contents">
  65. <table class="memberdecls">
  66. <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
  67. Macros</h2></td></tr>
  68. <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>
  69. <tr class="separator:ga888482a9f695c2ca2f433e5f3172dcc4"><td class="memSeparator" colspan="2">&#160;</td></tr>
  70. <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>
  71. <tr class="separator:ga5f4f3d9a5dc3c23882d158e636319998"><td class="memSeparator" colspan="2">&#160;</td></tr>
  72. <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>
  73. <tr class="separator:ga917195804ebcb2bb48c9fad52b20b3ca"><td class="memSeparator" colspan="2">&#160;</td></tr>
  74. <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>
  75. <tr class="separator:ga9cc186448134e6a1956474b3878c97a8"><td class="memSeparator" colspan="2">&#160;</td></tr>
  76. <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>
  77. <tr class="separator:gacf8a1af679c09637ba0bdc5f4f8e37dd"><td class="memSeparator" colspan="2">&#160;</td></tr>
  78. <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>
  79. <tr class="separator:ga82546dd199fcea338b113f2f6da84ced"><td class="memSeparator" colspan="2">&#160;</td></tr>
  80. <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>
  81. <tr class="separator:ga854bde6b6fdb0d47182149dbab0fed72"><td class="memSeparator" colspan="2">&#160;</td></tr>
  82. <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>
  83. <tr class="separator:gac6873a3950f52f3fde8e386af63b69a1"><td class="memSeparator" colspan="2">&#160;</td></tr>
  84. <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>
  85. <tr class="separator:gad6b0ebf10e048f4742f29735da4d4930"><td class="memSeparator" colspan="2">&#160;</td></tr>
  86. <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>
  87. <tr class="separator:gadf2e2eb7550e4116001c816adfb04a70"><td class="memSeparator" colspan="2">&#160;</td></tr>
  88. <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>
  89. <tr class="separator:ga548522eb91344a45841a5a95ff4f8073"><td class="memSeparator" colspan="2">&#160;</td></tr>
  90. <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>
  91. <tr class="separator:gad95e24b17f196260cee15255fdb5b677"><td class="memSeparator" colspan="2">&#160;</td></tr>
  92. <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>
  93. <tr class="separator:ga255f43cc0997af8b56abcca260c875e0"><td class="memSeparator" colspan="2">&#160;</td></tr>
  94. <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>
  95. <tr class="separator:gac022d3d0a8782d632d7a801bc9cf721e"><td class="memSeparator" colspan="2">&#160;</td></tr>
  96. <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>
  97. <tr class="separator:ga496610b956d931b1940d07da48d123f2"><td class="memSeparator" colspan="2">&#160;</td></tr>
  98. <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>
  99. <tr class="separator:gad49e79936a2aa5afa089cbc051426ccd"><td class="memSeparator" colspan="2">&#160;</td></tr>
  100. <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>
  101. <tr class="separator:gabadb9d9ba7f479df39b3963ee60b7a4b"><td class="memSeparator" colspan="2">&#160;</td></tr>
  102. <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>
  103. <tr class="separator:ga420a88022da249b9f38a6046998dbd7c"><td class="memSeparator" colspan="2">&#160;</td></tr>
  104. </table>
  105. <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
  106. <p>C Macros that describe your plugin. (defined in the "DistrhoPluginInfo.h" file)</p>
  107. <p>With these macros you can tell the host what features your plugin requires.<br />
  108. Depending on which macros you enable, new functions will be available to call and/or override.</p>
  109. <p>All values are either integer or strings.<br />
  110. For boolean-like values 1 means 'on' and 0 means 'off'.</p>
  111. <p>The values defined in this group are for documentation purposes only.<br />
  112. All macros are disabled by default.</p>
  113. <p>Only 4 macros are required, they are:</p><ul>
  114. <li><a class="el" href="group__PluginMacros.html#ga888482a9f695c2ca2f433e5f3172dcc4">DISTRHO_PLUGIN_NAME</a></li>
  115. <li><a class="el" href="group__PluginMacros.html#ga5f4f3d9a5dc3c23882d158e636319998">DISTRHO_PLUGIN_NUM_INPUTS</a></li>
  116. <li><a class="el" href="group__PluginMacros.html#ga917195804ebcb2bb48c9fad52b20b3ca">DISTRHO_PLUGIN_NUM_OUTPUTS</a></li>
  117. <li><a class="el" href="group__PluginMacros.html#ga9cc186448134e6a1956474b3878c97a8">DISTRHO_PLUGIN_URI</a> </li>
  118. </ul>
  119. <h2 class="groupheader">Macro Definition Documentation</h2>
  120. <a id="ga888482a9f695c2ca2f433e5f3172dcc4"></a>
  121. <h2 class="memtitle"><span class="permalink"><a href="#ga888482a9f695c2ca2f433e5f3172dcc4">&#9670;&nbsp;</a></span>DISTRHO_PLUGIN_NAME</h2>
  122. <div class="memitem">
  123. <div class="memproto">
  124. <table class="memname">
  125. <tr>
  126. <td class="memname">#define DISTRHO_PLUGIN_NAME&#160;&#160;&#160;&quot;Plugin Name&quot;</td>
  127. </tr>
  128. </table>
  129. </div><div class="memdoc">
  130. <p>The plugin name.<br />
  131. 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>
  132. </div>
  133. </div>
  134. <a id="ga5f4f3d9a5dc3c23882d158e636319998"></a>
  135. <h2 class="memtitle"><span class="permalink"><a href="#ga5f4f3d9a5dc3c23882d158e636319998">&#9670;&nbsp;</a></span>DISTRHO_PLUGIN_NUM_INPUTS</h2>
  136. <div class="memitem">
  137. <div class="memproto">
  138. <table class="memname">
  139. <tr>
  140. <td class="memname">#define DISTRHO_PLUGIN_NUM_INPUTS&#160;&#160;&#160;2</td>
  141. </tr>
  142. </table>
  143. </div><div class="memdoc">
  144. <p>Number of audio inputs the plugin has. </p><dl class="section note"><dt>Note</dt><dd>This macro is required. </dd></dl>
  145. </div>
  146. </div>
  147. <a id="ga917195804ebcb2bb48c9fad52b20b3ca"></a>
  148. <h2 class="memtitle"><span class="permalink"><a href="#ga917195804ebcb2bb48c9fad52b20b3ca">&#9670;&nbsp;</a></span>DISTRHO_PLUGIN_NUM_OUTPUTS</h2>
  149. <div class="memitem">
  150. <div class="memproto">
  151. <table class="memname">
  152. <tr>
  153. <td class="memname">#define DISTRHO_PLUGIN_NUM_OUTPUTS&#160;&#160;&#160;2</td>
  154. </tr>
  155. </table>
  156. </div><div class="memdoc">
  157. <p>Number of audio outputs the plugin has. </p><dl class="section note"><dt>Note</dt><dd>This macro is required. </dd></dl>
  158. </div>
  159. </div>
  160. <a id="ga9cc186448134e6a1956474b3878c97a8"></a>
  161. <h2 class="memtitle"><span class="permalink"><a href="#ga9cc186448134e6a1956474b3878c97a8">&#9670;&nbsp;</a></span>DISTRHO_PLUGIN_URI</h2>
  162. <div class="memitem">
  163. <div class="memproto">
  164. <table class="memname">
  165. <tr>
  166. <td class="memname">#define DISTRHO_PLUGIN_URI&#160;&#160;&#160;&quot;urn:distrho:name&quot;</td>
  167. </tr>
  168. </table>
  169. </div><div class="memdoc">
  170. <p>The plugin URI when exporting in LV2 format. </p><dl class="section note"><dt>Note</dt><dd>This macro is required. </dd></dl>
  171. </div>
  172. </div>
  173. <a id="gacf8a1af679c09637ba0bdc5f4f8e37dd"></a>
  174. <h2 class="memtitle"><span class="permalink"><a href="#gacf8a1af679c09637ba0bdc5f4f8e37dd">&#9670;&nbsp;</a></span>DISTRHO_PLUGIN_HAS_UI</h2>
  175. <div class="memitem">
  176. <div class="memproto">
  177. <table class="memname">
  178. <tr>
  179. <td class="memname">#define DISTRHO_PLUGIN_HAS_UI&#160;&#160;&#160;1</td>
  180. </tr>
  181. </table>
  182. </div><div class="memdoc">
  183. <p>Wherever 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>
  184. <dd>
  185. <a class="el" href="classUI.html">UI</a> </dd></dl>
  186. </div>
  187. </div>
  188. <a id="ga82546dd199fcea338b113f2f6da84ced"></a>
  189. <h2 class="memtitle"><span class="permalink"><a href="#ga82546dd199fcea338b113f2f6da84ced">&#9670;&nbsp;</a></span>DISTRHO_PLUGIN_IS_RT_SAFE</h2>
  190. <div class="memitem">
  191. <div class="memproto">
  192. <table class="memname">
  193. <tr>
  194. <td class="memname">#define DISTRHO_PLUGIN_IS_RT_SAFE&#160;&#160;&#160;1</td>
  195. </tr>
  196. </table>
  197. </div><div class="memdoc">
  198. <p>Wherever the plugin processing is realtime-safe.<br />
  199. TODO - list rtsafe requirements </p>
  200. </div>
  201. </div>
  202. <a id="ga854bde6b6fdb0d47182149dbab0fed72"></a>
  203. <h2 class="memtitle"><span class="permalink"><a href="#ga854bde6b6fdb0d47182149dbab0fed72">&#9670;&nbsp;</a></span>DISTRHO_PLUGIN_IS_SYNTH</h2>
  204. <div class="memitem">
  205. <div class="memproto">
  206. <table class="memname">
  207. <tr>
  208. <td class="memname">#define DISTRHO_PLUGIN_IS_SYNTH&#160;&#160;&#160;1</td>
  209. </tr>
  210. </table>
  211. </div><div class="memdoc">
  212. <p>Wherever the plugin is a synth.<br />
  213. <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>
  214. </div>
  215. </div>
  216. <a id="gac6873a3950f52f3fde8e386af63b69a1"></a>
  217. <h2 class="memtitle"><span class="permalink"><a href="#gac6873a3950f52f3fde8e386af63b69a1">&#9670;&nbsp;</a></span>DISTRHO_PLUGIN_WANT_DIRECT_ACCESS</h2>
  218. <div class="memitem">
  219. <div class="memproto">
  220. <table class="memname">
  221. <tr>
  222. <td class="memname">#define DISTRHO_PLUGIN_WANT_DIRECT_ACCESS&#160;&#160;&#160;0</td>
  223. </tr>
  224. </table>
  225. </div><div class="memdoc">
  226. <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>
  227. <dl class="section note"><dt>Note</dt><dd>DO NOT USE THIS UNLESS STRICTLY NECESSARY!! Try to avoid it at all costs! </dd></dl>
  228. </div>
  229. </div>
  230. <a id="gad6b0ebf10e048f4742f29735da4d4930"></a>
  231. <h2 class="memtitle"><span class="permalink"><a href="#gad6b0ebf10e048f4742f29735da4d4930">&#9670;&nbsp;</a></span>DISTRHO_PLUGIN_WANT_LATENCY</h2>
  232. <div class="memitem">
  233. <div class="memproto">
  234. <table class="memname">
  235. <tr>
  236. <td class="memname">#define DISTRHO_PLUGIN_WANT_LATENCY&#160;&#160;&#160;1</td>
  237. </tr>
  238. </table>
  239. </div><div class="memdoc">
  240. <p>Wherever 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>
  241. </div>
  242. </div>
  243. <a id="gadf2e2eb7550e4116001c816adfb04a70"></a>
  244. <h2 class="memtitle"><span class="permalink"><a href="#gadf2e2eb7550e4116001c816adfb04a70">&#9670;&nbsp;</a></span>DISTRHO_PLUGIN_WANT_MIDI_INPUT</h2>
  245. <div class="memitem">
  246. <div class="memproto">
  247. <table class="memname">
  248. <tr>
  249. <td class="memname">#define DISTRHO_PLUGIN_WANT_MIDI_INPUT&#160;&#160;&#160;1</td>
  250. </tr>
  251. </table>
  252. </div><div class="memdoc">
  253. <p>Wherever the plugin wants MIDI input.<br />
  254. This is automatically enabled if <a class="el" href="group__PluginMacros.html#ga854bde6b6fdb0d47182149dbab0fed72">DISTRHO_PLUGIN_IS_SYNTH</a> is true. </p>
  255. </div>
  256. </div>
  257. <a id="ga548522eb91344a45841a5a95ff4f8073"></a>
  258. <h2 class="memtitle"><span class="permalink"><a href="#ga548522eb91344a45841a5a95ff4f8073">&#9670;&nbsp;</a></span>DISTRHO_PLUGIN_WANT_MIDI_OUTPUT</h2>
  259. <div class="memitem">
  260. <div class="memproto">
  261. <table class="memname">
  262. <tr>
  263. <td class="memname">#define DISTRHO_PLUGIN_WANT_MIDI_OUTPUT&#160;&#160;&#160;1</td>
  264. </tr>
  265. </table>
  266. </div><div class="memdoc">
  267. <p>Wherever 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>
  268. </div>
  269. </div>
  270. <a id="gad95e24b17f196260cee15255fdb5b677"></a>
  271. <h2 class="memtitle"><span class="permalink"><a href="#gad95e24b17f196260cee15255fdb5b677">&#9670;&nbsp;</a></span>DISTRHO_PLUGIN_WANT_PROGRAMS</h2>
  272. <div class="memitem">
  273. <div class="memproto">
  274. <table class="memname">
  275. <tr>
  276. <td class="memname">#define DISTRHO_PLUGIN_WANT_PROGRAMS&#160;&#160;&#160;1</td>
  277. </tr>
  278. </table>
  279. </div><div class="memdoc">
  280. <p>Wherever 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>
  281. <dd>
  282. <a class="el" href="classPlugin.html#ab629f35c60406d6f2c0b9d530e67cf09">Plugin::loadProgram(uint32_t)</a> </dd></dl>
  283. </div>
  284. </div>
  285. <a id="ga255f43cc0997af8b56abcca260c875e0"></a>
  286. <h2 class="memtitle"><span class="permalink"><a href="#ga255f43cc0997af8b56abcca260c875e0">&#9670;&nbsp;</a></span>DISTRHO_PLUGIN_WANT_STATE</h2>
  287. <div class="memitem">
  288. <div class="memproto">
  289. <table class="memname">
  290. <tr>
  291. <td class="memname">#define DISTRHO_PLUGIN_WANT_STATE&#160;&#160;&#160;1</td>
  292. </tr>
  293. </table>
  294. </div><div class="memdoc">
  295. <p>Wherever 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&amp;, String&amp;)</a> </dd>
  296. <dd>
  297. <a class="el" href="classPlugin.html#ad25ed64a2f00f48c86d2ae0016ea3e59">Plugin::setState(const char*, const char*)</a> </dd></dl>
  298. </div>
  299. </div>
  300. <a id="gac022d3d0a8782d632d7a801bc9cf721e"></a>
  301. <h2 class="memtitle"><span class="permalink"><a href="#gac022d3d0a8782d632d7a801bc9cf721e">&#9670;&nbsp;</a></span>DISTRHO_PLUGIN_WANT_FULL_STATE</h2>
  302. <div class="memitem">
  303. <div class="memproto">
  304. <table class="memname">
  305. <tr>
  306. <td class="memname">#define DISTRHO_PLUGIN_WANT_FULL_STATE&#160;&#160;&#160;1</td>
  307. </tr>
  308. </table>
  309. </div><div class="memdoc">
  310. <p>Wherever 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>
  311. <dl class="section see"><dt>See also</dt><dd>Plugin::getState(const char*) </dd></dl>
  312. </div>
  313. </div>
  314. <a id="ga496610b956d931b1940d07da48d123f2"></a>
  315. <h2 class="memtitle"><span class="permalink"><a href="#ga496610b956d931b1940d07da48d123f2">&#9670;&nbsp;</a></span>DISTRHO_PLUGIN_WANT_TIMEPOS</h2>
  316. <div class="memitem">
  317. <div class="memproto">
  318. <table class="memname">
  319. <tr>
  320. <td class="memname">#define DISTRHO_PLUGIN_WANT_TIMEPOS&#160;&#160;&#160;1</td>
  321. </tr>
  322. </table>
  323. </div><div class="memdoc">
  324. <p>Wherever 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>
  325. </div>
  326. </div>
  327. <a id="gad49e79936a2aa5afa089cbc051426ccd"></a>
  328. <h2 class="memtitle"><span class="permalink"><a href="#gad49e79936a2aa5afa089cbc051426ccd">&#9670;&nbsp;</a></span>DISTRHO_UI_USE_NANOVG</h2>
  329. <div class="memitem">
  330. <div class="memproto">
  331. <table class="memname">
  332. <tr>
  333. <td class="memname">#define DISTRHO_UI_USE_NANOVG&#160;&#160;&#160;1</td>
  334. </tr>
  335. </table>
  336. </div><div class="memdoc">
  337. <p>Wherever the UI uses <a class="el" href="classNanoVG.html">NanoVG</a> for drawing instead of the default raw OpenGL calls.<br />
  338. When enabled your UI instance will subclass <a class="el" href="classNanoWidget.html">NanoWidget</a> instead of <a class="el" href="classWidget.html">Widget</a>. </p>
  339. </div>
  340. </div>
  341. <a id="gabadb9d9ba7f479df39b3963ee60b7a4b"></a>
  342. <h2 class="memtitle"><span class="permalink"><a href="#gabadb9d9ba7f479df39b3963ee60b7a4b">&#9670;&nbsp;</a></span>DISTRHO_UI_USER_RESIZABLE</h2>
  343. <div class="memitem">
  344. <div class="memproto">
  345. <table class="memname">
  346. <tr>
  347. <td class="memname">#define DISTRHO_UI_USER_RESIZABLE&#160;&#160;&#160;1</td>
  348. </tr>
  349. </table>
  350. </div><div class="memdoc">
  351. <p>Wherever the UI is resizable to any size by the user.<br />
  352. By default this is false, and resizing is only allowed under the plugin <a class="el" href="classUI.html">UI</a> control,<br />
  353. 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>
  354. </div>
  355. </div>
  356. <a id="ga420a88022da249b9f38a6046998dbd7c"></a>
  357. <h2 class="memtitle"><span class="permalink"><a href="#ga420a88022da249b9f38a6046998dbd7c">&#9670;&nbsp;</a></span>DISTRHO_UI_URI</h2>
  358. <div class="memitem">
  359. <div class="memproto">
  360. <table class="memname">
  361. <tr>
  362. <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>
  363. </tr>
  364. </table>
  365. </div><div class="memdoc">
  366. <p>The UI URI when exporting in LV2 format.<br />
  367. By default this is set to <a class="el" href="group__PluginMacros.html#ga9cc186448134e6a1956474b3878c97a8">DISTRHO_PLUGIN_URI</a> with "#UI" as suffix. </p>
  368. </div>
  369. </div>
  370. </div><!-- contents -->
  371. <!-- start footer part -->
  372. <hr class="footer"/><address class="footer"><small>
  373. Generated on Sun Apr 7 2019 05:47:58 for DISTRHO Plugin Framework by &#160;<a href="http://www.doxygen.org/index.html">
  374. <img class="footer" src="doxygen.png" alt="doxygen"/>
  375. </a> 1.8.13
  376. </small></address>
  377. </body>
  378. </html>