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.

260 lines
12KB

  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: Audio Port Hints</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="#var-members">Variables</a> </div>
  64. <div class="headertitle">
  65. <div class="title">Audio Port Hints</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="var-members"></a>
  70. Variables</h2></td></tr>
  71. <tr class="memitem:gabcc94d985f256449c7a8d3cd87e3be1c"><td class="memItemLeft" align="right" valign="top">static constexpr const uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__AudioPortHints.html#gabcc94d985f256449c7a8d3cd87e3be1c">kAudioPortIsCV</a> = 0x1</td></tr>
  72. <tr class="separator:gabcc94d985f256449c7a8d3cd87e3be1c"><td class="memSeparator" colspan="2">&#160;</td></tr>
  73. <tr class="memitem:ga69f0b10291219ded938f1d617da83b6c"><td class="memItemLeft" align="right" valign="top">static constexpr const uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__AudioPortHints.html#ga69f0b10291219ded938f1d617da83b6c">kAudioPortIsSidechain</a> = 0x2</td></tr>
  74. <tr class="separator:ga69f0b10291219ded938f1d617da83b6c"><td class="memSeparator" colspan="2">&#160;</td></tr>
  75. <tr class="memitem:ga3a45f2c54093698796ccd2c4cc81df52"><td class="memItemLeft" align="right" valign="top">static constexpr const uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__AudioPortHints.html#ga3a45f2c54093698796ccd2c4cc81df52">kCVPortHasBipolarRange</a> = 0x10</td></tr>
  76. <tr class="separator:ga3a45f2c54093698796ccd2c4cc81df52"><td class="memSeparator" colspan="2">&#160;</td></tr>
  77. <tr class="memitem:gaa3002d9b23a613dcf6a9ab72457d5de6"><td class="memItemLeft" align="right" valign="top">static constexpr const uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__AudioPortHints.html#gaa3002d9b23a613dcf6a9ab72457d5de6">kCVPortHasNegativeUnipolarRange</a> = 0x20</td></tr>
  78. <tr class="separator:gaa3002d9b23a613dcf6a9ab72457d5de6"><td class="memSeparator" colspan="2">&#160;</td></tr>
  79. <tr class="memitem:ga38c419b184512774f70df65a483592f5"><td class="memItemLeft" align="right" valign="top">static constexpr const uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__AudioPortHints.html#ga38c419b184512774f70df65a483592f5">kCVPortHasPositiveUnipolarRange</a> = 0x40</td></tr>
  80. <tr class="separator:ga38c419b184512774f70df65a483592f5"><td class="memSeparator" colspan="2">&#160;</td></tr>
  81. <tr class="memitem:ga4e04785c3970e954164741c2cd359246"><td class="memItemLeft" align="right" valign="top">static constexpr const uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__AudioPortHints.html#ga4e04785c3970e954164741c2cd359246">kCVPortHasScaledRange</a> = 0x80</td></tr>
  82. <tr class="separator:ga4e04785c3970e954164741c2cd359246"><td class="memSeparator" colspan="2">&#160;</td></tr>
  83. <tr class="memitem:ga17a15c61c31e385ab0fdbfdea07d2f07"><td class="memItemLeft" align="right" valign="top">static constexpr const uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__AudioPortHints.html#ga17a15c61c31e385ab0fdbfdea07d2f07">kCVPortIsOptional</a> = 0x100</td></tr>
  84. <tr class="separator:ga17a15c61c31e385ab0fdbfdea07d2f07"><td class="memSeparator" colspan="2">&#160;</td></tr>
  85. </table>
  86. <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
  87. <p>Various audio port hints. </p><dl class="section see"><dt>See also</dt><dd><a class="el" href="structAudioPort.html#af93f38f9ef48ea14544adf32e4b1e513">AudioPort::hints</a> </dd></dl>
  88. <h2 class="groupheader">Variable Documentation</h2>
  89. <a id="gabcc94d985f256449c7a8d3cd87e3be1c"></a>
  90. <h2 class="memtitle"><span class="permalink"><a href="#gabcc94d985f256449c7a8d3cd87e3be1c">&#9670;&nbsp;</a></span>kAudioPortIsCV</h2>
  91. <div class="memitem">
  92. <div class="memproto">
  93. <table class="mlabels">
  94. <tr>
  95. <td class="mlabels-left">
  96. <table class="memname">
  97. <tr>
  98. <td class="memname">constexpr const uint32_t kAudioPortIsCV = 0x1</td>
  99. </tr>
  100. </table>
  101. </td>
  102. <td class="mlabels-right">
  103. <span class="mlabels"><span class="mlabel">static</span><span class="mlabel">constexpr</span></span> </td>
  104. </tr>
  105. </table>
  106. </div><div class="memdoc">
  107. <p>Audio port can be used as control voltage (LV2 and JACK standalone only). </p>
  108. </div>
  109. </div>
  110. <a id="ga69f0b10291219ded938f1d617da83b6c"></a>
  111. <h2 class="memtitle"><span class="permalink"><a href="#ga69f0b10291219ded938f1d617da83b6c">&#9670;&nbsp;</a></span>kAudioPortIsSidechain</h2>
  112. <div class="memitem">
  113. <div class="memproto">
  114. <table class="mlabels">
  115. <tr>
  116. <td class="mlabels-left">
  117. <table class="memname">
  118. <tr>
  119. <td class="memname">constexpr const uint32_t kAudioPortIsSidechain = 0x2</td>
  120. </tr>
  121. </table>
  122. </td>
  123. <td class="mlabels-right">
  124. <span class="mlabels"><span class="mlabel">static</span><span class="mlabel">constexpr</span></span> </td>
  125. </tr>
  126. </table>
  127. </div><div class="memdoc">
  128. <p>Audio port should be used as sidechan (LV2 and VST3 only). This hint should not be used with CV style ports. </p><dl class="section note"><dt>Note</dt><dd>non-sidechain audio ports must exist in the plugin if this flag is set. </dd></dl>
  129. </div>
  130. </div>
  131. <a id="ga3a45f2c54093698796ccd2c4cc81df52"></a>
  132. <h2 class="memtitle"><span class="permalink"><a href="#ga3a45f2c54093698796ccd2c4cc81df52">&#9670;&nbsp;</a></span>kCVPortHasBipolarRange</h2>
  133. <div class="memitem">
  134. <div class="memproto">
  135. <table class="mlabels">
  136. <tr>
  137. <td class="mlabels-left">
  138. <table class="memname">
  139. <tr>
  140. <td class="memname">constexpr const uint32_t kCVPortHasBipolarRange = 0x10</td>
  141. </tr>
  142. </table>
  143. </td>
  144. <td class="mlabels-right">
  145. <span class="mlabels"><span class="mlabel">static</span><span class="mlabel">constexpr</span></span> </td>
  146. </tr>
  147. </table>
  148. </div><div class="memdoc">
  149. <p>CV port has bipolar range (-1 to +1, or -5 to +5 if scaled). This is merely a hint to tell the host what value range to expect. </p>
  150. </div>
  151. </div>
  152. <a id="gaa3002d9b23a613dcf6a9ab72457d5de6"></a>
  153. <h2 class="memtitle"><span class="permalink"><a href="#gaa3002d9b23a613dcf6a9ab72457d5de6">&#9670;&nbsp;</a></span>kCVPortHasNegativeUnipolarRange</h2>
  154. <div class="memitem">
  155. <div class="memproto">
  156. <table class="mlabels">
  157. <tr>
  158. <td class="mlabels-left">
  159. <table class="memname">
  160. <tr>
  161. <td class="memname">constexpr const uint32_t kCVPortHasNegativeUnipolarRange = 0x20</td>
  162. </tr>
  163. </table>
  164. </td>
  165. <td class="mlabels-right">
  166. <span class="mlabels"><span class="mlabel">static</span><span class="mlabel">constexpr</span></span> </td>
  167. </tr>
  168. </table>
  169. </div><div class="memdoc">
  170. <p>CV port has negative unipolar range (-1 to 0, or -10 to 0 if scaled). This is merely a hint to tell the host what value range to expect. </p>
  171. </div>
  172. </div>
  173. <a id="ga38c419b184512774f70df65a483592f5"></a>
  174. <h2 class="memtitle"><span class="permalink"><a href="#ga38c419b184512774f70df65a483592f5">&#9670;&nbsp;</a></span>kCVPortHasPositiveUnipolarRange</h2>
  175. <div class="memitem">
  176. <div class="memproto">
  177. <table class="mlabels">
  178. <tr>
  179. <td class="mlabels-left">
  180. <table class="memname">
  181. <tr>
  182. <td class="memname">constexpr const uint32_t kCVPortHasPositiveUnipolarRange = 0x40</td>
  183. </tr>
  184. </table>
  185. </td>
  186. <td class="mlabels-right">
  187. <span class="mlabels"><span class="mlabel">static</span><span class="mlabel">constexpr</span></span> </td>
  188. </tr>
  189. </table>
  190. </div><div class="memdoc">
  191. <p>CV port has positive unipolar range (0 to +1, or 0 to +10 if scaled). This is merely a hint to tell the host what value range to expect. </p>
  192. </div>
  193. </div>
  194. <a id="ga4e04785c3970e954164741c2cd359246"></a>
  195. <h2 class="memtitle"><span class="permalink"><a href="#ga4e04785c3970e954164741c2cd359246">&#9670;&nbsp;</a></span>kCVPortHasScaledRange</h2>
  196. <div class="memitem">
  197. <div class="memproto">
  198. <table class="mlabels">
  199. <tr>
  200. <td class="mlabels-left">
  201. <table class="memname">
  202. <tr>
  203. <td class="memname">constexpr const uint32_t kCVPortHasScaledRange = 0x80</td>
  204. </tr>
  205. </table>
  206. </td>
  207. <td class="mlabels-right">
  208. <span class="mlabels"><span class="mlabel">static</span><span class="mlabel">constexpr</span></span> </td>
  209. </tr>
  210. </table>
  211. </div><div class="memdoc">
  212. <p>CV port has scaled range to match real values (-5 to +5v bipolar, +/-10 to 0v unipolar). One other range flag is required if this flag is set.</p>
  213. <p>When enabled, this makes the port a mod:CVPort, compatible with the MOD Devices platform. </p>
  214. </div>
  215. </div>
  216. <a id="ga17a15c61c31e385ab0fdbfdea07d2f07"></a>
  217. <h2 class="memtitle"><span class="permalink"><a href="#ga17a15c61c31e385ab0fdbfdea07d2f07">&#9670;&nbsp;</a></span>kCVPortIsOptional</h2>
  218. <div class="memitem">
  219. <div class="memproto">
  220. <table class="mlabels">
  221. <tr>
  222. <td class="mlabels-left">
  223. <table class="memname">
  224. <tr>
  225. <td class="memname">constexpr const uint32_t kCVPortIsOptional = 0x100</td>
  226. </tr>
  227. </table>
  228. </td>
  229. <td class="mlabels-right">
  230. <span class="mlabels"><span class="mlabel">static</span><span class="mlabel">constexpr</span></span> </td>
  231. </tr>
  232. </table>
  233. </div><div class="memdoc">
  234. <p>CV port is optional, allowing hosts that do no CV ports to load the plugin. When loaded in hosts that don't support CV, the float* buffer for this port will be null. </p>
  235. </div>
  236. </div>
  237. </div><!-- contents -->
  238. <!-- start footer part -->
  239. <hr class="footer"/><address class="footer"><small>
  240. 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
  241. </small></address>
  242. </body>
  243. </html>