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.

163 lines
8.7KB

  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: Namespace 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">Namespace 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:gad4d95edc702f6066ba2f41740f7e5393"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NamespaceMacros.html#gad4d95edc702f6066ba2f41740f7e5393">DISTRHO_NAMESPACE</a>&#160;&#160;&#160;DISTRHO</td></tr>
  72. <tr class="separator:gad4d95edc702f6066ba2f41740f7e5393"><td class="memSeparator" colspan="2">&#160;</td></tr>
  73. <tr class="memitem:gac4cb97c393d20c28ba19365d844341cd"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NamespaceMacros.html#gac4cb97c393d20c28ba19365d844341cd">START_NAMESPACE_DISTRHO</a>&#160;&#160;&#160;namespace <a class="el" href="group__NamespaceMacros.html#gad4d95edc702f6066ba2f41740f7e5393">DISTRHO_NAMESPACE</a> {</td></tr>
  74. <tr class="separator:gac4cb97c393d20c28ba19365d844341cd"><td class="memSeparator" colspan="2">&#160;</td></tr>
  75. <tr class="memitem:ga3ff541a449593e069a29e92d21e38ef3"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NamespaceMacros.html#ga3ff541a449593e069a29e92d21e38ef3">END_NAMESPACE_DISTRHO</a>&#160;&#160;&#160;}</td></tr>
  76. <tr class="separator:ga3ff541a449593e069a29e92d21e38ef3"><td class="memSeparator" colspan="2">&#160;</td></tr>
  77. <tr class="memitem:gadcd7e7d900fbae0fa1a71d6fbab4d59c"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NamespaceMacros.html#gadcd7e7d900fbae0fa1a71d6fbab4d59c">USE_NAMESPACE_DISTRHO</a>&#160;&#160;&#160;using namespace <a class="el" href="group__NamespaceMacros.html#gad4d95edc702f6066ba2f41740f7e5393">DISTRHO_NAMESPACE</a>;</td></tr>
  78. <tr class="separator:gadcd7e7d900fbae0fa1a71d6fbab4d59c"><td class="memSeparator" colspan="2">&#160;</td></tr>
  79. </table>
  80. <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
  81. <p>C Macros to use and customize DPF namespaces.</p>
  82. <p>These are macros that serve as helpers around C++ namespaces, and also as a way to set custom namespaces during a build. </p>
  83. <h2 class="groupheader">Macro Definition Documentation</h2>
  84. <a id="gad4d95edc702f6066ba2f41740f7e5393"></a>
  85. <h2 class="memtitle"><span class="permalink"><a href="#gad4d95edc702f6066ba2f41740f7e5393">&#9670;&nbsp;</a></span>DISTRHO_NAMESPACE</h2>
  86. <div class="memitem">
  87. <div class="memproto">
  88. <table class="memname">
  89. <tr>
  90. <td class="memname">#define DISTRHO_NAMESPACE&#160;&#160;&#160;DISTRHO</td>
  91. </tr>
  92. </table>
  93. </div><div class="memdoc">
  94. <p>Compiler macro that sets the C++ namespace for DPF plugins.<br />
  95. If unset during build, it will use the name <b>DISTRHO</b> by default.</p>
  96. <p>Unless you know exactly what you are doing, you do need to modify this value.<br />
  97. The only probable useful case for customizing it is if you are building a big collection of very similar DPF-based plugins in your application.<br />
  98. For example, having 2 different versions of the same plugin that should behave differently but still exist within the same binary.</p>
  99. <p>On macOS (where due to Objective-C restrictions all code that interacts with Cocoa needs to be in a flat namespace), DPF will automatically use the plugin name as prefix to flat namespace functions in order to avoid conflicts.</p>
  100. <p>So, basically, it is DPF's job to make sure plugin binaries are 100% usable as-is.<br />
  101. You typically do not need to care about this at all. </p>
  102. </div>
  103. </div>
  104. <a id="gac4cb97c393d20c28ba19365d844341cd"></a>
  105. <h2 class="memtitle"><span class="permalink"><a href="#gac4cb97c393d20c28ba19365d844341cd">&#9670;&nbsp;</a></span>START_NAMESPACE_DISTRHO</h2>
  106. <div class="memitem">
  107. <div class="memproto">
  108. <table class="memname">
  109. <tr>
  110. <td class="memname">#define START_NAMESPACE_DISTRHO&#160;&#160;&#160;namespace <a class="el" href="group__NamespaceMacros.html#gad4d95edc702f6066ba2f41740f7e5393">DISTRHO_NAMESPACE</a> {</td>
  111. </tr>
  112. </table>
  113. </div><div class="memdoc">
  114. <p>Compiler macro that begins the C++ namespace for <b>DISTRHO</b>, as needed for (the DSP side of) plugins.<br />
  115. All classes in DPF are within this namespace except for UI/graphics stuff. </p><dl class="section see"><dt>See also</dt><dd><a class="el" href="group__NamespaceMacros.html#ga3ff541a449593e069a29e92d21e38ef3">END_NAMESPACE_DISTRHO</a> </dd></dl>
  116. </div>
  117. </div>
  118. <a id="ga3ff541a449593e069a29e92d21e38ef3"></a>
  119. <h2 class="memtitle"><span class="permalink"><a href="#ga3ff541a449593e069a29e92d21e38ef3">&#9670;&nbsp;</a></span>END_NAMESPACE_DISTRHO</h2>
  120. <div class="memitem">
  121. <div class="memproto">
  122. <table class="memname">
  123. <tr>
  124. <td class="memname">#define END_NAMESPACE_DISTRHO&#160;&#160;&#160;}</td>
  125. </tr>
  126. </table>
  127. </div><div class="memdoc">
  128. <p>Close the namespace previously started by START_NAMESPACE_DISTRHO.<br />
  129. This doesn't really need to be a macro, it is just prettier/more consistent that way. </p>
  130. </div>
  131. </div>
  132. <a id="gadcd7e7d900fbae0fa1a71d6fbab4d59c"></a>
  133. <h2 class="memtitle"><span class="permalink"><a href="#gadcd7e7d900fbae0fa1a71d6fbab4d59c">&#9670;&nbsp;</a></span>USE_NAMESPACE_DISTRHO</h2>
  134. <div class="memitem">
  135. <div class="memproto">
  136. <table class="memname">
  137. <tr>
  138. <td class="memname">#define USE_NAMESPACE_DISTRHO&#160;&#160;&#160;using namespace <a class="el" href="group__NamespaceMacros.html#gad4d95edc702f6066ba2f41740f7e5393">DISTRHO_NAMESPACE</a>;</td>
  139. </tr>
  140. </table>
  141. </div><div class="memdoc">
  142. <p>Make the <b>DISTRHO</b> namespace available in the current function scope.<br />
  143. This is not set by default in order to avoid conflicts with commonly used names such as "Parameter" and "Plugin". </p>
  144. </div>
  145. </div>
  146. </div><!-- contents -->
  147. <!-- start footer part -->
  148. <hr class="footer"/><address class="footer"><small>
  149. 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
  150. </small></address>
  151. </body>
  152. </html>