Browse Source

Initial push of DPF docs

gh-pages
falkTX 10 years ago
parent
commit
1bf6b55edf
100 changed files with 8116 additions and 0 deletions
  1. +970
    -0
      DistrhoPlugin_8hpp_source.html
  2. +311
    -0
      DistrhoUI_8hpp_source.html
  3. +300
    -0
      DistrhoUtils_8hpp_source.html
  4. +108
    -0
      annotated.html
  5. BIN
      bc_s.png
  6. BIN
      bdwn.png
  7. +126
    -0
      classPlugin-members.html
  8. +888
    -0
      classPlugin.html
  9. +118
    -0
      classUI-members.html
  10. +611
    -0
      classUI.html
  11. BIN
      classUI.png
  12. +113
    -0
      classes.html
  13. BIN
      closed.png
  14. +107
    -0
      dir_37257469cca17bab24b582e18a78eb75.html
  15. +1440
    -0
      doxygen.css
  16. BIN
      doxygen.png
  17. BIN
      doxygen_sqlite3.db
  18. +97
    -0
      dynsections.js
  19. +102
    -0
      files.html
  20. BIN
      ftv2blank.png
  21. BIN
      ftv2doc.png
  22. BIN
      ftv2folderclosed.png
  23. BIN
      ftv2folderopen.png
  24. BIN
      ftv2lastnode.png
  25. BIN
      ftv2link.png
  26. BIN
      ftv2mlastnode.png
  27. BIN
      ftv2mnode.png
  28. BIN
      ftv2node.png
  29. BIN
      ftv2plastnode.png
  30. BIN
      ftv2pnode.png
  31. BIN
      ftv2splitbar.png
  32. BIN
      ftv2vertline.png
  33. +396
    -0
      functions.html
  34. +294
    -0
      functions_func.html
  35. +169
    -0
      functions_vars.html
  36. +106
    -0
      group__BaseStructs.html
  37. +237
    -0
      group__ParameterHints.html
  38. +363
    -0
      group__PluginMacros.html
  39. +109
    -0
      hierarchy.html
  40. +100
    -0
      index.html
  41. +31
    -0
      jquery.js
  42. +96
    -0
      modules.html
  43. BIN
      nav_f.png
  44. BIN
      nav_g.png
  45. BIN
      nav_h.png
  46. BIN
      open.png
  47. +26
    -0
      search/all_0.html
  48. +12
    -0
      search/all_0.js
  49. +26
    -0
      search/all_1.html
  50. +54
    -0
      search/all_1.js
  51. +26
    -0
      search/all_2.html
  52. +6
    -0
      search/all_2.js
  53. +26
    -0
      search/all_3.html
  54. +7
    -0
      search/all_3.js
  55. +26
    -0
      search/all_4.html
  56. +4
    -0
      search/all_4.js
  57. +26
    -0
      search/all_5.html
  58. +10
    -0
      search/all_5.js
  59. +26
    -0
      search/all_6.html
  60. +6
    -0
      search/all_6.js
  61. +26
    -0
      search/all_7.html
  62. +4
    -0
      search/all_7.js
  63. +26
    -0
      search/all_8.html
  64. +4
    -0
      search/all_8.js
  65. +26
    -0
      search/all_9.html
  66. +9
    -0
      search/all_9.js
  67. +26
    -0
      search/all_a.html
  68. +4
    -0
      search/all_a.js
  69. +26
    -0
      search/all_b.html
  70. +5
    -0
      search/all_b.js
  71. +26
    -0
      search/all_c.html
  72. +6
    -0
      search/all_c.js
  73. +26
    -0
      search/all_d.html
  74. +5
    -0
      search/all_d.js
  75. +26
    -0
      search/all_e.html
  76. +4
    -0
      search/all_e.js
  77. +26
    -0
      search/all_f.html
  78. +5
    -0
      search/all_f.js
  79. +26
    -0
      search/classes_0.html
  80. +4
    -0
      search/classes_0.js
  81. +26
    -0
      search/classes_1.html
  82. +4
    -0
      search/classes_1.js
  83. +26
    -0
      search/classes_2.html
  84. +6
    -0
      search/classes_2.js
  85. +26
    -0
      search/classes_3.html
  86. +4
    -0
      search/classes_3.js
  87. +26
    -0
      search/classes_4.html
  88. +4
    -0
      search/classes_4.js
  89. BIN
      search/close.png
  90. +26
    -0
      search/functions_0.html
  91. +4
    -0
      search/functions_0.js
  92. +26
    -0
      search/functions_1.html
  93. +35
    -0
      search/functions_1.js
  94. +26
    -0
      search/functions_2.html
  95. +5
    -0
      search/functions_2.js
  96. +26
    -0
      search/functions_3.html
  97. +7
    -0
      search/functions_3.js
  98. +26
    -0
      search/functions_4.html
  99. +4
    -0
      search/functions_4.js
  100. +26
    -0
      search/functions_5.html

+ 970
- 0
DistrhoPlugin_8hpp_source.html View File

@@ -0,0 +1,970 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.8"/>
<title>DISTRHO Plugin Framework: distrho/DistrhoPlugin.hpp Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
$(document).ready(function() { searchBox.OnSelectItem(0); });
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">DISTRHO Plugin Framework
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.8 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
<li>
<div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<img id="MSearchSelect" src="search/mag_sel.png"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
<input type="text" id="MSearchField" value="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
</span>
</div>
</li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="files.html"><span>File&#160;List</span></a></li>
</ul>
</div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Modules</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Pages</a></div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="dir_37257469cca17bab24b582e18a78eb75.html">distrho</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="headertitle">
<div class="title">DistrhoPlugin.hpp</div> </div>
</div><!--header-->
<div class="contents">
<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span>&#160;<span class="comment">/*</span></div>
<div class="line"><a name="l00002"></a><span class="lineno"> 2</span>&#160;<span class="comment"> * DISTRHO Plugin Framework (DPF)</span></div>
<div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160;<span class="comment"> * Copyright (C) 2012-2015 Filipe Coelho &lt;falktx@falktx.com&gt;</span></div>
<div class="line"><a name="l00004"></a><span class="lineno"> 4</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00005"></a><span class="lineno"> 5</span>&#160;<span class="comment"> * Permission to use, copy, modify, and/or distribute this software for any purpose with</span></div>
<div class="line"><a name="l00006"></a><span class="lineno"> 6</span>&#160;<span class="comment"> * or without fee is hereby granted, provided that the above copyright notice and this</span></div>
<div class="line"><a name="l00007"></a><span class="lineno"> 7</span>&#160;<span class="comment"> * permission notice appear in all copies.</span></div>
<div class="line"><a name="l00008"></a><span class="lineno"> 8</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00009"></a><span class="lineno"> 9</span>&#160;<span class="comment"> * THE SOFTWARE IS PROVIDED &quot;AS IS&quot; AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD</span></div>
<div class="line"><a name="l00010"></a><span class="lineno"> 10</span>&#160;<span class="comment"> * TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN</span></div>
<div class="line"><a name="l00011"></a><span class="lineno"> 11</span>&#160;<span class="comment"> * NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL</span></div>
<div class="line"><a name="l00012"></a><span class="lineno"> 12</span>&#160;<span class="comment"> * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER</span></div>
<div class="line"><a name="l00013"></a><span class="lineno"> 13</span>&#160;<span class="comment"> * IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN</span></div>
<div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160;<span class="comment"> * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.</span></div>
<div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00016"></a><span class="lineno"> 16</span>&#160;</div>
<div class="line"><a name="l00017"></a><span class="lineno"> 17</span>&#160;<span class="preprocessor">#ifndef DISTRHO_PLUGIN_HPP_INCLUDED</span></div>
<div class="line"><a name="l00018"></a><span class="lineno"> 18</span>&#160;<span class="preprocessor">#define DISTRHO_PLUGIN_HPP_INCLUDED</span></div>
<div class="line"><a name="l00019"></a><span class="lineno"> 19</span>&#160;</div>
<div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160;<span class="preprocessor">#include &quot;extra/d_string.hpp&quot;</span></div>
<div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160;<span class="preprocessor">#include &quot;src/DistrhoPluginChecks.h&quot;</span></div>
<div class="line"><a name="l00022"></a><span class="lineno"> 22</span>&#160;</div>
<div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160;<span class="preprocessor">#include &lt;cmath&gt;</span></div>
<div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160;</div>
<div class="line"><a name="l00025"></a><span class="lineno"> 25</span>&#160;<span class="preprocessor">#ifdef DISTRHO_PROPER_CPP11_SUPPORT</span></div>
<div class="line"><a name="l00026"></a><span class="lineno"> 26</span>&#160;<span class="preprocessor"># include &lt;cstdint&gt;</span></div>
<div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160;<span class="preprocessor">#else</span></div>
<div class="line"><a name="l00028"></a><span class="lineno"> 28</span>&#160;<span class="preprocessor"># include &lt;stdint.h&gt;</span></div>
<div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160;</div>
<div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160;<span class="preprocessor">#ifndef M_PI</span></div>
<div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160;<span class="preprocessor"># define M_PI 3.14159265358979323846</span></div>
<div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160;</div>
<div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160;START_NAMESPACE_DISTRHO</div>
<div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160;<span class="comment"></span></div>
<div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160;<span class="comment">/**</span></div>
<div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160;<span class="comment"> @mainpage DISTRHO %Plugin Framework</span></div>
<div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160;<span class="comment"></span></div>
<div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160;<span class="comment"> DISTRHO %Plugin Framework (or @b DPF for short)</span></div>
<div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160;<span class="comment"> is a plugin framework designed to make development of new plugins an easy and enjoyable task.@n</span></div>
<div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160;<span class="comment"> It allows developers to create plugins with custom UIs using a simple C++ API.</span></div>
<div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160;<span class="comment"></span></div>
<div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160;<span class="comment"> @section Macros</span></div>
<div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160;<span class="comment"> You start by creating a &quot;DistrhoPluginInfo.h&quot; file describing the plugin via macros, see @ref PluginMacros.</span></div>
<div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160;<span class="comment"></span></div>
<div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160;<span class="comment"> @section Plugin</span></div>
<div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160;<span class="comment"> TODO</span></div>
<div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160;<span class="comment"></span></div>
<div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160;<span class="comment"> @section Parameters</span></div>
<div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160;<span class="comment"> describe input and output, automable and rt safe, boolean etc, cv</span></div>
<div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160;<span class="comment">*/</span></div>
<div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160;</div>
<div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160;<span class="comment">/* ------------------------------------------------------------------------------------------------------------</span></div>
<div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160;<span class="comment"> * Plugin Macros */</span></div>
<div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160;</div>
<div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160;<span class="preprocessor">#ifdef DOXYGEN</span></div>
<div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160;<span class="comment"></span></div>
<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160;<span class="comment">/**</span></div>
<div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160;<span class="comment"> @defgroup PluginMacros Plugin Macros</span></div>
<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160;<span class="comment"></span></div>
<div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160;<span class="comment"> C Macros that describe your plugin. (defined in the &quot;DistrhoPluginInfo.h&quot; file)</span></div>
<div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160;<span class="comment"></span></div>
<div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160;<span class="comment"> With these macros you can tell the host what features your plugin requires.@n</span></div>
<div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160;<span class="comment"> Depending on which macros you enable, new functions will be available to call and/or override.</span></div>
<div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160;<span class="comment"></span></div>
<div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160;<span class="comment"> All values are either integer or strings.@n</span></div>
<div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160;<span class="comment"> For boolean-like values 1 means &#39;on&#39; and 0 means &#39;off&#39;.</span></div>
<div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160;<span class="comment"></span></div>
<div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160;<span class="comment"> The values defined in this file are for documentation purposes only.@n</span></div>
<div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160;<span class="comment"> All macros are disabled by default.</span></div>
<div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160;<span class="comment"></span></div>
<div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160;<span class="comment"> Only 4 macros are required, they are:</span></div>
<div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160;<span class="comment"> - @ref DISTRHO_PLUGIN_NAME</span></div>
<div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160;<span class="comment"> - @ref DISTRHO_PLUGIN_NUM_INPUTS</span></div>
<div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160;<span class="comment"> - @ref DISTRHO_PLUGIN_NUM_OUTPUTS</span></div>
<div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160;<span class="comment"> - @ref DISTRHO_PLUGIN_URI</span></div>
<div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160;<span class="comment"> @{</span></div>
<div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160;<span class="comment"></span></div>
<div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160;<span class="comment">/**</span></div>
<div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160;<span class="comment"> The plugin name.@n</span></div>
<div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160;<span class="comment"> This is used to identify your plugin before a Plugin instance can be created.</span></div>
<div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160;<span class="comment"> @note This macro is required.</span></div>
<div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00086"></a><span class="lineno"><a class="line" href="group__PluginMacros.html#ga888482a9f695c2ca2f433e5f3172dcc4"> 86</a></span>&#160;<span class="preprocessor">#define DISTRHO_PLUGIN_NAME &quot;Plugin Name&quot;</span></div>
<div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160;<span class="comment"></span></div>
<div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160;<span class="comment">/**</span></div>
<div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160;<span class="comment"> Number of audio inputs the plugin has.</span></div>
<div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160;<span class="comment"> @note This macro is required.</span></div>
<div class="line"><a name="l00091"></a><span class="lineno"> 91</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00092"></a><span class="lineno"><a class="line" href="group__PluginMacros.html#ga5f4f3d9a5dc3c23882d158e636319998"> 92</a></span>&#160;<span class="preprocessor">#define DISTRHO_PLUGIN_NUM_INPUTS 2</span></div>
<div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160;<span class="comment"></span></div>
<div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160;<span class="comment">/**</span></div>
<div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160;<span class="comment"> Number of audio outputs the plugin has.</span></div>
<div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160;<span class="comment"> @note This macro is required.</span></div>
<div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00098"></a><span class="lineno"><a class="line" href="group__PluginMacros.html#ga917195804ebcb2bb48c9fad52b20b3ca"> 98</a></span>&#160;<span class="preprocessor">#define DISTRHO_PLUGIN_NUM_OUTPUTS 2</span></div>
<div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160;<span class="comment"></span></div>
<div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160;<span class="comment">/**</span></div>
<div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160;<span class="comment"> The plugin URI when exporting in LV2 format.</span></div>
<div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160;<span class="comment"> @note This macro is required.</span></div>
<div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00104"></a><span class="lineno"><a class="line" href="group__PluginMacros.html#ga9cc186448134e6a1956474b3878c97a8"> 104</a></span>&#160;<span class="preprocessor">#define DISTRHO_PLUGIN_URI &quot;urn:distrho:name&quot;</span></div>
<div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160;<span class="comment"></span></div>
<div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160;<span class="comment">/**</span></div>
<div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160;<span class="comment"> Wherever the plugin has a custom %UI.</span></div>
<div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160;<span class="comment"> @see DISTRHO_UI_USE_NANOVG</span></div>
<div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160;<span class="comment"> @see UI</span></div>
<div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00111"></a><span class="lineno"><a class="line" href="group__PluginMacros.html#gacf8a1af679c09637ba0bdc5f4f8e37dd"> 111</a></span>&#160;<span class="preprocessor">#define DISTRHO_PLUGIN_HAS_UI 1</span></div>
<div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160;<span class="comment"></span></div>
<div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160;<span class="comment">/**</span></div>
<div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160;<span class="comment"> Wherever the plugin processing is realtime-safe.@n</span></div>
<div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160;<span class="comment"> TODO - list rtsafe requirements</span></div>
<div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00117"></a><span class="lineno"><a class="line" href="group__PluginMacros.html#ga82546dd199fcea338b113f2f6da84ced"> 117</a></span>&#160;<span class="preprocessor">#define DISTRHO_PLUGIN_IS_RT_SAFE 1</span></div>
<div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160;<span class="comment"></span></div>
<div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160;<span class="comment">/**</span></div>
<div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160;<span class="comment"> Wherever the plugin is a synth.@n</span></div>
<div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160;<span class="comment"> @ref DISTRHO_PLUGIN_WANT_MIDI_INPUT is automatically enabled when this is too.</span></div>
<div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160;<span class="comment"> @see DISTRHO_PLUGIN_WANT_MIDI_INPUT</span></div>
<div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00124"></a><span class="lineno"><a class="line" href="group__PluginMacros.html#ga854bde6b6fdb0d47182149dbab0fed72"> 124</a></span>&#160;<span class="preprocessor">#define DISTRHO_PLUGIN_IS_SYNTH 1</span></div>
<div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160;<span class="comment"></span></div>
<div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160;<span class="comment">/**</span></div>
<div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160;<span class="comment"> Enable direct access between the %UI and plugin code.</span></div>
<div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160;<span class="comment"> @see UI::d_getPluginInstancePointer()</span></div>
<div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160;<span class="comment"> @note DO NOT USE THIS UNLESS STRICTLY NECESSARY!!</span></div>
<div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160;<span class="comment"> Try to avoid it at all costs!</span></div>
<div class="line"><a name="l00131"></a><span class="lineno"> 131</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00132"></a><span class="lineno"><a class="line" href="group__PluginMacros.html#gac6873a3950f52f3fde8e386af63b69a1"> 132</a></span>&#160;<span class="preprocessor">#define DISTRHO_PLUGIN_WANT_DIRECT_ACCESS 0</span></div>
<div class="line"><a name="l00133"></a><span class="lineno"> 133</span>&#160;<span class="comment"></span></div>
<div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160;<span class="comment">/**</span></div>
<div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160;<span class="comment"> Wherever the plugin introduces latency during audio or midi processing.</span></div>
<div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160;<span class="comment"> @see Plugin::d_setLatency(uint32_t)</span></div>
<div class="line"><a name="l00137"></a><span class="lineno"> 137</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00138"></a><span class="lineno"><a class="line" href="group__PluginMacros.html#gad6b0ebf10e048f4742f29735da4d4930"> 138</a></span>&#160;<span class="preprocessor">#define DISTRHO_PLUGIN_WANT_LATENCY 1</span></div>
<div class="line"><a name="l00139"></a><span class="lineno"> 139</span>&#160;<span class="comment"></span></div>
<div class="line"><a name="l00140"></a><span class="lineno"> 140</span>&#160;<span class="comment">/**</span></div>
<div class="line"><a name="l00141"></a><span class="lineno"> 141</span>&#160;<span class="comment"> Wherever the plugin wants MIDI input.@n</span></div>
<div class="line"><a name="l00142"></a><span class="lineno"> 142</span>&#160;<span class="comment"> This is automatically enabled if @ref DISTRHO_PLUGIN_IS_SYNTH is true.</span></div>
<div class="line"><a name="l00143"></a><span class="lineno"> 143</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00144"></a><span class="lineno"><a class="line" href="group__PluginMacros.html#gadf2e2eb7550e4116001c816adfb04a70"> 144</a></span>&#160;<span class="preprocessor">#define DISTRHO_PLUGIN_WANT_MIDI_INPUT 1</span></div>
<div class="line"><a name="l00145"></a><span class="lineno"> 145</span>&#160;<span class="comment"></span></div>
<div class="line"><a name="l00146"></a><span class="lineno"> 146</span>&#160;<span class="comment">/**</span></div>
<div class="line"><a name="l00147"></a><span class="lineno"> 147</span>&#160;<span class="comment"> Wherever the plugin wants MIDI output.</span></div>
<div class="line"><a name="l00148"></a><span class="lineno"> 148</span>&#160;<span class="comment"> @see Plugin::d_writeMidiEvent(const MidiEvent&amp;)</span></div>
<div class="line"><a name="l00149"></a><span class="lineno"> 149</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00150"></a><span class="lineno"><a class="line" href="group__PluginMacros.html#ga548522eb91344a45841a5a95ff4f8073"> 150</a></span>&#160;<span class="preprocessor">#define DISTRHO_PLUGIN_WANT_MIDI_OUTPUT 1</span></div>
<div class="line"><a name="l00151"></a><span class="lineno"> 151</span>&#160;<span class="comment"></span></div>
<div class="line"><a name="l00152"></a><span class="lineno"> 152</span>&#160;<span class="comment">/**</span></div>
<div class="line"><a name="l00153"></a><span class="lineno"> 153</span>&#160;<span class="comment"> Wherever the plugin provides its own internal programs.</span></div>
<div class="line"><a name="l00154"></a><span class="lineno"> 154</span>&#160;<span class="comment"> @see Plugin::d_initProgramName(uint32_t, d_string&amp;)</span></div>
<div class="line"><a name="l00155"></a><span class="lineno"> 155</span>&#160;<span class="comment"> @see Plugin::d_setProgram(uint32_t)</span></div>
<div class="line"><a name="l00156"></a><span class="lineno"> 156</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00157"></a><span class="lineno"><a class="line" href="group__PluginMacros.html#gad95e24b17f196260cee15255fdb5b677"> 157</a></span>&#160;<span class="preprocessor">#define DISTRHO_PLUGIN_WANT_PROGRAMS 1</span></div>
<div class="line"><a name="l00158"></a><span class="lineno"> 158</span>&#160;<span class="comment"></span></div>
<div class="line"><a name="l00159"></a><span class="lineno"> 159</span>&#160;<span class="comment">/**</span></div>
<div class="line"><a name="l00160"></a><span class="lineno"> 160</span>&#160;<span class="comment"> Wherever the plugin uses internal non-parameter data.</span></div>
<div class="line"><a name="l00161"></a><span class="lineno"> 161</span>&#160;<span class="comment"> @see Plugin::d_initState(uint32_t, d_string&amp;, d_string&amp;)</span></div>
<div class="line"><a name="l00162"></a><span class="lineno"> 162</span>&#160;<span class="comment"> @see Plugin::d_setState(const char*, const char*)</span></div>
<div class="line"><a name="l00163"></a><span class="lineno"> 163</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00164"></a><span class="lineno"><a class="line" href="group__PluginMacros.html#ga255f43cc0997af8b56abcca260c875e0"> 164</a></span>&#160;<span class="preprocessor">#define DISTRHO_PLUGIN_WANT_STATE 1</span></div>
<div class="line"><a name="l00165"></a><span class="lineno"> 165</span>&#160;<span class="comment"></span></div>
<div class="line"><a name="l00166"></a><span class="lineno"> 166</span>&#160;<span class="comment">/**</span></div>
<div class="line"><a name="l00167"></a><span class="lineno"> 167</span>&#160;<span class="comment"> Wherever the plugin wants time position information from the host.</span></div>
<div class="line"><a name="l00168"></a><span class="lineno"> 168</span>&#160;<span class="comment"> @see Plugin::d_getTimePosition()</span></div>
<div class="line"><a name="l00169"></a><span class="lineno"> 169</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00170"></a><span class="lineno"><a class="line" href="group__PluginMacros.html#ga496610b956d931b1940d07da48d123f2"> 170</a></span>&#160;<span class="preprocessor">#define DISTRHO_PLUGIN_WANT_TIMEPOS 1</span></div>
<div class="line"><a name="l00171"></a><span class="lineno"> 171</span>&#160;<span class="comment"></span></div>
<div class="line"><a name="l00172"></a><span class="lineno"> 172</span>&#160;<span class="comment">/**</span></div>
<div class="line"><a name="l00173"></a><span class="lineno"> 173</span>&#160;<span class="comment"> Wherever the %UI uses NanoVG for drawing instead of the default raw OpenGL calls.@n</span></div>
<div class="line"><a name="l00174"></a><span class="lineno"> 174</span>&#160;<span class="comment"> When enabled your %UI instance will subclass @ref NanoWidget instead of @ref Widget.</span></div>
<div class="line"><a name="l00175"></a><span class="lineno"> 175</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00176"></a><span class="lineno"><a class="line" href="group__PluginMacros.html#gad49e79936a2aa5afa089cbc051426ccd"> 176</a></span>&#160;<span class="preprocessor">#define DISTRHO_UI_USE_NANOVG 1</span></div>
<div class="line"><a name="l00177"></a><span class="lineno"> 177</span>&#160;<span class="comment"></span></div>
<div class="line"><a name="l00178"></a><span class="lineno"> 178</span>&#160;<span class="comment">/**</span></div>
<div class="line"><a name="l00179"></a><span class="lineno"> 179</span>&#160;<span class="comment"> The %UI URI when exporting in LV2 format.@n</span></div>
<div class="line"><a name="l00180"></a><span class="lineno"> 180</span>&#160;<span class="comment"> By default this is set to @ref DISTRHO_PLUGIN_URI with &quot;#UI&quot; as suffix.</span></div>
<div class="line"><a name="l00181"></a><span class="lineno"> 181</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00182"></a><span class="lineno"><a class="line" href="group__PluginMacros.html#ga420a88022da249b9f38a6046998dbd7c"> 182</a></span>&#160;<span class="preprocessor">#define DISTRHO_UI_URI DISTRHO_PLUGIN_URI &quot;#UI&quot;</span></div>
<div class="line"><a name="l00183"></a><span class="lineno"> 183</span>&#160;<span class="comment"></span></div>
<div class="line"><a name="l00184"></a><span class="lineno"> 184</span>&#160;<span class="comment">/** @} */</span></div>
<div class="line"><a name="l00185"></a><span class="lineno"> 185</span>&#160;</div>
<div class="line"><a name="l00186"></a><span class="lineno"> 186</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00187"></a><span class="lineno"> 187</span>&#160;</div>
<div class="line"><a name="l00188"></a><span class="lineno"> 188</span>&#160;<span class="comment">/* ------------------------------------------------------------------------------------------------------------</span></div>
<div class="line"><a name="l00189"></a><span class="lineno"> 189</span>&#160;<span class="comment"> * Parameter Hints */</span></div>
<div class="line"><a name="l00190"></a><span class="lineno"> 190</span>&#160;<span class="comment"></span></div>
<div class="line"><a name="l00191"></a><span class="lineno"> 191</span>&#160;<span class="comment">/**</span></div>
<div class="line"><a name="l00192"></a><span class="lineno"> 192</span>&#160;<span class="comment"> @defgroup ParameterHints Parameter Hints</span></div>
<div class="line"><a name="l00193"></a><span class="lineno"> 193</span>&#160;<span class="comment"></span></div>
<div class="line"><a name="l00194"></a><span class="lineno"> 194</span>&#160;<span class="comment"> Various parameter hints.</span></div>
<div class="line"><a name="l00195"></a><span class="lineno"> 195</span>&#160;<span class="comment"> @see Parameter::hints</span></div>
<div class="line"><a name="l00196"></a><span class="lineno"> 196</span>&#160;<span class="comment"> @{</span></div>
<div class="line"><a name="l00197"></a><span class="lineno"> 197</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00198"></a><span class="lineno"> 198</span>&#160;<span class="comment"></span></div>
<div class="line"><a name="l00199"></a><span class="lineno"> 199</span>&#160;<span class="comment">/**</span></div>
<div class="line"><a name="l00200"></a><span class="lineno"> 200</span>&#160;<span class="comment"> Parameter is automable (real-time safe).</span></div>
<div class="line"><a name="l00201"></a><span class="lineno"> 201</span>&#160;<span class="comment"> @see Plugin::d_setParameterValue()</span></div>
<div class="line"><a name="l00202"></a><span class="lineno"> 202</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00203"></a><span class="lineno"><a class="line" href="group__ParameterHints.html#ga04161ef926442aa08ae7aa6847078ad9"> 203</a></span>&#160;<span class="keyword">static</span> <span class="keyword">const</span> uint32_t <a class="code" href="group__ParameterHints.html#ga04161ef926442aa08ae7aa6847078ad9">kParameterIsAutomable</a> = 0x01;</div>
<div class="line"><a name="l00204"></a><span class="lineno"> 204</span>&#160;<span class="comment"></span></div>
<div class="line"><a name="l00205"></a><span class="lineno"> 205</span>&#160;<span class="comment">/**</span></div>
<div class="line"><a name="l00206"></a><span class="lineno"> 206</span>&#160;<span class="comment"> Parameter value is boolean.</span></div>
<div class="line"><a name="l00207"></a><span class="lineno"> 207</span>&#160;<span class="comment"> It&#39;s always at either minimum or maximum value.</span></div>
<div class="line"><a name="l00208"></a><span class="lineno"> 208</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00209"></a><span class="lineno"><a class="line" href="group__ParameterHints.html#gaafca30df903781d2e1c2491808e17c8d"> 209</a></span>&#160;<span class="keyword">static</span> <span class="keyword">const</span> uint32_t <a class="code" href="group__ParameterHints.html#gaafca30df903781d2e1c2491808e17c8d">kParameterIsBoolean</a> = 0x02;</div>
<div class="line"><a name="l00210"></a><span class="lineno"> 210</span>&#160;<span class="comment"></span></div>
<div class="line"><a name="l00211"></a><span class="lineno"> 211</span>&#160;<span class="comment">/**</span></div>
<div class="line"><a name="l00212"></a><span class="lineno"> 212</span>&#160;<span class="comment"> Parameter value is integer.</span></div>
<div class="line"><a name="l00213"></a><span class="lineno"> 213</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00214"></a><span class="lineno"><a class="line" href="group__ParameterHints.html#ga76a82c93efe6ad728c9f0cb4ef33a2b9"> 214</a></span>&#160;<span class="keyword">static</span> <span class="keyword">const</span> uint32_t <a class="code" href="group__ParameterHints.html#ga76a82c93efe6ad728c9f0cb4ef33a2b9">kParameterIsInteger</a> = 0x04;</div>
<div class="line"><a name="l00215"></a><span class="lineno"> 215</span>&#160;<span class="comment"></span></div>
<div class="line"><a name="l00216"></a><span class="lineno"> 216</span>&#160;<span class="comment">/**</span></div>
<div class="line"><a name="l00217"></a><span class="lineno"> 217</span>&#160;<span class="comment"> Parameter value is logarithmic.</span></div>
<div class="line"><a name="l00218"></a><span class="lineno"> 218</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00219"></a><span class="lineno"><a class="line" href="group__ParameterHints.html#gabc539ecbfe420246a33f93aed32b8a3b"> 219</a></span>&#160;<span class="keyword">static</span> <span class="keyword">const</span> uint32_t <a class="code" href="group__ParameterHints.html#gabc539ecbfe420246a33f93aed32b8a3b">kParameterIsLogarithmic</a> = 0x08;</div>
<div class="line"><a name="l00220"></a><span class="lineno"> 220</span>&#160;<span class="comment"></span></div>
<div class="line"><a name="l00221"></a><span class="lineno"> 221</span>&#160;<span class="comment">/**</span></div>
<div class="line"><a name="l00222"></a><span class="lineno"> 222</span>&#160;<span class="comment"> Parameter is of output type.</span></div>
<div class="line"><a name="l00223"></a><span class="lineno"> 223</span>&#160;<span class="comment"> When unset, parameter is assumed to be of input type.</span></div>
<div class="line"><a name="l00224"></a><span class="lineno"> 224</span>&#160;<span class="comment"></span></div>
<div class="line"><a name="l00225"></a><span class="lineno"> 225</span>&#160;<span class="comment"> Parameter inputs are changed by the host and must not be changed by the plugin.</span></div>
<div class="line"><a name="l00226"></a><span class="lineno"> 226</span>&#160;<span class="comment"> The only exception being when changing programs, see Plugin::d_setProgram().</span></div>
<div class="line"><a name="l00227"></a><span class="lineno"> 227</span>&#160;<span class="comment"> Outputs are changed by the plugin and never modified by the host.</span></div>
<div class="line"><a name="l00228"></a><span class="lineno"> 228</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00229"></a><span class="lineno"><a class="line" href="group__ParameterHints.html#ga0a3633c93e8589f4b3e6124bb97ad8d4"> 229</a></span>&#160;<span class="keyword">static</span> <span class="keyword">const</span> uint32_t <a class="code" href="group__ParameterHints.html#ga0a3633c93e8589f4b3e6124bb97ad8d4">kParameterIsOutput</a> = 0x10;</div>
<div class="line"><a name="l00230"></a><span class="lineno"> 230</span>&#160;<span class="comment"></span></div>
<div class="line"><a name="l00231"></a><span class="lineno"> 231</span>&#160;<span class="comment">/**</span></div>
<div class="line"><a name="l00232"></a><span class="lineno"> 232</span>&#160;<span class="comment"> Parameter can be used as control voltage (LV2 only).</span></div>
<div class="line"><a name="l00233"></a><span class="lineno"> 233</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00234"></a><span class="lineno"><a class="line" href="group__ParameterHints.html#ga1eae4d034f2ff1bc14035d87c4b63b14"> 234</a></span>&#160;<span class="keyword">static</span> <span class="keyword">const</span> uint32_t <a class="code" href="group__ParameterHints.html#ga1eae4d034f2ff1bc14035d87c4b63b14">kParameterIsCV</a> = 0x20;</div>
<div class="line"><a name="l00235"></a><span class="lineno"> 235</span>&#160;<span class="comment"></span></div>
<div class="line"><a name="l00236"></a><span class="lineno"> 236</span>&#160;<span class="comment">/** @} */</span></div>
<div class="line"><a name="l00237"></a><span class="lineno"> 237</span>&#160;</div>
<div class="line"><a name="l00238"></a><span class="lineno"> 238</span>&#160;<span class="comment">/* ------------------------------------------------------------------------------------------------------------</span></div>
<div class="line"><a name="l00239"></a><span class="lineno"> 239</span>&#160;<span class="comment"> * DPF Base structs */</span></div>
<div class="line"><a name="l00240"></a><span class="lineno"> 240</span>&#160;<span class="comment"></span></div>
<div class="line"><a name="l00241"></a><span class="lineno"> 241</span>&#160;<span class="comment">/**</span></div>
<div class="line"><a name="l00242"></a><span class="lineno"> 242</span>&#160;<span class="comment"> @defgroup BaseStructs Base Structs</span></div>
<div class="line"><a name="l00243"></a><span class="lineno"> 243</span>&#160;<span class="comment"> @{</span></div>
<div class="line"><a name="l00244"></a><span class="lineno"> 244</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00245"></a><span class="lineno"> 245</span>&#160;<span class="comment"></span></div>
<div class="line"><a name="l00246"></a><span class="lineno"> 246</span>&#160;<span class="comment">/**</span></div>
<div class="line"><a name="l00247"></a><span class="lineno"> 247</span>&#160;<span class="comment"> Parameter ranges.</span></div>
<div class="line"><a name="l00248"></a><span class="lineno"> 248</span>&#160;<span class="comment"> This is used to set the default, minimum and maximum values of a parameter.</span></div>
<div class="line"><a name="l00249"></a><span class="lineno"> 249</span>&#160;<span class="comment"></span></div>
<div class="line"><a name="l00250"></a><span class="lineno"> 250</span>&#160;<span class="comment"> By default a parameter has 0.0 as minimum, 1.0 as maximum and 0.0 as default.</span></div>
<div class="line"><a name="l00251"></a><span class="lineno"> 251</span>&#160;<span class="comment"> When changing this struct values you must ensure maximum &gt; minimum and default is within range.</span></div>
<div class="line"><a name="l00252"></a><span class="lineno"> 252</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00253"></a><span class="lineno"><a class="line" href="structParameterRanges.html"> 253</a></span>&#160;<span class="keyword">struct </span><a class="code" href="structParameterRanges.html">ParameterRanges</a> {<span class="comment"></span></div>
<div class="line"><a name="l00254"></a><span class="lineno"> 254</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00255"></a><span class="lineno"> 255</span>&#160;<span class="comment"> Default value.</span></div>
<div class="line"><a name="l00256"></a><span class="lineno"> 256</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00257"></a><span class="lineno"><a class="line" href="structParameterRanges.html#aa0aba68115bcfff25c35b2da2f7aed4c"> 257</a></span>&#160; <span class="keywordtype">float</span> <a class="code" href="structParameterRanges.html#aa0aba68115bcfff25c35b2da2f7aed4c">def</a>;</div>
<div class="line"><a name="l00258"></a><span class="lineno"> 258</span>&#160;<span class="comment"></span></div>
<div class="line"><a name="l00259"></a><span class="lineno"> 259</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00260"></a><span class="lineno"> 260</span>&#160;<span class="comment"> Minimum value.</span></div>
<div class="line"><a name="l00261"></a><span class="lineno"> 261</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00262"></a><span class="lineno"><a class="line" href="structParameterRanges.html#a63c40988463a8ace9d0e9e55a00f3c7b"> 262</a></span>&#160; <span class="keywordtype">float</span> <a class="code" href="structParameterRanges.html#a63c40988463a8ace9d0e9e55a00f3c7b">min</a>;</div>
<div class="line"><a name="l00263"></a><span class="lineno"> 263</span>&#160;<span class="comment"></span></div>
<div class="line"><a name="l00264"></a><span class="lineno"> 264</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00265"></a><span class="lineno"> 265</span>&#160;<span class="comment"> Maximum value.</span></div>
<div class="line"><a name="l00266"></a><span class="lineno"> 266</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00267"></a><span class="lineno"><a class="line" href="structParameterRanges.html#a175c78c905c598df929a4450e4d2a2a0"> 267</a></span>&#160; <span class="keywordtype">float</span> <a class="code" href="structParameterRanges.html#a175c78c905c598df929a4450e4d2a2a0">max</a>;</div>
<div class="line"><a name="l00268"></a><span class="lineno"> 268</span>&#160;<span class="comment"></span></div>
<div class="line"><a name="l00269"></a><span class="lineno"> 269</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00270"></a><span class="lineno"> 270</span>&#160;<span class="comment"> Default constructor.</span></div>
<div class="line"><a name="l00271"></a><span class="lineno"> 271</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00272"></a><span class="lineno"><a class="line" href="structParameterRanges.html#adb9b2712df3401eb0c5e11362d865d4e"> 272</a></span>&#160; <a class="code" href="structParameterRanges.html#adb9b2712df3401eb0c5e11362d865d4e">ParameterRanges</a>() noexcept</div>
<div class="line"><a name="l00273"></a><span class="lineno"> 273</span>&#160; : def(0.0f),</div>
<div class="line"><a name="l00274"></a><span class="lineno"> 274</span>&#160; min(0.0f),</div>
<div class="line"><a name="l00275"></a><span class="lineno"> 275</span>&#160; max(1.0f) {}</div>
<div class="line"><a name="l00276"></a><span class="lineno"> 276</span>&#160;<span class="comment"></span></div>
<div class="line"><a name="l00277"></a><span class="lineno"> 277</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00278"></a><span class="lineno"> 278</span>&#160;<span class="comment"> Constructor using custom values.</span></div>
<div class="line"><a name="l00279"></a><span class="lineno"> 279</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00280"></a><span class="lineno"><a class="line" href="structParameterRanges.html#aad2afc730bee791aab1811744a48f99d"> 280</a></span>&#160; <a class="code" href="structParameterRanges.html#aad2afc730bee791aab1811744a48f99d">ParameterRanges</a>(<span class="keyword">const</span> <span class="keywordtype">float</span> df, <span class="keyword">const</span> <span class="keywordtype">float</span> mn, <span class="keyword">const</span> <span class="keywordtype">float</span> mx) noexcept</div>
<div class="line"><a name="l00281"></a><span class="lineno"> 281</span>&#160; : <a class="code" href="structParameterRanges.html#aa0aba68115bcfff25c35b2da2f7aed4c">def</a>(df),</div>
<div class="line"><a name="l00282"></a><span class="lineno"> 282</span>&#160; <a class="code" href="structParameterRanges.html#a63c40988463a8ace9d0e9e55a00f3c7b">min</a>(mn),</div>
<div class="line"><a name="l00283"></a><span class="lineno"> 283</span>&#160; <a class="code" href="structParameterRanges.html#a175c78c905c598df929a4450e4d2a2a0">max</a>(mx) {}</div>
<div class="line"><a name="l00284"></a><span class="lineno"> 284</span>&#160;<span class="comment"></span></div>
<div class="line"><a name="l00285"></a><span class="lineno"> 285</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00286"></a><span class="lineno"> 286</span>&#160;<span class="comment"> Fix the default value within range.</span></div>
<div class="line"><a name="l00287"></a><span class="lineno"> 287</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00288"></a><span class="lineno"><a class="line" href="structParameterRanges.html#a17519e584ccc28e87b73bfbd1a81cf10"> 288</a></span>&#160; <span class="keywordtype">void</span> <a class="code" href="structParameterRanges.html#a17519e584ccc28e87b73bfbd1a81cf10">fixDefault</a>() noexcept</div>
<div class="line"><a name="l00289"></a><span class="lineno"> 289</span>&#160; {</div>
<div class="line"><a name="l00290"></a><span class="lineno"> 290</span>&#160; <a class="code" href="structParameterRanges.html#a1dac84c100f420bfc529a4d2ea60dc7c">fixValue</a>(def);</div>
<div class="line"><a name="l00291"></a><span class="lineno"> 291</span>&#160; }</div>
<div class="line"><a name="l00292"></a><span class="lineno"> 292</span>&#160;<span class="comment"></span></div>
<div class="line"><a name="l00293"></a><span class="lineno"> 293</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00294"></a><span class="lineno"> 294</span>&#160;<span class="comment"> Fix a value within range.</span></div>
<div class="line"><a name="l00295"></a><span class="lineno"> 295</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00296"></a><span class="lineno"><a class="line" href="structParameterRanges.html#a1dac84c100f420bfc529a4d2ea60dc7c"> 296</a></span>&#160; <span class="keywordtype">void</span> <a class="code" href="structParameterRanges.html#a1dac84c100f420bfc529a4d2ea60dc7c">fixValue</a>(<span class="keywordtype">float</span>&amp; value) <span class="keyword">const</span> noexcept</div>
<div class="line"><a name="l00297"></a><span class="lineno"> 297</span>&#160; {</div>
<div class="line"><a name="l00298"></a><span class="lineno"> 298</span>&#160; <span class="keywordflow">if</span> (value &lt; min)</div>
<div class="line"><a name="l00299"></a><span class="lineno"> 299</span>&#160; value = <a class="code" href="structParameterRanges.html#a63c40988463a8ace9d0e9e55a00f3c7b">min</a>;</div>
<div class="line"><a name="l00300"></a><span class="lineno"> 300</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (value &gt; max)</div>
<div class="line"><a name="l00301"></a><span class="lineno"> 301</span>&#160; value = <a class="code" href="structParameterRanges.html#a175c78c905c598df929a4450e4d2a2a0">max</a>;</div>
<div class="line"><a name="l00302"></a><span class="lineno"> 302</span>&#160; }</div>
<div class="line"><a name="l00303"></a><span class="lineno"> 303</span>&#160;<span class="comment"></span></div>
<div class="line"><a name="l00304"></a><span class="lineno"> 304</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00305"></a><span class="lineno"> 305</span>&#160;<span class="comment"> Get a fixed value within range.</span></div>
<div class="line"><a name="l00306"></a><span class="lineno"> 306</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00307"></a><span class="lineno"><a class="line" href="structParameterRanges.html#acd3d977c154ddb3138f36c0b6d2b7626"> 307</a></span>&#160; <span class="keyword">const</span> <span class="keywordtype">float</span>&amp; <a class="code" href="structParameterRanges.html#acd3d977c154ddb3138f36c0b6d2b7626">getFixedValue</a>(<span class="keyword">const</span> <span class="keywordtype">float</span>&amp; value) <span class="keyword">const</span> noexcept</div>
<div class="line"><a name="l00308"></a><span class="lineno"> 308</span>&#160; {</div>
<div class="line"><a name="l00309"></a><span class="lineno"> 309</span>&#160; <span class="keywordflow">if</span> (value &lt;= min)</div>
<div class="line"><a name="l00310"></a><span class="lineno"> 310</span>&#160; <span class="keywordflow">return</span> <a class="code" href="structParameterRanges.html#a63c40988463a8ace9d0e9e55a00f3c7b">min</a>;</div>
<div class="line"><a name="l00311"></a><span class="lineno"> 311</span>&#160; <span class="keywordflow">if</span> (value &gt;= max)</div>
<div class="line"><a name="l00312"></a><span class="lineno"> 312</span>&#160; <span class="keywordflow">return</span> <a class="code" href="structParameterRanges.html#a175c78c905c598df929a4450e4d2a2a0">max</a>;</div>
<div class="line"><a name="l00313"></a><span class="lineno"> 313</span>&#160; <span class="keywordflow">return</span> value;</div>
<div class="line"><a name="l00314"></a><span class="lineno"> 314</span>&#160; }</div>
<div class="line"><a name="l00315"></a><span class="lineno"> 315</span>&#160;<span class="comment"></span></div>
<div class="line"><a name="l00316"></a><span class="lineno"> 316</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00317"></a><span class="lineno"> 317</span>&#160;<span class="comment"> Get a value normalized to 0.0&lt;-&gt;1.0.</span></div>
<div class="line"><a name="l00318"></a><span class="lineno"> 318</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00319"></a><span class="lineno"><a class="line" href="structParameterRanges.html#ad16ef939c1caa2f51e9a4041f769f86e"> 319</a></span>&#160; <span class="keywordtype">float</span> <a class="code" href="structParameterRanges.html#ad16ef939c1caa2f51e9a4041f769f86e">getNormalizedValue</a>(<span class="keyword">const</span> <span class="keywordtype">float</span>&amp; value) <span class="keyword">const</span> noexcept</div>
<div class="line"><a name="l00320"></a><span class="lineno"> 320</span>&#160; {</div>
<div class="line"><a name="l00321"></a><span class="lineno"> 321</span>&#160; <span class="keyword">const</span> <span class="keywordtype">float</span> normValue((value - min) / (max - min));</div>
<div class="line"><a name="l00322"></a><span class="lineno"> 322</span>&#160;</div>
<div class="line"><a name="l00323"></a><span class="lineno"> 323</span>&#160; <span class="keywordflow">if</span> (normValue &lt;= 0.0f)</div>
<div class="line"><a name="l00324"></a><span class="lineno"> 324</span>&#160; <span class="keywordflow">return</span> 0.0f;</div>
<div class="line"><a name="l00325"></a><span class="lineno"> 325</span>&#160; <span class="keywordflow">if</span> (normValue &gt;= 1.0f)</div>
<div class="line"><a name="l00326"></a><span class="lineno"> 326</span>&#160; <span class="keywordflow">return</span> 1.0f;</div>
<div class="line"><a name="l00327"></a><span class="lineno"> 327</span>&#160; <span class="keywordflow">return</span> normValue;</div>
<div class="line"><a name="l00328"></a><span class="lineno"> 328</span>&#160; }</div>
<div class="line"><a name="l00329"></a><span class="lineno"> 329</span>&#160;<span class="comment"></span></div>
<div class="line"><a name="l00330"></a><span class="lineno"> 330</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00331"></a><span class="lineno"> 331</span>&#160;<span class="comment"> Get a value normalized to 0.0&lt;-&gt;1.0, fixed within range.</span></div>
<div class="line"><a name="l00332"></a><span class="lineno"> 332</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00333"></a><span class="lineno"><a class="line" href="structParameterRanges.html#a82698a1e07b1b04ccb5df0de4db0d0be"> 333</a></span>&#160; <span class="keywordtype">float</span> <a class="code" href="structParameterRanges.html#a82698a1e07b1b04ccb5df0de4db0d0be">getFixedAndNormalizedValue</a>(<span class="keyword">const</span> <span class="keywordtype">float</span>&amp; value) <span class="keyword">const</span> noexcept</div>
<div class="line"><a name="l00334"></a><span class="lineno"> 334</span>&#160; {</div>
<div class="line"><a name="l00335"></a><span class="lineno"> 335</span>&#160; <span class="keywordflow">if</span> (value &lt;= min)</div>
<div class="line"><a name="l00336"></a><span class="lineno"> 336</span>&#160; <span class="keywordflow">return</span> 0.0f;</div>
<div class="line"><a name="l00337"></a><span class="lineno"> 337</span>&#160; <span class="keywordflow">if</span> (value &gt;= max)</div>
<div class="line"><a name="l00338"></a><span class="lineno"> 338</span>&#160; <span class="keywordflow">return</span> 1.0f;</div>
<div class="line"><a name="l00339"></a><span class="lineno"> 339</span>&#160;</div>
<div class="line"><a name="l00340"></a><span class="lineno"> 340</span>&#160; <span class="keyword">const</span> <span class="keywordtype">float</span> normValue((value - min) / (max - min));</div>
<div class="line"><a name="l00341"></a><span class="lineno"> 341</span>&#160;</div>
<div class="line"><a name="l00342"></a><span class="lineno"> 342</span>&#160; <span class="keywordflow">if</span> (normValue &lt;= 0.0f)</div>
<div class="line"><a name="l00343"></a><span class="lineno"> 343</span>&#160; <span class="keywordflow">return</span> 0.0f;</div>
<div class="line"><a name="l00344"></a><span class="lineno"> 344</span>&#160; <span class="keywordflow">if</span> (normValue &gt;= 1.0f)</div>
<div class="line"><a name="l00345"></a><span class="lineno"> 345</span>&#160; <span class="keywordflow">return</span> 1.0f;</div>
<div class="line"><a name="l00346"></a><span class="lineno"> 346</span>&#160;</div>
<div class="line"><a name="l00347"></a><span class="lineno"> 347</span>&#160; <span class="keywordflow">return</span> normValue;</div>
<div class="line"><a name="l00348"></a><span class="lineno"> 348</span>&#160; }</div>
<div class="line"><a name="l00349"></a><span class="lineno"> 349</span>&#160;<span class="comment"></span></div>
<div class="line"><a name="l00350"></a><span class="lineno"> 350</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00351"></a><span class="lineno"> 351</span>&#160;<span class="comment"> Get a proper value previously normalized to 0.0&lt;-&gt;1.0.</span></div>
<div class="line"><a name="l00352"></a><span class="lineno"> 352</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00353"></a><span class="lineno"><a class="line" href="structParameterRanges.html#a992f75a925b3cd5e66544087708ea3c3"> 353</a></span>&#160; <span class="keywordtype">float</span> <a class="code" href="structParameterRanges.html#a992f75a925b3cd5e66544087708ea3c3">getUnnormalizedValue</a>(<span class="keyword">const</span> <span class="keywordtype">float</span>&amp; value) <span class="keyword">const</span> noexcept</div>
<div class="line"><a name="l00354"></a><span class="lineno"> 354</span>&#160; {</div>
<div class="line"><a name="l00355"></a><span class="lineno"> 355</span>&#160; <span class="keywordflow">if</span> (value &lt;= 0.0f)</div>
<div class="line"><a name="l00356"></a><span class="lineno"> 356</span>&#160; <span class="keywordflow">return</span> <a class="code" href="structParameterRanges.html#a63c40988463a8ace9d0e9e55a00f3c7b">min</a>;</div>
<div class="line"><a name="l00357"></a><span class="lineno"> 357</span>&#160; <span class="keywordflow">if</span> (value &gt;= 1.0f)</div>
<div class="line"><a name="l00358"></a><span class="lineno"> 358</span>&#160; <span class="keywordflow">return</span> <a class="code" href="structParameterRanges.html#a175c78c905c598df929a4450e4d2a2a0">max</a>;</div>
<div class="line"><a name="l00359"></a><span class="lineno"> 359</span>&#160;</div>
<div class="line"><a name="l00360"></a><span class="lineno"> 360</span>&#160; <span class="keywordflow">return</span> value * (max - <a class="code" href="structParameterRanges.html#a63c40988463a8ace9d0e9e55a00f3c7b">min</a>) + min;</div>
<div class="line"><a name="l00361"></a><span class="lineno"> 361</span>&#160; }</div>
<div class="line"><a name="l00362"></a><span class="lineno"> 362</span>&#160;};</div>
<div class="line"><a name="l00363"></a><span class="lineno"> 363</span>&#160;<span class="comment"></span></div>
<div class="line"><a name="l00364"></a><span class="lineno"> 364</span>&#160;<span class="comment">/**</span></div>
<div class="line"><a name="l00365"></a><span class="lineno"> 365</span>&#160;<span class="comment"> Parameter.</span></div>
<div class="line"><a name="l00366"></a><span class="lineno"> 366</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00367"></a><span class="lineno"><a class="line" href="structParameter.html"> 367</a></span>&#160;<span class="keyword">struct </span><a class="code" href="structParameter.html">Parameter</a> {<span class="comment"></span></div>
<div class="line"><a name="l00368"></a><span class="lineno"> 368</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00369"></a><span class="lineno"> 369</span>&#160;<span class="comment"> Hints describing this parameter.</span></div>
<div class="line"><a name="l00370"></a><span class="lineno"> 370</span>&#160;<span class="comment"> @see ParameterHints</span></div>
<div class="line"><a name="l00371"></a><span class="lineno"> 371</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00372"></a><span class="lineno"><a class="line" href="structParameter.html#a397fb977f0c6cbec31df4f141ca3f5b3"> 372</a></span>&#160; uint32_t <a class="code" href="structParameter.html#a397fb977f0c6cbec31df4f141ca3f5b3">hints</a>;</div>
<div class="line"><a name="l00373"></a><span class="lineno"> 373</span>&#160;<span class="comment"></span></div>
<div class="line"><a name="l00374"></a><span class="lineno"> 374</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00375"></a><span class="lineno"> 375</span>&#160;<span class="comment"> The name of this parameter.</span></div>
<div class="line"><a name="l00376"></a><span class="lineno"> 376</span>&#160;<span class="comment"> A parameter name can contain any character, but hosts might have a hard time with non-ascii ones.</span></div>
<div class="line"><a name="l00377"></a><span class="lineno"> 377</span>&#160;<span class="comment"> The name doesn&#39;t have to be unique within a plugin instance, but it&#39;s recommended.</span></div>
<div class="line"><a name="l00378"></a><span class="lineno"> 378</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00379"></a><span class="lineno"><a class="line" href="structParameter.html#a2e75f234cbbda1ed0517075e67d27191"> 379</a></span>&#160; d_string <a class="code" href="structParameter.html#a2e75f234cbbda1ed0517075e67d27191">name</a>;</div>
<div class="line"><a name="l00380"></a><span class="lineno"> 380</span>&#160;<span class="comment"></span></div>
<div class="line"><a name="l00381"></a><span class="lineno"> 381</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00382"></a><span class="lineno"> 382</span>&#160;<span class="comment"> The symbol of this parameter.</span></div>
<div class="line"><a name="l00383"></a><span class="lineno"> 383</span>&#160;<span class="comment"> A parameter symbol is a short restricted name used as a machine and human readable identifier.</span></div>
<div class="line"><a name="l00384"></a><span class="lineno"> 384</span>&#160;<span class="comment"> The first character must be one of _, a-z or A-Z and subsequent characters can be from _, a-z, A-Z and 0-9.</span></div>
<div class="line"><a name="l00385"></a><span class="lineno"> 385</span>&#160;<span class="comment"> @note: Parameter symbols MUST be unique within a plugin instance.</span></div>
<div class="line"><a name="l00386"></a><span class="lineno"> 386</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00387"></a><span class="lineno"><a class="line" href="structParameter.html#a0b5193e6131f65878dfb6fe4d9f5e970"> 387</a></span>&#160; d_string <a class="code" href="structParameter.html#a0b5193e6131f65878dfb6fe4d9f5e970">symbol</a>;</div>
<div class="line"><a name="l00388"></a><span class="lineno"> 388</span>&#160;<span class="comment"></span></div>
<div class="line"><a name="l00389"></a><span class="lineno"> 389</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00390"></a><span class="lineno"> 390</span>&#160;<span class="comment"> The unit of this parameter.</span></div>
<div class="line"><a name="l00391"></a><span class="lineno"> 391</span>&#160;<span class="comment"> This means something like &quot;dB&quot;, &quot;kHz&quot; and &quot;ms&quot;.</span></div>
<div class="line"><a name="l00392"></a><span class="lineno"> 392</span>&#160;<span class="comment"> Can be left blank if units do not apply to this parameter.</span></div>
<div class="line"><a name="l00393"></a><span class="lineno"> 393</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00394"></a><span class="lineno"><a class="line" href="structParameter.html#aa9ee36848d60d8ddd9185b9a3f2ce93f"> 394</a></span>&#160; d_string <a class="code" href="structParameter.html#aa9ee36848d60d8ddd9185b9a3f2ce93f">unit</a>;</div>
<div class="line"><a name="l00395"></a><span class="lineno"> 395</span>&#160;<span class="comment"></span></div>
<div class="line"><a name="l00396"></a><span class="lineno"> 396</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00397"></a><span class="lineno"> 397</span>&#160;<span class="comment"> Ranges of this parameter.</span></div>
<div class="line"><a name="l00398"></a><span class="lineno"> 398</span>&#160;<span class="comment"> The ranges describe the default, minimum and maximum values.</span></div>
<div class="line"><a name="l00399"></a><span class="lineno"> 399</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00400"></a><span class="lineno"><a class="line" href="structParameter.html#a2d0c81e4fb8fad18d920ef6ecd4a64db"> 400</a></span>&#160; <a class="code" href="structParameterRanges.html">ParameterRanges</a> <a class="code" href="structParameter.html#a2d0c81e4fb8fad18d920ef6ecd4a64db">ranges</a>;</div>
<div class="line"><a name="l00401"></a><span class="lineno"> 401</span>&#160;<span class="comment"></span></div>
<div class="line"><a name="l00402"></a><span class="lineno"> 402</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00403"></a><span class="lineno"> 403</span>&#160;<span class="comment"> Default constructor for a null parameter.</span></div>
<div class="line"><a name="l00404"></a><span class="lineno"> 404</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00405"></a><span class="lineno"><a class="line" href="structParameter.html#a12ced87d6d832deccb6c8ce2c8313b2e"> 405</a></span>&#160; <a class="code" href="structParameter.html#a12ced87d6d832deccb6c8ce2c8313b2e">Parameter</a>() noexcept</div>
<div class="line"><a name="l00406"></a><span class="lineno"> 406</span>&#160; : hints(0x0),</div>
<div class="line"><a name="l00407"></a><span class="lineno"> 407</span>&#160; name(),</div>
<div class="line"><a name="l00408"></a><span class="lineno"> 408</span>&#160; symbol(),</div>
<div class="line"><a name="l00409"></a><span class="lineno"> 409</span>&#160; unit(),</div>
<div class="line"><a name="l00410"></a><span class="lineno"> 410</span>&#160; ranges() {}</div>
<div class="line"><a name="l00411"></a><span class="lineno"> 411</span>&#160;};</div>
<div class="line"><a name="l00412"></a><span class="lineno"> 412</span>&#160;<span class="comment"></span></div>
<div class="line"><a name="l00413"></a><span class="lineno"> 413</span>&#160;<span class="comment">/**</span></div>
<div class="line"><a name="l00414"></a><span class="lineno"> 414</span>&#160;<span class="comment"> MIDI event.</span></div>
<div class="line"><a name="l00415"></a><span class="lineno"> 415</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00416"></a><span class="lineno"><a class="line" href="structMidiEvent.html"> 416</a></span>&#160;<span class="keyword">struct </span><a class="code" href="structMidiEvent.html">MidiEvent</a> {<span class="comment"></span></div>
<div class="line"><a name="l00417"></a><span class="lineno"> 417</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00418"></a><span class="lineno"> 418</span>&#160;<span class="comment"> Size of internal data.</span></div>
<div class="line"><a name="l00419"></a><span class="lineno"> 419</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00420"></a><span class="lineno"><a class="line" href="structMidiEvent.html#a9e23ce17777c2ff5190670d3262129b9"> 420</a></span>&#160; <span class="keyword">static</span> <span class="keyword">const</span> uint32_t <a class="code" href="structMidiEvent.html#a9e23ce17777c2ff5190670d3262129b9">kDataSize</a> = 4;</div>
<div class="line"><a name="l00421"></a><span class="lineno"> 421</span>&#160;<span class="comment"></span></div>
<div class="line"><a name="l00422"></a><span class="lineno"> 422</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00423"></a><span class="lineno"> 423</span>&#160;<span class="comment"> Time offset in frames.</span></div>
<div class="line"><a name="l00424"></a><span class="lineno"> 424</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00425"></a><span class="lineno"><a class="line" href="structMidiEvent.html#aca2f6590b33bd2175ab71f985747d88e"> 425</a></span>&#160; uint32_t <a class="code" href="structMidiEvent.html#aca2f6590b33bd2175ab71f985747d88e">frame</a>;</div>
<div class="line"><a name="l00426"></a><span class="lineno"> 426</span>&#160;<span class="comment"></span></div>
<div class="line"><a name="l00427"></a><span class="lineno"> 427</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00428"></a><span class="lineno"> 428</span>&#160;<span class="comment"> Number of bytes used.</span></div>
<div class="line"><a name="l00429"></a><span class="lineno"> 429</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00430"></a><span class="lineno"><a class="line" href="structMidiEvent.html#a48b420a6dbca6502113b92c336a3041e"> 430</a></span>&#160; uint32_t <a class="code" href="structMidiEvent.html#a48b420a6dbca6502113b92c336a3041e">size</a>;</div>
<div class="line"><a name="l00431"></a><span class="lineno"> 431</span>&#160;<span class="comment"></span></div>
<div class="line"><a name="l00432"></a><span class="lineno"> 432</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00433"></a><span class="lineno"> 433</span>&#160;<span class="comment"> MIDI data.</span></div>
<div class="line"><a name="l00434"></a><span class="lineno"> 434</span>&#160;<span class="comment"> If size &gt; kDataSize, dataExt is used (otherwise null).</span></div>
<div class="line"><a name="l00435"></a><span class="lineno"> 435</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00436"></a><span class="lineno"><a class="line" href="structMidiEvent.html#aba54410d44eef48c10516f29452ef3a9"> 436</a></span>&#160; uint8_t <a class="code" href="structMidiEvent.html#aba54410d44eef48c10516f29452ef3a9">data</a>[<a class="code" href="structMidiEvent.html#a9e23ce17777c2ff5190670d3262129b9">kDataSize</a>];</div>
<div class="line"><a name="l00437"></a><span class="lineno"> 437</span>&#160; <span class="keyword">const</span> uint8_t* dataExt;</div>
<div class="line"><a name="l00438"></a><span class="lineno"> 438</span>&#160;};</div>
<div class="line"><a name="l00439"></a><span class="lineno"> 439</span>&#160;<span class="comment"></span></div>
<div class="line"><a name="l00440"></a><span class="lineno"> 440</span>&#160;<span class="comment">/**</span></div>
<div class="line"><a name="l00441"></a><span class="lineno"> 441</span>&#160;<span class="comment"> Time position.</span></div>
<div class="line"><a name="l00442"></a><span class="lineno"> 442</span>&#160;<span class="comment"> The @a playing and @a frame values are always valid.</span></div>
<div class="line"><a name="l00443"></a><span class="lineno"> 443</span>&#160;<span class="comment"> BBT values are only valid when @a bbt.valid is true.</span></div>
<div class="line"><a name="l00444"></a><span class="lineno"> 444</span>&#160;<span class="comment"></span></div>
<div class="line"><a name="l00445"></a><span class="lineno"> 445</span>&#160;<span class="comment"> This struct is inspired by the JACK Transport API.</span></div>
<div class="line"><a name="l00446"></a><span class="lineno"> 446</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00447"></a><span class="lineno"><a class="line" href="structTimePosition.html"> 447</a></span>&#160;<span class="keyword">struct </span><a class="code" href="structTimePosition.html">TimePosition</a> {<span class="comment"></span></div>
<div class="line"><a name="l00448"></a><span class="lineno"> 448</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00449"></a><span class="lineno"> 449</span>&#160;<span class="comment"> Wherever the host transport is playing/rolling.</span></div>
<div class="line"><a name="l00450"></a><span class="lineno"> 450</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00451"></a><span class="lineno"><a class="line" href="structTimePosition.html#a35db424bdf8ec01102a4fa6346c45574"> 451</a></span>&#160; <span class="keywordtype">bool</span> <a class="code" href="structTimePosition.html#a35db424bdf8ec01102a4fa6346c45574">playing</a>;</div>
<div class="line"><a name="l00452"></a><span class="lineno"> 452</span>&#160;<span class="comment"></span></div>
<div class="line"><a name="l00453"></a><span class="lineno"> 453</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00454"></a><span class="lineno"> 454</span>&#160;<span class="comment"> Current host transport position in frames.</span></div>
<div class="line"><a name="l00455"></a><span class="lineno"> 455</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00456"></a><span class="lineno"><a class="line" href="structTimePosition.html#aa3606d1c518c7ebe6335bc19f72b015b"> 456</a></span>&#160; uint64_t <a class="code" href="structTimePosition.html#aa3606d1c518c7ebe6335bc19f72b015b">frame</a>;</div>
<div class="line"><a name="l00457"></a><span class="lineno"> 457</span>&#160;<span class="comment"></span></div>
<div class="line"><a name="l00458"></a><span class="lineno"> 458</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00459"></a><span class="lineno"> 459</span>&#160;<span class="comment"> Bar-Beat-Tick time position.</span></div>
<div class="line"><a name="l00460"></a><span class="lineno"> 460</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00461"></a><span class="lineno"><a class="line" href="structTimePosition_1_1BarBeatTick.html"> 461</a></span>&#160; <span class="keyword">struct </span><a class="code" href="structTimePosition_1_1BarBeatTick.html">BarBeatTick</a> {<span class="comment"></span></div>
<div class="line"><a name="l00462"></a><span class="lineno"> 462</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00463"></a><span class="lineno"> 463</span>&#160;<span class="comment"> Wherever the host transport is using BBT.</span></div>
<div class="line"><a name="l00464"></a><span class="lineno"> 464</span>&#160;<span class="comment"> If false you must not read from this struct.</span></div>
<div class="line"><a name="l00465"></a><span class="lineno"> 465</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00466"></a><span class="lineno"><a class="line" href="structTimePosition_1_1BarBeatTick.html#a45a05047e923285af0fbeacb371e3f4e"> 466</a></span>&#160; <span class="keywordtype">bool</span> <a class="code" href="structTimePosition_1_1BarBeatTick.html#a45a05047e923285af0fbeacb371e3f4e">valid</a>;</div>
<div class="line"><a name="l00467"></a><span class="lineno"> 467</span>&#160;<span class="comment"></span></div>
<div class="line"><a name="l00468"></a><span class="lineno"> 468</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00469"></a><span class="lineno"> 469</span>&#160;<span class="comment"> Current bar.</span></div>
<div class="line"><a name="l00470"></a><span class="lineno"> 470</span>&#160;<span class="comment"> Should always be &gt; 0.</span></div>
<div class="line"><a name="l00471"></a><span class="lineno"> 471</span>&#160;<span class="comment"> The first bar is bar &#39;1&#39;.</span></div>
<div class="line"><a name="l00472"></a><span class="lineno"> 472</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00473"></a><span class="lineno"><a class="line" href="structTimePosition_1_1BarBeatTick.html#ad104eba852516842d8c4776f9d495d21"> 473</a></span>&#160; int32_t <a class="code" href="structTimePosition_1_1BarBeatTick.html#ad104eba852516842d8c4776f9d495d21">bar</a>;</div>
<div class="line"><a name="l00474"></a><span class="lineno"> 474</span>&#160;<span class="comment"></span></div>
<div class="line"><a name="l00475"></a><span class="lineno"> 475</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00476"></a><span class="lineno"> 476</span>&#160;<span class="comment"> Current beat within bar.</span></div>
<div class="line"><a name="l00477"></a><span class="lineno"> 477</span>&#160;<span class="comment"> Should always be &gt; 0 and &lt;= @a beatsPerBar.</span></div>
<div class="line"><a name="l00478"></a><span class="lineno"> 478</span>&#160;<span class="comment"> The first beat is beat &#39;1&#39;.</span></div>
<div class="line"><a name="l00479"></a><span class="lineno"> 479</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00480"></a><span class="lineno"><a class="line" href="structTimePosition_1_1BarBeatTick.html#af4be3edce420539cbb21bc1b0278201c"> 480</a></span>&#160; int32_t <a class="code" href="structTimePosition_1_1BarBeatTick.html#af4be3edce420539cbb21bc1b0278201c">beat</a>;</div>
<div class="line"><a name="l00481"></a><span class="lineno"> 481</span>&#160;<span class="comment"></span></div>
<div class="line"><a name="l00482"></a><span class="lineno"> 482</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00483"></a><span class="lineno"> 483</span>&#160;<span class="comment"> Current tick within beat.</span></div>
<div class="line"><a name="l00484"></a><span class="lineno"> 484</span>&#160;<span class="comment"> Should always be &gt; 0 and &lt;= @a ticksPerBeat.</span></div>
<div class="line"><a name="l00485"></a><span class="lineno"> 485</span>&#160;<span class="comment"> The first tick is tick &#39;0&#39;.</span></div>
<div class="line"><a name="l00486"></a><span class="lineno"> 486</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00487"></a><span class="lineno"><a class="line" href="structTimePosition_1_1BarBeatTick.html#ad38d7364a5441f1f49c3538f5691a299"> 487</a></span>&#160; int32_t <a class="code" href="structTimePosition_1_1BarBeatTick.html#ad38d7364a5441f1f49c3538f5691a299">tick</a>;</div>
<div class="line"><a name="l00488"></a><span class="lineno"> 488</span>&#160;<span class="comment"></span></div>
<div class="line"><a name="l00489"></a><span class="lineno"> 489</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00490"></a><span class="lineno"> 490</span>&#160;<span class="comment"> Number of ticks that have elapsed between frame 0 and the first beat of the current measure.</span></div>
<div class="line"><a name="l00491"></a><span class="lineno"> 491</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00492"></a><span class="lineno"><a class="line" href="structTimePosition_1_1BarBeatTick.html#a5205e95c8f8021006bde2eae774d5b62"> 492</a></span>&#160; <span class="keywordtype">double</span> <a class="code" href="structTimePosition_1_1BarBeatTick.html#a5205e95c8f8021006bde2eae774d5b62">barStartTick</a>;</div>
<div class="line"><a name="l00493"></a><span class="lineno"> 493</span>&#160;<span class="comment"></span></div>
<div class="line"><a name="l00494"></a><span class="lineno"> 494</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00495"></a><span class="lineno"> 495</span>&#160;<span class="comment"> Time signature &quot;numerator&quot;.</span></div>
<div class="line"><a name="l00496"></a><span class="lineno"> 496</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00497"></a><span class="lineno"><a class="line" href="structTimePosition_1_1BarBeatTick.html#a4805c98ceeedca9fb886de068c50cb88"> 497</a></span>&#160; <span class="keywordtype">float</span> <a class="code" href="structTimePosition_1_1BarBeatTick.html#a4805c98ceeedca9fb886de068c50cb88">beatsPerBar</a>;</div>
<div class="line"><a name="l00498"></a><span class="lineno"> 498</span>&#160;<span class="comment"></span></div>
<div class="line"><a name="l00499"></a><span class="lineno"> 499</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00500"></a><span class="lineno"> 500</span>&#160;<span class="comment"> Time signature &quot;denominator&quot;.</span></div>
<div class="line"><a name="l00501"></a><span class="lineno"> 501</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00502"></a><span class="lineno"><a class="line" href="structTimePosition_1_1BarBeatTick.html#a3d0f3681391ab7d3d37abcae24c72257"> 502</a></span>&#160; <span class="keywordtype">float</span> <a class="code" href="structTimePosition_1_1BarBeatTick.html#a3d0f3681391ab7d3d37abcae24c72257">beatType</a>;</div>
<div class="line"><a name="l00503"></a><span class="lineno"> 503</span>&#160;<span class="comment"></span></div>
<div class="line"><a name="l00504"></a><span class="lineno"> 504</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00505"></a><span class="lineno"> 505</span>&#160;<span class="comment"> Number of ticks within a bar.</span></div>
<div class="line"><a name="l00506"></a><span class="lineno"> 506</span>&#160;<span class="comment"> Usually a moderately large integer with many denominators, such as 1920.0.</span></div>
<div class="line"><a name="l00507"></a><span class="lineno"> 507</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00508"></a><span class="lineno"><a class="line" href="structTimePosition_1_1BarBeatTick.html#ab8cfc3f2709a79e733e58556712da062"> 508</a></span>&#160; <span class="keywordtype">double</span> <a class="code" href="structTimePosition_1_1BarBeatTick.html#ab8cfc3f2709a79e733e58556712da062">ticksPerBeat</a>;</div>
<div class="line"><a name="l00509"></a><span class="lineno"> 509</span>&#160;<span class="comment"></span></div>
<div class="line"><a name="l00510"></a><span class="lineno"> 510</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00511"></a><span class="lineno"> 511</span>&#160;<span class="comment"> Number of beats per minute.</span></div>
<div class="line"><a name="l00512"></a><span class="lineno"> 512</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00513"></a><span class="lineno"><a class="line" href="structTimePosition_1_1BarBeatTick.html#af7cb9ae9b30da287828ebddee5caff2f"> 513</a></span>&#160; <span class="keywordtype">double</span> <a class="code" href="structTimePosition_1_1BarBeatTick.html#af7cb9ae9b30da287828ebddee5caff2f">beatsPerMinute</a>;</div>
<div class="line"><a name="l00514"></a><span class="lineno"> 514</span>&#160;<span class="comment"></span></div>
<div class="line"><a name="l00515"></a><span class="lineno"> 515</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00516"></a><span class="lineno"> 516</span>&#160;<span class="comment"> Default constructor for a null BBT time position.</span></div>
<div class="line"><a name="l00517"></a><span class="lineno"> 517</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00518"></a><span class="lineno"><a class="line" href="structTimePosition_1_1BarBeatTick.html#abff8c9586a4e82694e7d6bac3e8da1ef"> 518</a></span>&#160; <a class="code" href="structTimePosition_1_1BarBeatTick.html#abff8c9586a4e82694e7d6bac3e8da1ef">BarBeatTick</a>() noexcept</div>
<div class="line"><a name="l00519"></a><span class="lineno"> 519</span>&#160; : valid(false),</div>
<div class="line"><a name="l00520"></a><span class="lineno"> 520</span>&#160; bar(0),</div>
<div class="line"><a name="l00521"></a><span class="lineno"> 521</span>&#160; beat(0),</div>
<div class="line"><a name="l00522"></a><span class="lineno"> 522</span>&#160; tick(0),</div>
<div class="line"><a name="l00523"></a><span class="lineno"> 523</span>&#160; barStartTick(0.0),</div>
<div class="line"><a name="l00524"></a><span class="lineno"> 524</span>&#160; beatsPerBar(0.0f),</div>
<div class="line"><a name="l00525"></a><span class="lineno"> 525</span>&#160; beatType(0.0f),</div>
<div class="line"><a name="l00526"></a><span class="lineno"> 526</span>&#160; ticksPerBeat(0.0),</div>
<div class="line"><a name="l00527"></a><span class="lineno"> 527</span>&#160; beatsPerMinute(0.0) {}</div>
<div class="line"><a name="l00528"></a><span class="lineno"> 528</span>&#160; } bbt;</div>
<div class="line"><a name="l00529"></a><span class="lineno"> 529</span>&#160;<span class="comment"></span></div>
<div class="line"><a name="l00530"></a><span class="lineno"> 530</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00531"></a><span class="lineno"> 531</span>&#160;<span class="comment"> Default constructor for a time position.</span></div>
<div class="line"><a name="l00532"></a><span class="lineno"> 532</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00533"></a><span class="lineno"><a class="line" href="structTimePosition.html#aee816daeed95cf309ded1087a0c800ae"> 533</a></span>&#160; <a class="code" href="structTimePosition.html#aee816daeed95cf309ded1087a0c800ae">TimePosition</a>() noexcept</div>
<div class="line"><a name="l00534"></a><span class="lineno"> 534</span>&#160; : playing(false),</div>
<div class="line"><a name="l00535"></a><span class="lineno"> 535</span>&#160; frame(0),</div>
<div class="line"><a name="l00536"></a><span class="lineno"> 536</span>&#160; bbt() {}</div>
<div class="line"><a name="l00537"></a><span class="lineno"> 537</span>&#160;};</div>
<div class="line"><a name="l00538"></a><span class="lineno"> 538</span>&#160;<span class="comment"></span></div>
<div class="line"><a name="l00539"></a><span class="lineno"> 539</span>&#160;<span class="comment">/** @} */</span></div>
<div class="line"><a name="l00540"></a><span class="lineno"> 540</span>&#160;</div>
<div class="line"><a name="l00541"></a><span class="lineno"> 541</span>&#160;<span class="comment">/* ------------------------------------------------------------------------------------------------------------</span></div>
<div class="line"><a name="l00542"></a><span class="lineno"> 542</span>&#160;<span class="comment"> * DPF Plugin */</span></div>
<div class="line"><a name="l00543"></a><span class="lineno"> 543</span>&#160;<span class="comment"></span></div>
<div class="line"><a name="l00544"></a><span class="lineno"> 544</span>&#160;<span class="comment">/**</span></div>
<div class="line"><a name="l00545"></a><span class="lineno"> 545</span>&#160;<span class="comment"> DPF Plugin class from where plugin instances are created.</span></div>
<div class="line"><a name="l00546"></a><span class="lineno"> 546</span>&#160;<span class="comment"></span></div>
<div class="line"><a name="l00547"></a><span class="lineno"> 547</span>&#160;<span class="comment"> The public methods (Host state) are called from the plugin to get or set host information.</span></div>
<div class="line"><a name="l00548"></a><span class="lineno"> 548</span>&#160;<span class="comment"> They can be called from a plugin instance at anytime unless stated otherwise.</span></div>
<div class="line"><a name="l00549"></a><span class="lineno"> 549</span>&#160;<span class="comment"> All other methods are to be implemented by the plugin and will be called by the host.</span></div>
<div class="line"><a name="l00550"></a><span class="lineno"> 550</span>&#160;<span class="comment"></span></div>
<div class="line"><a name="l00551"></a><span class="lineno"> 551</span>&#160;<span class="comment"> Shortly after a plugin instance is created, the various d_init* functions will be called by the host.</span></div>
<div class="line"><a name="l00552"></a><span class="lineno"> 552</span>&#160;<span class="comment"> Host will call d_activate() before d_run(), and d_deactivate() before the plugin instance is destroyed.</span></div>
<div class="line"><a name="l00553"></a><span class="lineno"> 553</span>&#160;<span class="comment"> The host may call deactivate right after activate and vice-versa, but never activate/deactivate consecutively.</span></div>
<div class="line"><a name="l00554"></a><span class="lineno"> 554</span>&#160;<span class="comment"> There is no limit on how many times d_run() is called, only that activate/deactivate will be called in between.</span></div>
<div class="line"><a name="l00555"></a><span class="lineno"> 555</span>&#160;<span class="comment"></span></div>
<div class="line"><a name="l00556"></a><span class="lineno"> 556</span>&#160;<span class="comment"> The buffer size and sample rate values will remain constant between activate and deactivate.</span></div>
<div class="line"><a name="l00557"></a><span class="lineno"> 557</span>&#160;<span class="comment"> Buffer size is only a hint though, the host might call d_run() with a higher or lower number of frames.</span></div>
<div class="line"><a name="l00558"></a><span class="lineno"> 558</span>&#160;<span class="comment"></span></div>
<div class="line"><a name="l00559"></a><span class="lineno"> 559</span>&#160;<span class="comment"> Some of this class functions are only available according to some macros.</span></div>
<div class="line"><a name="l00560"></a><span class="lineno"> 560</span>&#160;<span class="comment"></span></div>
<div class="line"><a name="l00561"></a><span class="lineno"> 561</span>&#160;<span class="comment"> DISTRHO_PLUGIN_WANT_PROGRAMS activates program related features.</span></div>
<div class="line"><a name="l00562"></a><span class="lineno"> 562</span>&#160;<span class="comment"> When enabled you need to implement d_initProgramName() and d_setProgram().</span></div>
<div class="line"><a name="l00563"></a><span class="lineno"> 563</span>&#160;<span class="comment"></span></div>
<div class="line"><a name="l00564"></a><span class="lineno"> 564</span>&#160;<span class="comment"> DISTRHO_PLUGIN_WANT_STATE activates internal state features.</span></div>
<div class="line"><a name="l00565"></a><span class="lineno"> 565</span>&#160;<span class="comment"> When enabled you need to implement d_initStateKey() and d_setState().</span></div>
<div class="line"><a name="l00566"></a><span class="lineno"> 566</span>&#160;<span class="comment"></span></div>
<div class="line"><a name="l00567"></a><span class="lineno"> 567</span>&#160;<span class="comment"> The process function d_run() changes wherever DISTRHO_PLUGIN_WANT_MIDI_INPUT is enabled or not.</span></div>
<div class="line"><a name="l00568"></a><span class="lineno"> 568</span>&#160;<span class="comment"> When enabled it provides midi input events.</span></div>
<div class="line"><a name="l00569"></a><span class="lineno"> 569</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00570"></a><span class="lineno"><a class="line" href="classPlugin.html"> 570</a></span>&#160;<span class="keyword">class </span><a class="code" href="classPlugin.html">Plugin</a></div>
<div class="line"><a name="l00571"></a><span class="lineno"> 571</span>&#160;{</div>
<div class="line"><a name="l00572"></a><span class="lineno"> 572</span>&#160;<span class="keyword">public</span>:<span class="comment"></span></div>
<div class="line"><a name="l00573"></a><span class="lineno"> 573</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00574"></a><span class="lineno"> 574</span>&#160;<span class="comment"> Plugin class constructor.</span></div>
<div class="line"><a name="l00575"></a><span class="lineno"> 575</span>&#160;<span class="comment"> You must set all parameter values to their defaults, matching ParameterRanges::def.</span></div>
<div class="line"><a name="l00576"></a><span class="lineno"> 576</span>&#160;<span class="comment"> If you&#39;re using states you must also set them to their defaults by calling d_setState().</span></div>
<div class="line"><a name="l00577"></a><span class="lineno"> 577</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00578"></a><span class="lineno"> 578</span>&#160; <a class="code" href="classPlugin.html#a3096e491376cb9378be55915d748de57">Plugin</a>(<span class="keyword">const</span> uint32_t parameterCount, <span class="keyword">const</span> uint32_t programCount, <span class="keyword">const</span> uint32_t stateCount);</div>
<div class="line"><a name="l00579"></a><span class="lineno"> 579</span>&#160;<span class="comment"></span></div>
<div class="line"><a name="l00580"></a><span class="lineno"> 580</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00581"></a><span class="lineno"> 581</span>&#160;<span class="comment"> Destructor.</span></div>
<div class="line"><a name="l00582"></a><span class="lineno"> 582</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00583"></a><span class="lineno"> 583</span>&#160; <span class="keyword">virtual</span> <a class="code" href="classPlugin.html#a89814b8f0b1c91e49140d42eb8331383">~Plugin</a>();</div>
<div class="line"><a name="l00584"></a><span class="lineno"> 584</span>&#160;</div>
<div class="line"><a name="l00585"></a><span class="lineno"> 585</span>&#160; <span class="comment">/* --------------------------------------------------------------------------------------------------------</span></div>
<div class="line"><a name="l00586"></a><span class="lineno"> 586</span>&#160;<span class="comment"> * Host state */</span></div>
<div class="line"><a name="l00587"></a><span class="lineno"> 587</span>&#160;<span class="comment"></span></div>
<div class="line"><a name="l00588"></a><span class="lineno"> 588</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00589"></a><span class="lineno"> 589</span>&#160;<span class="comment"> Get the current buffer size that will probably be used during processing, in frames.</span></div>
<div class="line"><a name="l00590"></a><span class="lineno"> 590</span>&#160;<span class="comment"> This value will remain constant between activate and deactivate.</span></div>
<div class="line"><a name="l00591"></a><span class="lineno"> 591</span>&#160;<span class="comment"> @note: This value is only a hint!</span></div>
<div class="line"><a name="l00592"></a><span class="lineno"> 592</span>&#160;<span class="comment"> Hosts might call d_run() with a higher or lower number of frames.</span></div>
<div class="line"><a name="l00593"></a><span class="lineno"> 593</span>&#160;<span class="comment"> @see d_bufferSizeChanged(uint32_t)</span></div>
<div class="line"><a name="l00594"></a><span class="lineno"> 594</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00595"></a><span class="lineno"> 595</span>&#160; uint32_t <a class="code" href="classPlugin.html#aa0feb17c3dcf13a106505eb6d6b2a3ac">d_getBufferSize</a>() <span class="keyword">const</span> noexcept;</div>
<div class="line"><a name="l00596"></a><span class="lineno"> 596</span>&#160;<span class="comment"></span></div>
<div class="line"><a name="l00597"></a><span class="lineno"> 597</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00598"></a><span class="lineno"> 598</span>&#160;<span class="comment"> Get the current sample rate that will be used during processing.</span></div>
<div class="line"><a name="l00599"></a><span class="lineno"> 599</span>&#160;<span class="comment"> This value will remain constant between activate and deactivate.</span></div>
<div class="line"><a name="l00600"></a><span class="lineno"> 600</span>&#160;<span class="comment"> @see d_sampleRateChanged(double)</span></div>
<div class="line"><a name="l00601"></a><span class="lineno"> 601</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00602"></a><span class="lineno"> 602</span>&#160; <span class="keywordtype">double</span> <a class="code" href="classPlugin.html#ace888940905e8875284e07c52bf7404f">d_getSampleRate</a>() <span class="keyword">const</span> noexcept;</div>
<div class="line"><a name="l00603"></a><span class="lineno"> 603</span>&#160;</div>
<div class="line"><a name="l00604"></a><span class="lineno"> 604</span>&#160;<span class="preprocessor">#if DISTRHO_PLUGIN_WANT_TIMEPOS</span></div>
<div class="line"><a name="l00605"></a><span class="lineno"> 605</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00606"></a><span class="lineno"> 606</span>&#160;<span class="comment"> Get the current host transport time position.</span></div>
<div class="line"><a name="l00607"></a><span class="lineno"> 607</span>&#160;<span class="comment"> This function should only be called during d_run().</span></div>
<div class="line"><a name="l00608"></a><span class="lineno"> 608</span>&#160;<span class="comment"> You can call this during other times, but the returned position is not guaranteed to be in sync.</span></div>
<div class="line"><a name="l00609"></a><span class="lineno"> 609</span>&#160;<span class="comment"> @note: TimePos is not supported in LADSPA and DSSI plugin formats.</span></div>
<div class="line"><a name="l00610"></a><span class="lineno"> 610</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00611"></a><span class="lineno"> 611</span>&#160; <span class="keyword">const</span> <a class="code" href="structTimePosition.html">TimePosition</a>&amp; <a class="code" href="classPlugin.html#ade0a082a3a2936286537a04f4b972225">d_getTimePosition</a>() <span class="keyword">const</span> noexcept;</div>
<div class="line"><a name="l00612"></a><span class="lineno"> 612</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00613"></a><span class="lineno"> 613</span>&#160;</div>
<div class="line"><a name="l00614"></a><span class="lineno"> 614</span>&#160;<span class="preprocessor">#if DISTRHO_PLUGIN_WANT_LATENCY</span></div>
<div class="line"><a name="l00615"></a><span class="lineno"> 615</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00616"></a><span class="lineno"> 616</span>&#160;<span class="comment"> Change the plugin audio output latency to @a frames.</span></div>
<div class="line"><a name="l00617"></a><span class="lineno"> 617</span>&#160;<span class="comment"> This function should only be called in the constructor, d_activate() and d_run().</span></div>
<div class="line"><a name="l00618"></a><span class="lineno"> 618</span>&#160;<span class="comment"> @note This function is only available if DISTRHO_PLUGIN_WANT_LATENCY is enabled.</span></div>
<div class="line"><a name="l00619"></a><span class="lineno"> 619</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00620"></a><span class="lineno"> 620</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classPlugin.html#a7816b45ffb52b0a6308cabb792b1a56f">d_setLatency</a>(uint32_t frames) noexcept;</div>
<div class="line"><a name="l00621"></a><span class="lineno"> 621</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00622"></a><span class="lineno"> 622</span>&#160;</div>
<div class="line"><a name="l00623"></a><span class="lineno"> 623</span>&#160;<span class="preprocessor">#if DISTRHO_PLUGIN_WANT_MIDI_OUTPUT</span></div>
<div class="line"><a name="l00624"></a><span class="lineno"> 624</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00625"></a><span class="lineno"> 625</span>&#160;<span class="comment"> Write a MIDI output event.</span></div>
<div class="line"><a name="l00626"></a><span class="lineno"> 626</span>&#160;<span class="comment"> This function must only be called during d_run().</span></div>
<div class="line"><a name="l00627"></a><span class="lineno"> 627</span>&#160;<span class="comment"> Returns false when the host buffer is full, in which case do not call this again until the next d_run().</span></div>
<div class="line"><a name="l00628"></a><span class="lineno"> 628</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00629"></a><span class="lineno"> 629</span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classPlugin.html#afa10aea18e4036b4a7487f2779d92e0f">d_writeMidiEvent</a>(<span class="keyword">const</span> <a class="code" href="structMidiEvent.html">MidiEvent</a>&amp; midiEvent) noexcept;</div>
<div class="line"><a name="l00630"></a><span class="lineno"> 630</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00631"></a><span class="lineno"> 631</span>&#160;</div>
<div class="line"><a name="l00632"></a><span class="lineno"> 632</span>&#160;<span class="keyword">protected</span>:</div>
<div class="line"><a name="l00633"></a><span class="lineno"> 633</span>&#160; <span class="comment">/* --------------------------------------------------------------------------------------------------------</span></div>
<div class="line"><a name="l00634"></a><span class="lineno"> 634</span>&#160;<span class="comment"> * Information */</span></div>
<div class="line"><a name="l00635"></a><span class="lineno"> 635</span>&#160;<span class="comment"></span></div>
<div class="line"><a name="l00636"></a><span class="lineno"> 636</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00637"></a><span class="lineno"> 637</span>&#160;<span class="comment"> Get the plugin name.</span></div>
<div class="line"><a name="l00638"></a><span class="lineno"> 638</span>&#160;<span class="comment"> Returns DISTRHO_PLUGIN_NAME by default.</span></div>
<div class="line"><a name="l00639"></a><span class="lineno"> 639</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00640"></a><span class="lineno"><a class="line" href="classPlugin.html#a0f8fb7aa5ab05ba246e158b1024dd031"> 640</a></span>&#160; <span class="keyword">virtual</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* <a class="code" href="classPlugin.html#a0f8fb7aa5ab05ba246e158b1024dd031">d_getName</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="group__PluginMacros.html#ga888482a9f695c2ca2f433e5f3172dcc4">DISTRHO_PLUGIN_NAME</a>; }</div>
<div class="line"><a name="l00641"></a><span class="lineno"> 641</span>&#160;<span class="comment"></span></div>
<div class="line"><a name="l00642"></a><span class="lineno"> 642</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00643"></a><span class="lineno"> 643</span>&#160;<span class="comment"> Get the plugin label.</span></div>
<div class="line"><a name="l00644"></a><span class="lineno"> 644</span>&#160;<span class="comment"> A plugin label follows the same rules as Parameter::symbol, with the exception that it can start with numbers.</span></div>
<div class="line"><a name="l00645"></a><span class="lineno"> 645</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00646"></a><span class="lineno"> 646</span>&#160; <span class="keyword">virtual</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* <a class="code" href="classPlugin.html#ae512b28d1b274a055de33812cf094d81">d_getLabel</a>() <span class="keyword">const</span> = 0;</div>
<div class="line"><a name="l00647"></a><span class="lineno"> 647</span>&#160;<span class="comment"></span></div>
<div class="line"><a name="l00648"></a><span class="lineno"> 648</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00649"></a><span class="lineno"> 649</span>&#160;<span class="comment"> Get the plugin author/maker.</span></div>
<div class="line"><a name="l00650"></a><span class="lineno"> 650</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00651"></a><span class="lineno"> 651</span>&#160; <span class="keyword">virtual</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* <a class="code" href="classPlugin.html#a0eaf2f46f04d60526622afb5a86e026c">d_getMaker</a>() <span class="keyword">const</span> = 0;</div>
<div class="line"><a name="l00652"></a><span class="lineno"> 652</span>&#160;<span class="comment"></span></div>
<div class="line"><a name="l00653"></a><span class="lineno"> 653</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00654"></a><span class="lineno"> 654</span>&#160;<span class="comment"> Get the plugin license name (a single line of text).</span></div>
<div class="line"><a name="l00655"></a><span class="lineno"> 655</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00656"></a><span class="lineno"> 656</span>&#160; <span class="keyword">virtual</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* <a class="code" href="classPlugin.html#ae9333c170accfd2a237448a4579d5fef">d_getLicense</a>() <span class="keyword">const</span> = 0;</div>
<div class="line"><a name="l00657"></a><span class="lineno"> 657</span>&#160;<span class="comment"></span></div>
<div class="line"><a name="l00658"></a><span class="lineno"> 658</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00659"></a><span class="lineno"> 659</span>&#160;<span class="comment"> Get the plugin version, in hexadecimal.</span></div>
<div class="line"><a name="l00660"></a><span class="lineno"> 660</span>&#160;<span class="comment"> TODO format to be defined</span></div>
<div class="line"><a name="l00661"></a><span class="lineno"> 661</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00662"></a><span class="lineno"> 662</span>&#160; <span class="keyword">virtual</span> uint32_t <a class="code" href="classPlugin.html#af9251f8d90e4df43c6387bd111487e4e">d_getVersion</a>() <span class="keyword">const</span> = 0;</div>
<div class="line"><a name="l00663"></a><span class="lineno"> 663</span>&#160;<span class="comment"></span></div>
<div class="line"><a name="l00664"></a><span class="lineno"> 664</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00665"></a><span class="lineno"> 665</span>&#160;<span class="comment"> Get the plugin unique Id.</span></div>
<div class="line"><a name="l00666"></a><span class="lineno"> 666</span>&#160;<span class="comment"> This value is used by LADSPA, DSSI and VST plugin formats.</span></div>
<div class="line"><a name="l00667"></a><span class="lineno"> 667</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00668"></a><span class="lineno"> 668</span>&#160; <span class="keyword">virtual</span> int64_t <a class="code" href="classPlugin.html#aea77208248b36c7b8c9dc57ee68ae97a">d_getUniqueId</a>() <span class="keyword">const</span> = 0;</div>
<div class="line"><a name="l00669"></a><span class="lineno"> 669</span>&#160;</div>
<div class="line"><a name="l00670"></a><span class="lineno"> 670</span>&#160; <span class="comment">/* --------------------------------------------------------------------------------------------------------</span></div>
<div class="line"><a name="l00671"></a><span class="lineno"> 671</span>&#160;<span class="comment"> * Init */</span></div>
<div class="line"><a name="l00672"></a><span class="lineno"> 672</span>&#160;<span class="comment"></span></div>
<div class="line"><a name="l00673"></a><span class="lineno"> 673</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00674"></a><span class="lineno"> 674</span>&#160;<span class="comment"> Initialize the parameter @a index.</span></div>
<div class="line"><a name="l00675"></a><span class="lineno"> 675</span>&#160;<span class="comment"> This function will be called once, shortly after the plugin is created.</span></div>
<div class="line"><a name="l00676"></a><span class="lineno"> 676</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00677"></a><span class="lineno"> 677</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classPlugin.html#a3f93a8eb97db3dc9984c357c5ffca5ec">d_initParameter</a>(uint32_t index, <a class="code" href="structParameter.html">Parameter</a>&amp; parameter) = 0;</div>
<div class="line"><a name="l00678"></a><span class="lineno"> 678</span>&#160;</div>
<div class="line"><a name="l00679"></a><span class="lineno"> 679</span>&#160;<span class="preprocessor">#if DISTRHO_PLUGIN_WANT_PROGRAMS</span></div>
<div class="line"><a name="l00680"></a><span class="lineno"> 680</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00681"></a><span class="lineno"> 681</span>&#160;<span class="comment"> Set the name of the program @a index.</span></div>
<div class="line"><a name="l00682"></a><span class="lineno"> 682</span>&#160;<span class="comment"> This function will be called once, shortly after the plugin is created.</span></div>
<div class="line"><a name="l00683"></a><span class="lineno"> 683</span>&#160;<span class="comment"> Must be implemented by your plugin class only if DISTRHO_PLUGIN_WANT_PROGRAMS is enabled.</span></div>
<div class="line"><a name="l00684"></a><span class="lineno"> 684</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00685"></a><span class="lineno"> 685</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classPlugin.html#a8a1792b7c5c6a3fd9cd626c7156ec3b6">d_initProgramName</a>(uint32_t index, d_string&amp; programName) = 0;</div>
<div class="line"><a name="l00686"></a><span class="lineno"> 686</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00687"></a><span class="lineno"> 687</span>&#160;</div>
<div class="line"><a name="l00688"></a><span class="lineno"> 688</span>&#160;<span class="preprocessor">#if DISTRHO_PLUGIN_WANT_STATE</span></div>
<div class="line"><a name="l00689"></a><span class="lineno"> 689</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00690"></a><span class="lineno"> 690</span>&#160;<span class="comment"> Set the state key and default value of @a index.</span></div>
<div class="line"><a name="l00691"></a><span class="lineno"> 691</span>&#160;<span class="comment"> This function will be called once, shortly after the plugin is created.</span></div>
<div class="line"><a name="l00692"></a><span class="lineno"> 692</span>&#160;<span class="comment"> Must be implemented by your plugin class only if DISTRHO_PLUGIN_WANT_STATE is enabled.</span></div>
<div class="line"><a name="l00693"></a><span class="lineno"> 693</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00694"></a><span class="lineno"> 694</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classPlugin.html#a65f9f9d4a30b0a56dfa42703c0b4db76">d_initState</a>(uint32_t index, d_string&amp; stateKey, d_string&amp; defaultStateValue) = 0;</div>
<div class="line"><a name="l00695"></a><span class="lineno"> 695</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00696"></a><span class="lineno"> 696</span>&#160;</div>
<div class="line"><a name="l00697"></a><span class="lineno"> 697</span>&#160; <span class="comment">/* --------------------------------------------------------------------------------------------------------</span></div>
<div class="line"><a name="l00698"></a><span class="lineno"> 698</span>&#160;<span class="comment"> * Internal data */</span></div>
<div class="line"><a name="l00699"></a><span class="lineno"> 699</span>&#160;<span class="comment"></span></div>
<div class="line"><a name="l00700"></a><span class="lineno"> 700</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00701"></a><span class="lineno"> 701</span>&#160;<span class="comment"> Get the current value of a parameter.</span></div>
<div class="line"><a name="l00702"></a><span class="lineno"> 702</span>&#160;<span class="comment"> The host may call this function from any context, including realtime processing.</span></div>
<div class="line"><a name="l00703"></a><span class="lineno"> 703</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00704"></a><span class="lineno"> 704</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">float</span> <a class="code" href="classPlugin.html#af088f855761b67489f19f42fbb585088">d_getParameterValue</a>(uint32_t index) <span class="keyword">const</span> = 0;</div>
<div class="line"><a name="l00705"></a><span class="lineno"> 705</span>&#160;<span class="comment"></span></div>
<div class="line"><a name="l00706"></a><span class="lineno"> 706</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00707"></a><span class="lineno"> 707</span>&#160;<span class="comment"> Change a parameter value.</span></div>
<div class="line"><a name="l00708"></a><span class="lineno"> 708</span>&#160;<span class="comment"> The host may call this function from any context, including realtime processing.</span></div>
<div class="line"><a name="l00709"></a><span class="lineno"> 709</span>&#160;<span class="comment"> When a parameter is marked as automable, you must ensure no non-realtime operations are called.</span></div>
<div class="line"><a name="l00710"></a><span class="lineno"> 710</span>&#160;<span class="comment"> @note This function will only be called for parameter inputs.</span></div>
<div class="line"><a name="l00711"></a><span class="lineno"> 711</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00712"></a><span class="lineno"> 712</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classPlugin.html#a4cdd613f58a013429094700f3d83904a">d_setParameterValue</a>(uint32_t index, <span class="keywordtype">float</span> value) = 0;</div>
<div class="line"><a name="l00713"></a><span class="lineno"> 713</span>&#160;</div>
<div class="line"><a name="l00714"></a><span class="lineno"> 714</span>&#160;<span class="preprocessor">#if DISTRHO_PLUGIN_WANT_PROGRAMS</span></div>
<div class="line"><a name="l00715"></a><span class="lineno"> 715</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00716"></a><span class="lineno"> 716</span>&#160;<span class="comment"> Change the currently used program to @a index.</span></div>
<div class="line"><a name="l00717"></a><span class="lineno"> 717</span>&#160;<span class="comment"> The host may call this function from any context, including realtime processing.</span></div>
<div class="line"><a name="l00718"></a><span class="lineno"> 718</span>&#160;<span class="comment"> Must be implemented by your plugin class only if DISTRHO_PLUGIN_WANT_PROGRAMS is enabled.</span></div>
<div class="line"><a name="l00719"></a><span class="lineno"> 719</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00720"></a><span class="lineno"> 720</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classPlugin.html#a1d001e50781b35df23f6d9a218f5f804">d_setProgram</a>(uint32_t index) = 0;</div>
<div class="line"><a name="l00721"></a><span class="lineno"> 721</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00722"></a><span class="lineno"> 722</span>&#160;</div>
<div class="line"><a name="l00723"></a><span class="lineno"> 723</span>&#160;<span class="preprocessor">#if DISTRHO_PLUGIN_WANT_STATE</span></div>
<div class="line"><a name="l00724"></a><span class="lineno"> 724</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00725"></a><span class="lineno"> 725</span>&#160;<span class="comment"> Change an internal state @a key to @a value.</span></div>
<div class="line"><a name="l00726"></a><span class="lineno"> 726</span>&#160;<span class="comment"> Must be implemented by your plugin class only if DISTRHO_PLUGIN_WANT_STATE is enabled.</span></div>
<div class="line"><a name="l00727"></a><span class="lineno"> 727</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00728"></a><span class="lineno"> 728</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classPlugin.html#ad9c46a36cab96f52a0370043093bca68">d_setState</a>(<span class="keyword">const</span> <span class="keywordtype">char</span>* key, <span class="keyword">const</span> <span class="keywordtype">char</span>* value) = 0;</div>
<div class="line"><a name="l00729"></a><span class="lineno"> 729</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00730"></a><span class="lineno"> 730</span>&#160;</div>
<div class="line"><a name="l00731"></a><span class="lineno"> 731</span>&#160; <span class="comment">/* --------------------------------------------------------------------------------------------------------</span></div>
<div class="line"><a name="l00732"></a><span class="lineno"> 732</span>&#160;<span class="comment"> * Process */</span></div>
<div class="line"><a name="l00733"></a><span class="lineno"> 733</span>&#160;<span class="comment"></span></div>
<div class="line"><a name="l00734"></a><span class="lineno"> 734</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00735"></a><span class="lineno"> 735</span>&#160;<span class="comment"> Activate this plugin.</span></div>
<div class="line"><a name="l00736"></a><span class="lineno"> 736</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00737"></a><span class="lineno"><a class="line" href="classPlugin.html#a15df4876febf5909fe040d401fc704d0"> 737</a></span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classPlugin.html#a15df4876febf5909fe040d401fc704d0">d_activate</a>() {}</div>
<div class="line"><a name="l00738"></a><span class="lineno"> 738</span>&#160;<span class="comment"></span></div>
<div class="line"><a name="l00739"></a><span class="lineno"> 739</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00740"></a><span class="lineno"> 740</span>&#160;<span class="comment"> Deactivate this plugin.</span></div>
<div class="line"><a name="l00741"></a><span class="lineno"> 741</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00742"></a><span class="lineno"><a class="line" href="classPlugin.html#a5c008d623e558e7266aecaff22fc787a"> 742</a></span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classPlugin.html#a5c008d623e558e7266aecaff22fc787a">d_deactivate</a>() {}</div>
<div class="line"><a name="l00743"></a><span class="lineno"> 743</span>&#160;</div>
<div class="line"><a name="l00744"></a><span class="lineno"> 744</span>&#160;<span class="preprocessor">#if DISTRHO_PLUGIN_WANT_MIDI_INPUT</span></div>
<div class="line"><a name="l00745"></a><span class="lineno"> 745</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00746"></a><span class="lineno"> 746</span>&#160;<span class="comment"> Run/process function for plugins with MIDI input.</span></div>
<div class="line"><a name="l00747"></a><span class="lineno"> 747</span>&#160;<span class="comment"> @note: Some parameters might be null if there are no audio inputs/outputs or MIDI events.</span></div>
<div class="line"><a name="l00748"></a><span class="lineno"> 748</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00749"></a><span class="lineno"> 749</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classPlugin.html#af67102a7c6d19a8530ce0e3293e55667">d_run</a>(<span class="keyword">const</span> <span class="keywordtype">float</span>** inputs, <span class="keywordtype">float</span>** outputs, uint32_t frames,</div>
<div class="line"><a name="l00750"></a><span class="lineno"> 750</span>&#160; <span class="keyword">const</span> <a class="code" href="structMidiEvent.html">MidiEvent</a>* midiEvents, uint32_t midiEventCount) = 0;</div>
<div class="line"><a name="l00751"></a><span class="lineno"> 751</span>&#160;<span class="preprocessor">#else</span></div>
<div class="line"><a name="l00752"></a><span class="lineno"> 752</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00753"></a><span class="lineno"> 753</span>&#160;<span class="comment"> Run/process function for plugins without MIDI input.</span></div>
<div class="line"><a name="l00754"></a><span class="lineno"> 754</span>&#160;<span class="comment"> @note: Some parameters might be null if there are no audio inputs or outputs.</span></div>
<div class="line"><a name="l00755"></a><span class="lineno"> 755</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00756"></a><span class="lineno"> 756</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classPlugin.html#af67102a7c6d19a8530ce0e3293e55667">d_run</a>(<span class="keyword">const</span> <span class="keywordtype">float</span>** inputs, <span class="keywordtype">float</span>** outputs, uint32_t frames) = 0;</div>
<div class="line"><a name="l00757"></a><span class="lineno"> 757</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00758"></a><span class="lineno"> 758</span>&#160;</div>
<div class="line"><a name="l00759"></a><span class="lineno"> 759</span>&#160; <span class="comment">/* --------------------------------------------------------------------------------------------------------</span></div>
<div class="line"><a name="l00760"></a><span class="lineno"> 760</span>&#160;<span class="comment"> * Callbacks (optional) */</span></div>
<div class="line"><a name="l00761"></a><span class="lineno"> 761</span>&#160;<span class="comment"></span></div>
<div class="line"><a name="l00762"></a><span class="lineno"> 762</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00763"></a><span class="lineno"> 763</span>&#160;<span class="comment"> Optional callback to inform the plugin about a buffer size change.</span></div>
<div class="line"><a name="l00764"></a><span class="lineno"> 764</span>&#160;<span class="comment"> This function will only be called when the plugin is deactivated.</span></div>
<div class="line"><a name="l00765"></a><span class="lineno"> 765</span>&#160;<span class="comment"> @note: This value is only a hint!</span></div>
<div class="line"><a name="l00766"></a><span class="lineno"> 766</span>&#160;<span class="comment"> Hosts might call d_run() with a higher or lower number of frames.</span></div>
<div class="line"><a name="l00767"></a><span class="lineno"> 767</span>&#160;<span class="comment"> @see d_getBufferSize()</span></div>
<div class="line"><a name="l00768"></a><span class="lineno"> 768</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00769"></a><span class="lineno"> 769</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classPlugin.html#a2c6ac454e24b667d54eaaf63da252627">d_bufferSizeChanged</a>(uint32_t newBufferSize);</div>
<div class="line"><a name="l00770"></a><span class="lineno"> 770</span>&#160;<span class="comment"></span></div>
<div class="line"><a name="l00771"></a><span class="lineno"> 771</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00772"></a><span class="lineno"> 772</span>&#160;<span class="comment"> Optional callback to inform the plugin about a sample rate change.</span></div>
<div class="line"><a name="l00773"></a><span class="lineno"> 773</span>&#160;<span class="comment"> This function will only be called when the plugin is deactivated.</span></div>
<div class="line"><a name="l00774"></a><span class="lineno"> 774</span>&#160;<span class="comment"> @see d_getSampleRate()</span></div>
<div class="line"><a name="l00775"></a><span class="lineno"> 775</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00776"></a><span class="lineno"> 776</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classPlugin.html#a469b53e1c1417a32d766cf96d1b3c45e">d_sampleRateChanged</a>(<span class="keywordtype">double</span> newSampleRate);</div>
<div class="line"><a name="l00777"></a><span class="lineno"> 777</span>&#160;</div>
<div class="line"><a name="l00778"></a><span class="lineno"> 778</span>&#160; <span class="comment">// -------------------------------------------------------------------------------------------------------</span></div>
<div class="line"><a name="l00779"></a><span class="lineno"> 779</span>&#160;</div>
<div class="line"><a name="l00780"></a><span class="lineno"> 780</span>&#160;<span class="keyword">private</span>:</div>
<div class="line"><a name="l00781"></a><span class="lineno"> 781</span>&#160; <span class="keyword">struct </span>PrivateData;</div>
<div class="line"><a name="l00782"></a><span class="lineno"> 782</span>&#160; PrivateData* <span class="keyword">const</span> pData;</div>
<div class="line"><a name="l00783"></a><span class="lineno"> 783</span>&#160; <span class="keyword">friend</span> <span class="keyword">class </span>PluginExporter;</div>
<div class="line"><a name="l00784"></a><span class="lineno"> 784</span>&#160;</div>
<div class="line"><a name="l00785"></a><span class="lineno"> 785</span>&#160; DISTRHO_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR(<a class="code" href="classPlugin.html">Plugin</a>)</div>
<div class="line"><a name="l00786"></a><span class="lineno"> 786</span>&#160;};</div>
<div class="line"><a name="l00787"></a><span class="lineno"> 787</span>&#160;</div>
<div class="line"><a name="l00788"></a><span class="lineno"> 788</span>&#160;<span class="comment">/* ------------------------------------------------------------------------------------------------------------</span></div>
<div class="line"><a name="l00789"></a><span class="lineno"> 789</span>&#160;<span class="comment"> * Create plugin, entry point */</span></div>
<div class="line"><a name="l00790"></a><span class="lineno"> 790</span>&#160;<span class="comment"></span></div>
<div class="line"><a name="l00791"></a><span class="lineno"> 791</span>&#160;<span class="comment">/**</span></div>
<div class="line"><a name="l00792"></a><span class="lineno"> 792</span>&#160;<span class="comment"> TODO.</span></div>
<div class="line"><a name="l00793"></a><span class="lineno"> 793</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00794"></a><span class="lineno"> 794</span>&#160;<span class="keyword">extern</span> <a class="code" href="classPlugin.html">Plugin</a>* createPlugin();</div>
<div class="line"><a name="l00795"></a><span class="lineno"> 795</span>&#160;</div>
<div class="line"><a name="l00796"></a><span class="lineno"> 796</span>&#160;<span class="comment">// -----------------------------------------------------------------------------------------------------------</span></div>
<div class="line"><a name="l00797"></a><span class="lineno"> 797</span>&#160;</div>
<div class="line"><a name="l00798"></a><span class="lineno"> 798</span>&#160;END_NAMESPACE_DISTRHO</div>
<div class="line"><a name="l00799"></a><span class="lineno"> 799</span>&#160;</div>
<div class="line"><a name="l00800"></a><span class="lineno"> 800</span>&#160;<span class="preprocessor">#endif // DISTRHO_PLUGIN_HPP_INCLUDED</span></div>
<div class="ttc" id="structParameterRanges_html_a63c40988463a8ace9d0e9e55a00f3c7b"><div class="ttname"><a href="structParameterRanges.html#a63c40988463a8ace9d0e9e55a00f3c7b">ParameterRanges::min</a></div><div class="ttdeci">float min</div><div class="ttdef"><b>Definition:</b> DistrhoPlugin.hpp:262</div></div>
<div class="ttc" id="classPlugin_html_a0eaf2f46f04d60526622afb5a86e026c"><div class="ttname"><a href="classPlugin.html#a0eaf2f46f04d60526622afb5a86e026c">Plugin::d_getMaker</a></div><div class="ttdeci">virtual const char * d_getMaker() const =0</div></div>
<div class="ttc" id="classPlugin_html_a65f9f9d4a30b0a56dfa42703c0b4db76"><div class="ttname"><a href="classPlugin.html#a65f9f9d4a30b0a56dfa42703c0b4db76">Plugin::d_initState</a></div><div class="ttdeci">virtual void d_initState(uint32_t index, d_string &amp;stateKey, d_string &amp;defaultStateValue)=0</div></div>
<div class="ttc" id="classPlugin_html_a5c008d623e558e7266aecaff22fc787a"><div class="ttname"><a href="classPlugin.html#a5c008d623e558e7266aecaff22fc787a">Plugin::d_deactivate</a></div><div class="ttdeci">virtual void d_deactivate()</div><div class="ttdef"><b>Definition:</b> DistrhoPlugin.hpp:742</div></div>
<div class="ttc" id="classPlugin_html_a3096e491376cb9378be55915d748de57"><div class="ttname"><a href="classPlugin.html#a3096e491376cb9378be55915d748de57">Plugin::Plugin</a></div><div class="ttdeci">Plugin(const uint32_t parameterCount, const uint32_t programCount, const uint32_t stateCount)</div></div>
<div class="ttc" id="classPlugin_html_ade0a082a3a2936286537a04f4b972225"><div class="ttname"><a href="classPlugin.html#ade0a082a3a2936286537a04f4b972225">Plugin::d_getTimePosition</a></div><div class="ttdeci">const TimePosition &amp; d_getTimePosition() const noexcept</div></div>
<div class="ttc" id="classPlugin_html_aea77208248b36c7b8c9dc57ee68ae97a"><div class="ttname"><a href="classPlugin.html#aea77208248b36c7b8c9dc57ee68ae97a">Plugin::d_getUniqueId</a></div><div class="ttdeci">virtual int64_t d_getUniqueId() const =0</div></div>
<div class="ttc" id="structParameter_html_a12ced87d6d832deccb6c8ce2c8313b2e"><div class="ttname"><a href="structParameter.html#a12ced87d6d832deccb6c8ce2c8313b2e">Parameter::Parameter</a></div><div class="ttdeci">Parameter() noexcept</div><div class="ttdef"><b>Definition:</b> DistrhoPlugin.hpp:405</div></div>
<div class="ttc" id="structMidiEvent_html_aca2f6590b33bd2175ab71f985747d88e"><div class="ttname"><a href="structMidiEvent.html#aca2f6590b33bd2175ab71f985747d88e">MidiEvent::frame</a></div><div class="ttdeci">uint32_t frame</div><div class="ttdef"><b>Definition:</b> DistrhoPlugin.hpp:425</div></div>
<div class="ttc" id="classPlugin_html_af9251f8d90e4df43c6387bd111487e4e"><div class="ttname"><a href="classPlugin.html#af9251f8d90e4df43c6387bd111487e4e">Plugin::d_getVersion</a></div><div class="ttdeci">virtual uint32_t d_getVersion() const =0</div></div>
<div class="ttc" id="structMidiEvent_html_a48b420a6dbca6502113b92c336a3041e"><div class="ttname"><a href="structMidiEvent.html#a48b420a6dbca6502113b92c336a3041e">MidiEvent::size</a></div><div class="ttdeci">uint32_t size</div><div class="ttdef"><b>Definition:</b> DistrhoPlugin.hpp:430</div></div>
<div class="ttc" id="classPlugin_html_afa10aea18e4036b4a7487f2779d92e0f"><div class="ttname"><a href="classPlugin.html#afa10aea18e4036b4a7487f2779d92e0f">Plugin::d_writeMidiEvent</a></div><div class="ttdeci">bool d_writeMidiEvent(const MidiEvent &amp;midiEvent) noexcept</div></div>
<div class="ttc" id="structMidiEvent_html_aba54410d44eef48c10516f29452ef3a9"><div class="ttname"><a href="structMidiEvent.html#aba54410d44eef48c10516f29452ef3a9">MidiEvent::data</a></div><div class="ttdeci">uint8_t data[kDataSize]</div><div class="ttdef"><b>Definition:</b> DistrhoPlugin.hpp:436</div></div>
<div class="ttc" id="classPlugin_html_af088f855761b67489f19f42fbb585088"><div class="ttname"><a href="classPlugin.html#af088f855761b67489f19f42fbb585088">Plugin::d_getParameterValue</a></div><div class="ttdeci">virtual float d_getParameterValue(uint32_t index) const =0</div></div>
<div class="ttc" id="classPlugin_html_a4cdd613f58a013429094700f3d83904a"><div class="ttname"><a href="classPlugin.html#a4cdd613f58a013429094700f3d83904a">Plugin::d_setParameterValue</a></div><div class="ttdeci">virtual void d_setParameterValue(uint32_t index, float value)=0</div></div>
<div class="ttc" id="classPlugin_html_ae512b28d1b274a055de33812cf094d81"><div class="ttname"><a href="classPlugin.html#ae512b28d1b274a055de33812cf094d81">Plugin::d_getLabel</a></div><div class="ttdeci">virtual const char * d_getLabel() const =0</div></div>
<div class="ttc" id="structParameterRanges_html_a1dac84c100f420bfc529a4d2ea60dc7c"><div class="ttname"><a href="structParameterRanges.html#a1dac84c100f420bfc529a4d2ea60dc7c">ParameterRanges::fixValue</a></div><div class="ttdeci">void fixValue(float &amp;value) const noexcept</div><div class="ttdef"><b>Definition:</b> DistrhoPlugin.hpp:296</div></div>
<div class="ttc" id="classPlugin_html_a469b53e1c1417a32d766cf96d1b3c45e"><div class="ttname"><a href="classPlugin.html#a469b53e1c1417a32d766cf96d1b3c45e">Plugin::d_sampleRateChanged</a></div><div class="ttdeci">virtual void d_sampleRateChanged(double newSampleRate)</div></div>
<div class="ttc" id="structTimePosition_1_1BarBeatTick_html_ab8cfc3f2709a79e733e58556712da062"><div class="ttname"><a href="structTimePosition_1_1BarBeatTick.html#ab8cfc3f2709a79e733e58556712da062">TimePosition::BarBeatTick::ticksPerBeat</a></div><div class="ttdeci">double ticksPerBeat</div><div class="ttdef"><b>Definition:</b> DistrhoPlugin.hpp:508</div></div>
<div class="ttc" id="classPlugin_html_a0f8fb7aa5ab05ba246e158b1024dd031"><div class="ttname"><a href="classPlugin.html#a0f8fb7aa5ab05ba246e158b1024dd031">Plugin::d_getName</a></div><div class="ttdeci">virtual const char * d_getName() const </div><div class="ttdef"><b>Definition:</b> DistrhoPlugin.hpp:640</div></div>
<div class="ttc" id="structMidiEvent_html"><div class="ttname"><a href="structMidiEvent.html">MidiEvent</a></div><div class="ttdef"><b>Definition:</b> DistrhoPlugin.hpp:416</div></div>
<div class="ttc" id="structTimePosition_1_1BarBeatTick_html_ad104eba852516842d8c4776f9d495d21"><div class="ttname"><a href="structTimePosition_1_1BarBeatTick.html#ad104eba852516842d8c4776f9d495d21">TimePosition::BarBeatTick::bar</a></div><div class="ttdeci">int32_t bar</div><div class="ttdef"><b>Definition:</b> DistrhoPlugin.hpp:473</div></div>
<div class="ttc" id="classPlugin_html_af67102a7c6d19a8530ce0e3293e55667"><div class="ttname"><a href="classPlugin.html#af67102a7c6d19a8530ce0e3293e55667">Plugin::d_run</a></div><div class="ttdeci">virtual void d_run(const float **inputs, float **outputs, uint32_t frames, const MidiEvent *midiEvents, uint32_t midiEventCount)=0</div></div>
<div class="ttc" id="classPlugin_html_ae9333c170accfd2a237448a4579d5fef"><div class="ttname"><a href="classPlugin.html#ae9333c170accfd2a237448a4579d5fef">Plugin::d_getLicense</a></div><div class="ttdeci">virtual const char * d_getLicense() const =0</div></div>
<div class="ttc" id="group__PluginMacros_html_ga888482a9f695c2ca2f433e5f3172dcc4"><div class="ttname"><a href="group__PluginMacros.html#ga888482a9f695c2ca2f433e5f3172dcc4">DISTRHO_PLUGIN_NAME</a></div><div class="ttdeci">#define DISTRHO_PLUGIN_NAME</div><div class="ttdef"><b>Definition:</b> DistrhoPlugin.hpp:86</div></div>
<div class="ttc" id="structParameterRanges_html_adb9b2712df3401eb0c5e11362d865d4e"><div class="ttname"><a href="structParameterRanges.html#adb9b2712df3401eb0c5e11362d865d4e">ParameterRanges::ParameterRanges</a></div><div class="ttdeci">ParameterRanges() noexcept</div><div class="ttdef"><b>Definition:</b> DistrhoPlugin.hpp:272</div></div>
<div class="ttc" id="structTimePosition_1_1BarBeatTick_html_af7cb9ae9b30da287828ebddee5caff2f"><div class="ttname"><a href="structTimePosition_1_1BarBeatTick.html#af7cb9ae9b30da287828ebddee5caff2f">TimePosition::BarBeatTick::beatsPerMinute</a></div><div class="ttdeci">double beatsPerMinute</div><div class="ttdef"><b>Definition:</b> DistrhoPlugin.hpp:513</div></div>
<div class="ttc" id="structParameter_html_a397fb977f0c6cbec31df4f141ca3f5b3"><div class="ttname"><a href="structParameter.html#a397fb977f0c6cbec31df4f141ca3f5b3">Parameter::hints</a></div><div class="ttdeci">uint32_t hints</div><div class="ttdef"><b>Definition:</b> DistrhoPlugin.hpp:372</div></div>
<div class="ttc" id="group__ParameterHints_html_ga1eae4d034f2ff1bc14035d87c4b63b14"><div class="ttname"><a href="group__ParameterHints.html#ga1eae4d034f2ff1bc14035d87c4b63b14">kParameterIsCV</a></div><div class="ttdeci">static const uint32_t kParameterIsCV</div><div class="ttdef"><b>Definition:</b> DistrhoPlugin.hpp:234</div></div>
<div class="ttc" id="classPlugin_html"><div class="ttname"><a href="classPlugin.html">Plugin</a></div><div class="ttdef"><b>Definition:</b> DistrhoPlugin.hpp:570</div></div>
<div class="ttc" id="structParameterRanges_html_a992f75a925b3cd5e66544087708ea3c3"><div class="ttname"><a href="structParameterRanges.html#a992f75a925b3cd5e66544087708ea3c3">ParameterRanges::getUnnormalizedValue</a></div><div class="ttdeci">float getUnnormalizedValue(const float &amp;value) const noexcept</div><div class="ttdef"><b>Definition:</b> DistrhoPlugin.hpp:353</div></div>
<div class="ttc" id="structTimePosition_html_a35db424bdf8ec01102a4fa6346c45574"><div class="ttname"><a href="structTimePosition.html#a35db424bdf8ec01102a4fa6346c45574">TimePosition::playing</a></div><div class="ttdeci">bool playing</div><div class="ttdef"><b>Definition:</b> DistrhoPlugin.hpp:451</div></div>
<div class="ttc" id="structTimePosition_1_1BarBeatTick_html_ad38d7364a5441f1f49c3538f5691a299"><div class="ttname"><a href="structTimePosition_1_1BarBeatTick.html#ad38d7364a5441f1f49c3538f5691a299">TimePosition::BarBeatTick::tick</a></div><div class="ttdeci">int32_t tick</div><div class="ttdef"><b>Definition:</b> DistrhoPlugin.hpp:487</div></div>
<div class="ttc" id="structTimePosition_1_1BarBeatTick_html_a4805c98ceeedca9fb886de068c50cb88"><div class="ttname"><a href="structTimePosition_1_1BarBeatTick.html#a4805c98ceeedca9fb886de068c50cb88">TimePosition::BarBeatTick::beatsPerBar</a></div><div class="ttdeci">float beatsPerBar</div><div class="ttdef"><b>Definition:</b> DistrhoPlugin.hpp:497</div></div>
<div class="ttc" id="classPlugin_html_a89814b8f0b1c91e49140d42eb8331383"><div class="ttname"><a href="classPlugin.html#a89814b8f0b1c91e49140d42eb8331383">Plugin::~Plugin</a></div><div class="ttdeci">virtual ~Plugin()</div></div>
<div class="ttc" id="structTimePosition_html_aee816daeed95cf309ded1087a0c800ae"><div class="ttname"><a href="structTimePosition.html#aee816daeed95cf309ded1087a0c800ae">TimePosition::TimePosition</a></div><div class="ttdeci">TimePosition() noexcept</div><div class="ttdef"><b>Definition:</b> DistrhoPlugin.hpp:533</div></div>
<div class="ttc" id="classPlugin_html_a1d001e50781b35df23f6d9a218f5f804"><div class="ttname"><a href="classPlugin.html#a1d001e50781b35df23f6d9a218f5f804">Plugin::d_setProgram</a></div><div class="ttdeci">virtual void d_setProgram(uint32_t index)=0</div></div>
<div class="ttc" id="structTimePosition_html_aa3606d1c518c7ebe6335bc19f72b015b"><div class="ttname"><a href="structTimePosition.html#aa3606d1c518c7ebe6335bc19f72b015b">TimePosition::frame</a></div><div class="ttdeci">uint64_t frame</div><div class="ttdef"><b>Definition:</b> DistrhoPlugin.hpp:456</div></div>
<div class="ttc" id="structTimePosition_1_1BarBeatTick_html_abff8c9586a4e82694e7d6bac3e8da1ef"><div class="ttname"><a href="structTimePosition_1_1BarBeatTick.html#abff8c9586a4e82694e7d6bac3e8da1ef">TimePosition::BarBeatTick::BarBeatTick</a></div><div class="ttdeci">BarBeatTick() noexcept</div><div class="ttdef"><b>Definition:</b> DistrhoPlugin.hpp:518</div></div>
<div class="ttc" id="group__ParameterHints_html_ga04161ef926442aa08ae7aa6847078ad9"><div class="ttname"><a href="group__ParameterHints.html#ga04161ef926442aa08ae7aa6847078ad9">kParameterIsAutomable</a></div><div class="ttdeci">static const uint32_t kParameterIsAutomable</div><div class="ttdef"><b>Definition:</b> DistrhoPlugin.hpp:203</div></div>
<div class="ttc" id="classPlugin_html_ad9c46a36cab96f52a0370043093bca68"><div class="ttname"><a href="classPlugin.html#ad9c46a36cab96f52a0370043093bca68">Plugin::d_setState</a></div><div class="ttdeci">virtual void d_setState(const char *key, const char *value)=0</div></div>
<div class="ttc" id="structTimePosition_1_1BarBeatTick_html_a3d0f3681391ab7d3d37abcae24c72257"><div class="ttname"><a href="structTimePosition_1_1BarBeatTick.html#a3d0f3681391ab7d3d37abcae24c72257">TimePosition::BarBeatTick::beatType</a></div><div class="ttdeci">float beatType</div><div class="ttdef"><b>Definition:</b> DistrhoPlugin.hpp:502</div></div>
<div class="ttc" id="structParameterRanges_html_ad16ef939c1caa2f51e9a4041f769f86e"><div class="ttname"><a href="structParameterRanges.html#ad16ef939c1caa2f51e9a4041f769f86e">ParameterRanges::getNormalizedValue</a></div><div class="ttdeci">float getNormalizedValue(const float &amp;value) const noexcept</div><div class="ttdef"><b>Definition:</b> DistrhoPlugin.hpp:319</div></div>
<div class="ttc" id="structParameterRanges_html_aa0aba68115bcfff25c35b2da2f7aed4c"><div class="ttname"><a href="structParameterRanges.html#aa0aba68115bcfff25c35b2da2f7aed4c">ParameterRanges::def</a></div><div class="ttdeci">float def</div><div class="ttdef"><b>Definition:</b> DistrhoPlugin.hpp:257</div></div>
<div class="ttc" id="structTimePosition_1_1BarBeatTick_html_a5205e95c8f8021006bde2eae774d5b62"><div class="ttname"><a href="structTimePosition_1_1BarBeatTick.html#a5205e95c8f8021006bde2eae774d5b62">TimePosition::BarBeatTick::barStartTick</a></div><div class="ttdeci">double barStartTick</div><div class="ttdef"><b>Definition:</b> DistrhoPlugin.hpp:492</div></div>
<div class="ttc" id="structParameter_html_a2e75f234cbbda1ed0517075e67d27191"><div class="ttname"><a href="structParameter.html#a2e75f234cbbda1ed0517075e67d27191">Parameter::name</a></div><div class="ttdeci">d_string name</div><div class="ttdef"><b>Definition:</b> DistrhoPlugin.hpp:379</div></div>
<div class="ttc" id="classPlugin_html_a7816b45ffb52b0a6308cabb792b1a56f"><div class="ttname"><a href="classPlugin.html#a7816b45ffb52b0a6308cabb792b1a56f">Plugin::d_setLatency</a></div><div class="ttdeci">void d_setLatency(uint32_t frames) noexcept</div></div>
<div class="ttc" id="structParameter_html_aa9ee36848d60d8ddd9185b9a3f2ce93f"><div class="ttname"><a href="structParameter.html#aa9ee36848d60d8ddd9185b9a3f2ce93f">Parameter::unit</a></div><div class="ttdeci">d_string unit</div><div class="ttdef"><b>Definition:</b> DistrhoPlugin.hpp:394</div></div>
<div class="ttc" id="structParameter_html_a2d0c81e4fb8fad18d920ef6ecd4a64db"><div class="ttname"><a href="structParameter.html#a2d0c81e4fb8fad18d920ef6ecd4a64db">Parameter::ranges</a></div><div class="ttdeci">ParameterRanges ranges</div><div class="ttdef"><b>Definition:</b> DistrhoPlugin.hpp:400</div></div>
<div class="ttc" id="structTimePosition_1_1BarBeatTick_html_af4be3edce420539cbb21bc1b0278201c"><div class="ttname"><a href="structTimePosition_1_1BarBeatTick.html#af4be3edce420539cbb21bc1b0278201c">TimePosition::BarBeatTick::beat</a></div><div class="ttdeci">int32_t beat</div><div class="ttdef"><b>Definition:</b> DistrhoPlugin.hpp:480</div></div>
<div class="ttc" id="classPlugin_html_a3f93a8eb97db3dc9984c357c5ffca5ec"><div class="ttname"><a href="classPlugin.html#a3f93a8eb97db3dc9984c357c5ffca5ec">Plugin::d_initParameter</a></div><div class="ttdeci">virtual void d_initParameter(uint32_t index, Parameter &amp;parameter)=0</div></div>
<div class="ttc" id="classPlugin_html_a2c6ac454e24b667d54eaaf63da252627"><div class="ttname"><a href="classPlugin.html#a2c6ac454e24b667d54eaaf63da252627">Plugin::d_bufferSizeChanged</a></div><div class="ttdeci">virtual void d_bufferSizeChanged(uint32_t newBufferSize)</div></div>
<div class="ttc" id="structParameterRanges_html_acd3d977c154ddb3138f36c0b6d2b7626"><div class="ttname"><a href="structParameterRanges.html#acd3d977c154ddb3138f36c0b6d2b7626">ParameterRanges::getFixedValue</a></div><div class="ttdeci">const float &amp; getFixedValue(const float &amp;value) const noexcept</div><div class="ttdef"><b>Definition:</b> DistrhoPlugin.hpp:307</div></div>
<div class="ttc" id="group__ParameterHints_html_gaafca30df903781d2e1c2491808e17c8d"><div class="ttname"><a href="group__ParameterHints.html#gaafca30df903781d2e1c2491808e17c8d">kParameterIsBoolean</a></div><div class="ttdeci">static const uint32_t kParameterIsBoolean</div><div class="ttdef"><b>Definition:</b> DistrhoPlugin.hpp:209</div></div>
<div class="ttc" id="structParameterRanges_html_a175c78c905c598df929a4450e4d2a2a0"><div class="ttname"><a href="structParameterRanges.html#a175c78c905c598df929a4450e4d2a2a0">ParameterRanges::max</a></div><div class="ttdeci">float max</div><div class="ttdef"><b>Definition:</b> DistrhoPlugin.hpp:267</div></div>
<div class="ttc" id="structParameterRanges_html"><div class="ttname"><a href="structParameterRanges.html">ParameterRanges</a></div><div class="ttdef"><b>Definition:</b> DistrhoPlugin.hpp:253</div></div>
<div class="ttc" id="group__ParameterHints_html_ga76a82c93efe6ad728c9f0cb4ef33a2b9"><div class="ttname"><a href="group__ParameterHints.html#ga76a82c93efe6ad728c9f0cb4ef33a2b9">kParameterIsInteger</a></div><div class="ttdeci">static const uint32_t kParameterIsInteger</div><div class="ttdef"><b>Definition:</b> DistrhoPlugin.hpp:214</div></div>
<div class="ttc" id="structParameter_html"><div class="ttname"><a href="structParameter.html">Parameter</a></div><div class="ttdef"><b>Definition:</b> DistrhoPlugin.hpp:367</div></div>
<div class="ttc" id="structTimePosition_1_1BarBeatTick_html_a45a05047e923285af0fbeacb371e3f4e"><div class="ttname"><a href="structTimePosition_1_1BarBeatTick.html#a45a05047e923285af0fbeacb371e3f4e">TimePosition::BarBeatTick::valid</a></div><div class="ttdeci">bool valid</div><div class="ttdef"><b>Definition:</b> DistrhoPlugin.hpp:466</div></div>
<div class="ttc" id="structMidiEvent_html_a9e23ce17777c2ff5190670d3262129b9"><div class="ttname"><a href="structMidiEvent.html#a9e23ce17777c2ff5190670d3262129b9">MidiEvent::kDataSize</a></div><div class="ttdeci">static const uint32_t kDataSize</div><div class="ttdef"><b>Definition:</b> DistrhoPlugin.hpp:420</div></div>
<div class="ttc" id="structParameter_html_a0b5193e6131f65878dfb6fe4d9f5e970"><div class="ttname"><a href="structParameter.html#a0b5193e6131f65878dfb6fe4d9f5e970">Parameter::symbol</a></div><div class="ttdeci">d_string symbol</div><div class="ttdef"><b>Definition:</b> DistrhoPlugin.hpp:387</div></div>
<div class="ttc" id="structParameterRanges_html_a17519e584ccc28e87b73bfbd1a81cf10"><div class="ttname"><a href="structParameterRanges.html#a17519e584ccc28e87b73bfbd1a81cf10">ParameterRanges::fixDefault</a></div><div class="ttdeci">void fixDefault() noexcept</div><div class="ttdef"><b>Definition:</b> DistrhoPlugin.hpp:288</div></div>
<div class="ttc" id="classPlugin_html_ace888940905e8875284e07c52bf7404f"><div class="ttname"><a href="classPlugin.html#ace888940905e8875284e07c52bf7404f">Plugin::d_getSampleRate</a></div><div class="ttdeci">double d_getSampleRate() const noexcept</div></div>
<div class="ttc" id="structParameterRanges_html_a82698a1e07b1b04ccb5df0de4db0d0be"><div class="ttname"><a href="structParameterRanges.html#a82698a1e07b1b04ccb5df0de4db0d0be">ParameterRanges::getFixedAndNormalizedValue</a></div><div class="ttdeci">float getFixedAndNormalizedValue(const float &amp;value) const noexcept</div><div class="ttdef"><b>Definition:</b> DistrhoPlugin.hpp:333</div></div>
<div class="ttc" id="classPlugin_html_a15df4876febf5909fe040d401fc704d0"><div class="ttname"><a href="classPlugin.html#a15df4876febf5909fe040d401fc704d0">Plugin::d_activate</a></div><div class="ttdeci">virtual void d_activate()</div><div class="ttdef"><b>Definition:</b> DistrhoPlugin.hpp:737</div></div>
<div class="ttc" id="group__ParameterHints_html_ga0a3633c93e8589f4b3e6124bb97ad8d4"><div class="ttname"><a href="group__ParameterHints.html#ga0a3633c93e8589f4b3e6124bb97ad8d4">kParameterIsOutput</a></div><div class="ttdeci">static const uint32_t kParameterIsOutput</div><div class="ttdef"><b>Definition:</b> DistrhoPlugin.hpp:229</div></div>
<div class="ttc" id="structTimePosition_1_1BarBeatTick_html"><div class="ttname"><a href="structTimePosition_1_1BarBeatTick.html">TimePosition::BarBeatTick</a></div><div class="ttdef"><b>Definition:</b> DistrhoPlugin.hpp:461</div></div>
<div class="ttc" id="structTimePosition_html"><div class="ttname"><a href="structTimePosition.html">TimePosition</a></div><div class="ttdef"><b>Definition:</b> DistrhoPlugin.hpp:447</div></div>
<div class="ttc" id="classPlugin_html_a8a1792b7c5c6a3fd9cd626c7156ec3b6"><div class="ttname"><a href="classPlugin.html#a8a1792b7c5c6a3fd9cd626c7156ec3b6">Plugin::d_initProgramName</a></div><div class="ttdeci">virtual void d_initProgramName(uint32_t index, d_string &amp;programName)=0</div></div>
<div class="ttc" id="classPlugin_html_aa0feb17c3dcf13a106505eb6d6b2a3ac"><div class="ttname"><a href="classPlugin.html#aa0feb17c3dcf13a106505eb6d6b2a3ac">Plugin::d_getBufferSize</a></div><div class="ttdeci">uint32_t d_getBufferSize() const noexcept</div></div>
<div class="ttc" id="group__ParameterHints_html_gabc539ecbfe420246a33f93aed32b8a3b"><div class="ttname"><a href="group__ParameterHints.html#gabc539ecbfe420246a33f93aed32b8a3b">kParameterIsLogarithmic</a></div><div class="ttdeci">static const uint32_t kParameterIsLogarithmic</div><div class="ttdef"><b>Definition:</b> DistrhoPlugin.hpp:219</div></div>
<div class="ttc" id="structParameterRanges_html_aad2afc730bee791aab1811744a48f99d"><div class="ttname"><a href="structParameterRanges.html#aad2afc730bee791aab1811744a48f99d">ParameterRanges::ParameterRanges</a></div><div class="ttdeci">ParameterRanges(const float df, const float mn, const float mx) noexcept</div><div class="ttdef"><b>Definition:</b> DistrhoPlugin.hpp:280</div></div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue Apr 21 2015 15:18:54 for DISTRHO Plugin Framework by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.8
</small></address>
</body>
</html>

+ 311
- 0
DistrhoUI_8hpp_source.html View File

@@ -0,0 +1,311 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.8"/>
<title>DISTRHO Plugin Framework: distrho/DistrhoUI.hpp Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
$(document).ready(function() { searchBox.OnSelectItem(0); });
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">DISTRHO Plugin Framework
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.8 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
<li>
<div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<img id="MSearchSelect" src="search/mag_sel.png"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
<input type="text" id="MSearchField" value="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
</span>
</div>
</li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="files.html"><span>File&#160;List</span></a></li>
</ul>
</div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Modules</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Pages</a></div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="dir_37257469cca17bab24b582e18a78eb75.html">distrho</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="headertitle">
<div class="title">DistrhoUI.hpp</div> </div>
</div><!--header-->
<div class="contents">
<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span>&#160;<span class="comment">/*</span></div>
<div class="line"><a name="l00002"></a><span class="lineno"> 2</span>&#160;<span class="comment"> * DISTRHO Plugin Framework (DPF)</span></div>
<div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160;<span class="comment"> * Copyright (C) 2012-2015 Filipe Coelho &lt;falktx@falktx.com&gt;</span></div>
<div class="line"><a name="l00004"></a><span class="lineno"> 4</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00005"></a><span class="lineno"> 5</span>&#160;<span class="comment"> * Permission to use, copy, modify, and/or distribute this software for any purpose with</span></div>
<div class="line"><a name="l00006"></a><span class="lineno"> 6</span>&#160;<span class="comment"> * or without fee is hereby granted, provided that the above copyright notice and this</span></div>
<div class="line"><a name="l00007"></a><span class="lineno"> 7</span>&#160;<span class="comment"> * permission notice appear in all copies.</span></div>
<div class="line"><a name="l00008"></a><span class="lineno"> 8</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00009"></a><span class="lineno"> 9</span>&#160;<span class="comment"> * THE SOFTWARE IS PROVIDED &quot;AS IS&quot; AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD</span></div>
<div class="line"><a name="l00010"></a><span class="lineno"> 10</span>&#160;<span class="comment"> * TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN</span></div>
<div class="line"><a name="l00011"></a><span class="lineno"> 11</span>&#160;<span class="comment"> * NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL</span></div>
<div class="line"><a name="l00012"></a><span class="lineno"> 12</span>&#160;<span class="comment"> * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER</span></div>
<div class="line"><a name="l00013"></a><span class="lineno"> 13</span>&#160;<span class="comment"> * IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN</span></div>
<div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160;<span class="comment"> * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.</span></div>
<div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00016"></a><span class="lineno"> 16</span>&#160;</div>
<div class="line"><a name="l00017"></a><span class="lineno"> 17</span>&#160;<span class="preprocessor">#ifndef DISTRHO_UI_HPP_INCLUDED</span></div>
<div class="line"><a name="l00018"></a><span class="lineno"> 18</span>&#160;<span class="preprocessor">#define DISTRHO_UI_HPP_INCLUDED</span></div>
<div class="line"><a name="l00019"></a><span class="lineno"> 19</span>&#160;</div>
<div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160;<span class="preprocessor">#include &quot;extra/d_leakdetector.hpp&quot;</span></div>
<div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160;<span class="preprocessor">#include &quot;src/DistrhoPluginChecks.h&quot;</span></div>
<div class="line"><a name="l00022"></a><span class="lineno"> 22</span>&#160;</div>
<div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160;<span class="preprocessor">#if DISTRHO_UI_USE_NANOVG</span></div>
<div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160;<span class="preprocessor"># include &quot;../dgl/NanoVG.hpp&quot;</span></div>
<div class="line"><a name="l00025"></a><span class="lineno"> 25</span>&#160;<span class="keyword">typedef</span> DGL::NanoWidget UIWidget;</div>
<div class="line"><a name="l00026"></a><span class="lineno"> 26</span>&#160;<span class="preprocessor">#else</span></div>
<div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160;<span class="preprocessor"># include &quot;../dgl/Widget.hpp&quot;</span></div>
<div class="line"><a name="l00028"></a><span class="lineno"> 28</span>&#160;<span class="keyword">typedef</span> DGL::Widget UIWidget;</div>
<div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160;</div>
<div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160;START_NAMESPACE_DISTRHO</div>
<div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160;</div>
<div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160;<span class="comment">/* ------------------------------------------------------------------------------------------------------------</span></div>
<div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160;<span class="comment"> * DPF UI */</span></div>
<div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160;<span class="comment"></span></div>
<div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160;<span class="comment">/**</span></div>
<div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160;<span class="comment"> DPF UI class from where UI instances are created.</span></div>
<div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160;<span class="comment"></span></div>
<div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160;<span class="comment"> TODO.</span></div>
<div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160;<span class="comment"></span></div>
<div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160;<span class="comment"> must call setSize during construction,</span></div>
<div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00043"></a><span class="lineno"><a class="line" href="classUI.html"> 43</a></span>&#160;<span class="keyword">class </span><a class="code" href="classUI.html">UI</a> : <span class="keyword">public</span> UIWidget</div>
<div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160;{</div>
<div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160;<span class="keyword">public</span>:<span class="comment"></span></div>
<div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160;<span class="comment"> UI class constructor.</span></div>
<div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160;<span class="comment"> The UI should be initialized to a default state that matches the plugin side.</span></div>
<div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160; <a class="code" href="classUI.html#ad3425075e4a23234a8568d1893b54f22">UI</a>(uint width = 0, uint height = 0);</div>
<div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160;<span class="comment"></span></div>
<div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160;<span class="comment"> Destructor.</span></div>
<div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160; <span class="keyword">virtual</span> <a class="code" href="classUI.html#a47e7b6111faba049dfee4738d067cc42">~UI</a>();</div>
<div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160;</div>
<div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160; <span class="comment">/* --------------------------------------------------------------------------------------------------------</span></div>
<div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160;<span class="comment"> * Host state */</span></div>
<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160;<span class="comment"></span></div>
<div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160;<span class="comment"> Get the current sample rate used in plugin processing.</span></div>
<div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160;<span class="comment"> @see d_sampleRateChanged(double)</span></div>
<div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160; <span class="keywordtype">double</span> <a class="code" href="classUI.html#ab6cbe4dcade92f7f49d4405e51ee639c">d_getSampleRate</a>() <span class="keyword">const</span> noexcept;</div>
<div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160;<span class="comment"></span></div>
<div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160;<span class="comment"> TODO: Document this.</span></div>
<div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classUI.html#a768b898d1e063d5c0112197b99ccba99">d_editParameter</a>(<span class="keyword">const</span> uint32_t index, <span class="keyword">const</span> <span class="keywordtype">bool</span> started);</div>
<div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160;<span class="comment"></span></div>
<div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160;<span class="comment"> TODO: Document this.</span></div>
<div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classUI.html#a310a08018194f82937ca92bed4e77f1f">d_setParameterValue</a>(<span class="keyword">const</span> uint32_t index, <span class="keyword">const</span> <span class="keywordtype">float</span> value);</div>
<div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160;</div>
<div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160;<span class="preprocessor">#if DISTRHO_PLUGIN_WANT_STATE</span></div>
<div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160;<span class="comment"> TODO: Document this.</span></div>
<div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classUI.html#ac32cb7fd88c642eadebf64137acd910e">d_setState</a>(<span class="keyword">const</span> <span class="keywordtype">char</span>* <span class="keyword">const</span> key, <span class="keyword">const</span> <span class="keywordtype">char</span>* <span class="keyword">const</span> value);</div>
<div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160;</div>
<div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160;<span class="preprocessor">#if DISTRHO_PLUGIN_IS_SYNTH</span></div>
<div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160;<span class="comment"> TODO: Document this.</span></div>
<div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classUI.html#a621c381126d8e2f0124199b82cdcd456">d_sendNote</a>(<span class="keyword">const</span> uint8_t channel, <span class="keyword">const</span> uint8_t note, <span class="keyword">const</span> uint8_t velocity);</div>
<div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160;</div>
<div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160;<span class="preprocessor">#if DISTRHO_PLUGIN_WANT_DIRECT_ACCESS</span></div>
<div class="line"><a name="l00091"></a><span class="lineno"> 91</span>&#160; <span class="comment">/* --------------------------------------------------------------------------------------------------------</span></div>
<div class="line"><a name="l00092"></a><span class="lineno"> 92</span>&#160;<span class="comment"> * Direct DSP access - DO NOT USE THIS UNLESS STRICTLY NECESSARY!! */</span></div>
<div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160;<span class="comment"></span></div>
<div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160;<span class="comment"> TODO: Document this.</span></div>
<div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160; <span class="keywordtype">void</span>* <a class="code" href="classUI.html#a5393f505fc8702905c15c70c9fcf0d48">d_getPluginInstancePointer</a>() <span class="keyword">const</span> noexcept;</div>
<div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160;</div>
<div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160;<span class="keyword">protected</span>:</div>
<div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160; <span class="comment">/* --------------------------------------------------------------------------------------------------------</span></div>
<div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160;<span class="comment"> * DSP/Plugin Callbacks */</span></div>
<div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160;<span class="comment"></span></div>
<div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160;<span class="comment"> A parameter has changed on the plugin side.</span></div>
<div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160;<span class="comment"> This is called by the host to inform the UI about parameter changes.</span></div>
<div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classUI.html#a9599da33720f4648e9ce78cc18249b07">d_parameterChanged</a>(uint32_t index, <span class="keywordtype">float</span> value) = 0;</div>
<div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160;</div>
<div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160;<span class="preprocessor">#if DISTRHO_PLUGIN_WANT_PROGRAMS</span></div>
<div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160;<span class="comment"> The current program has changed on the plugin side.</span></div>
<div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160;<span class="comment"> This is called by the host to inform the UI about program changes.</span></div>
<div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classUI.html#a7d703d2caff4765f270686b8428a2fa0">d_programChanged</a>(uint32_t index) = 0;</div>
<div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160;</div>
<div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160;<span class="preprocessor">#if DISTRHO_PLUGIN_WANT_STATE</span></div>
<div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160;<span class="comment"> A state has changed on the plugin side.</span></div>
<div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160;<span class="comment"> This is called by the host to inform the UI about state changes.</span></div>
<div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classUI.html#a7f508ebffec7a5168b532ccb9d81df70">d_stateChanged</a>(<span class="keyword">const</span> <span class="keywordtype">char</span>* key, <span class="keyword">const</span> <span class="keywordtype">char</span>* value) = 0;</div>
<div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160;</div>
<div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160; <span class="comment">/* --------------------------------------------------------------------------------------------------------</span></div>
<div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160;<span class="comment"> * DSP/Plugin Callbacks (optional) */</span></div>
<div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160;<span class="comment"></span></div>
<div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160;<span class="comment"> Optional callback to inform the UI about a sample rate change on the plugin side.</span></div>
<div class="line"><a name="l00131"></a><span class="lineno"> 131</span>&#160;<span class="comment"> @see d_getSampleRate()</span></div>
<div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00133"></a><span class="lineno"> 133</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classUI.html#a18f4b84a973405fc098e69047e0d1994">d_sampleRateChanged</a>(<span class="keywordtype">double</span> newSampleRate);</div>
<div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160;</div>
<div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160; <span class="comment">/* --------------------------------------------------------------------------------------------------------</span></div>
<div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160;<span class="comment"> * UI Callbacks (optional) */</span></div>
<div class="line"><a name="l00137"></a><span class="lineno"> 137</span>&#160;<span class="comment"></span></div>
<div class="line"><a name="l00138"></a><span class="lineno"> 138</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00139"></a><span class="lineno"> 139</span>&#160;<span class="comment"> TODO: Document this.</span></div>
<div class="line"><a name="l00140"></a><span class="lineno"> 140</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00141"></a><span class="lineno"><a class="line" href="classUI.html#aa320b8d3e826394dad9f7c36692f9b6c"> 141</a></span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classUI.html#aa320b8d3e826394dad9f7c36692f9b6c">d_uiIdle</a>() {}</div>
<div class="line"><a name="l00142"></a><span class="lineno"> 142</span>&#160;<span class="comment"></span></div>
<div class="line"><a name="l00143"></a><span class="lineno"> 143</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00144"></a><span class="lineno"> 144</span>&#160;<span class="comment"> File browser selected function.</span></div>
<div class="line"><a name="l00145"></a><span class="lineno"> 145</span>&#160;<span class="comment"> @see Window::fileBrowserSelected(const char*)</span></div>
<div class="line"><a name="l00146"></a><span class="lineno"> 146</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00147"></a><span class="lineno"> 147</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classUI.html#ab10300e34b40d6b447b1213813f474c0">d_uiFileBrowserSelected</a>(<span class="keyword">const</span> <span class="keywordtype">char</span>* filename);</div>
<div class="line"><a name="l00148"></a><span class="lineno"> 148</span>&#160;<span class="comment"></span></div>
<div class="line"><a name="l00149"></a><span class="lineno"> 149</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00150"></a><span class="lineno"> 150</span>&#160;<span class="comment"> OpenGL window reshape function, called when parent window is resized.</span></div>
<div class="line"><a name="l00151"></a><span class="lineno"> 151</span>&#160;<span class="comment"> You can reimplement this function for a custom OpenGL state.</span></div>
<div class="line"><a name="l00152"></a><span class="lineno"> 152</span>&#160;<span class="comment"> @see Window::onReshape(uint,uint)</span></div>
<div class="line"><a name="l00153"></a><span class="lineno"> 153</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00154"></a><span class="lineno"> 154</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classUI.html#aaf729415450434ad6690db93fd936bbf">d_uiReshape</a>(uint width, uint height);</div>
<div class="line"><a name="l00155"></a><span class="lineno"> 155</span>&#160;</div>
<div class="line"><a name="l00156"></a><span class="lineno"> 156</span>&#160; <span class="comment">/* --------------------------------------------------------------------------------------------------------</span></div>
<div class="line"><a name="l00157"></a><span class="lineno"> 157</span>&#160;<span class="comment"> * UI Resize Handling, internal */</span></div>
<div class="line"><a name="l00158"></a><span class="lineno"> 158</span>&#160;<span class="comment"></span></div>
<div class="line"><a name="l00159"></a><span class="lineno"> 159</span>&#160;<span class="comment"> /**</span></div>
<div class="line"><a name="l00160"></a><span class="lineno"> 160</span>&#160;<span class="comment"> OpenGL widget resize function, called when the widget is resized.</span></div>
<div class="line"><a name="l00161"></a><span class="lineno"> 161</span>&#160;<span class="comment"> This is overriden here so the host knows when the UI is resized by you.</span></div>
<div class="line"><a name="l00162"></a><span class="lineno"> 162</span>&#160;<span class="comment"> @see Widget::onResize(const ResizeEvent&amp;)</span></div>
<div class="line"><a name="l00163"></a><span class="lineno"> 163</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00164"></a><span class="lineno"> 164</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classUI.html#a8de15be030bbdf0eb81461349cb1cc77">onResize</a>(<span class="keyword">const</span> ResizeEvent&amp; ev) <span class="keyword">override</span>;</div>
<div class="line"><a name="l00165"></a><span class="lineno"> 165</span>&#160;</div>
<div class="line"><a name="l00166"></a><span class="lineno"> 166</span>&#160; <span class="comment">// -------------------------------------------------------------------------------------------------------</span></div>
<div class="line"><a name="l00167"></a><span class="lineno"> 167</span>&#160;</div>
<div class="line"><a name="l00168"></a><span class="lineno"> 168</span>&#160;<span class="keyword">private</span>:</div>
<div class="line"><a name="l00169"></a><span class="lineno"> 169</span>&#160; <span class="keyword">struct </span>PrivateData;</div>
<div class="line"><a name="l00170"></a><span class="lineno"> 170</span>&#160; PrivateData* <span class="keyword">const</span> pData;</div>
<div class="line"><a name="l00171"></a><span class="lineno"> 171</span>&#160; <span class="keyword">friend</span> <span class="keyword">class </span>UIExporter;</div>
<div class="line"><a name="l00172"></a><span class="lineno"> 172</span>&#160; <span class="keyword">friend</span> <span class="keyword">class </span>UIExporterWindow;</div>
<div class="line"><a name="l00173"></a><span class="lineno"> 173</span>&#160;</div>
<div class="line"><a name="l00174"></a><span class="lineno"> 174</span>&#160; <span class="comment">// these should not be used</span></div>
<div class="line"><a name="l00175"></a><span class="lineno"> 175</span>&#160; <span class="keywordtype">void</span> setAbsoluteX(<span class="keywordtype">int</span>) const noexcept {}</div>
<div class="line"><a name="l00176"></a><span class="lineno"> 176</span>&#160; <span class="keywordtype">void</span> setAbsoluteY(<span class="keywordtype">int</span>) const noexcept {}</div>
<div class="line"><a name="l00177"></a><span class="lineno"> 177</span>&#160; <span class="keywordtype">void</span> setAbsolutePos(<span class="keywordtype">int</span>, <span class="keywordtype">int</span>) const noexcept {}</div>
<div class="line"><a name="l00178"></a><span class="lineno"> 178</span>&#160; <span class="keywordtype">void</span> setAbsolutePos(<span class="keyword">const</span> DGL::Point&lt;int&gt;&amp;) const noexcept {}</div>
<div class="line"><a name="l00179"></a><span class="lineno"> 179</span>&#160; <span class="keywordtype">void</span> setNeedsFullViewport(<span class="keywordtype">bool</span>) const noexcept {}</div>
<div class="line"><a name="l00180"></a><span class="lineno"> 180</span>&#160;</div>
<div class="line"><a name="l00181"></a><span class="lineno"> 181</span>&#160; DISTRHO_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR(<a class="code" href="classUI.html">UI</a>)</div>
<div class="line"><a name="l00182"></a><span class="lineno"> 182</span>&#160;};</div>
<div class="line"><a name="l00183"></a><span class="lineno"> 183</span>&#160;</div>
<div class="line"><a name="l00184"></a><span class="lineno"> 184</span>&#160;<span class="comment">/* ------------------------------------------------------------------------------------------------------------</span></div>
<div class="line"><a name="l00185"></a><span class="lineno"> 185</span>&#160;<span class="comment"> * Create UI, entry point */</span></div>
<div class="line"><a name="l00186"></a><span class="lineno"> 186</span>&#160;<span class="comment"></span></div>
<div class="line"><a name="l00187"></a><span class="lineno"> 187</span>&#160;<span class="comment">/**</span></div>
<div class="line"><a name="l00188"></a><span class="lineno"> 188</span>&#160;<span class="comment"> TODO.</span></div>
<div class="line"><a name="l00189"></a><span class="lineno"> 189</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00190"></a><span class="lineno"> 190</span>&#160;<span class="keyword">extern</span> <a class="code" href="classUI.html">UI</a>* createUI();</div>
<div class="line"><a name="l00191"></a><span class="lineno"> 191</span>&#160;</div>
<div class="line"><a name="l00192"></a><span class="lineno"> 192</span>&#160;<span class="comment">// -----------------------------------------------------------------------------------------------------------</span></div>
<div class="line"><a name="l00193"></a><span class="lineno"> 193</span>&#160;</div>
<div class="line"><a name="l00194"></a><span class="lineno"> 194</span>&#160;END_NAMESPACE_DISTRHO</div>
<div class="line"><a name="l00195"></a><span class="lineno"> 195</span>&#160;</div>
<div class="line"><a name="l00196"></a><span class="lineno"> 196</span>&#160;<span class="preprocessor">#endif // DISTRHO_UI_HPP_INCLUDED</span></div>
<div class="ttc" id="classUI_html_a18f4b84a973405fc098e69047e0d1994"><div class="ttname"><a href="classUI.html#a18f4b84a973405fc098e69047e0d1994">UI::d_sampleRateChanged</a></div><div class="ttdeci">virtual void d_sampleRateChanged(double newSampleRate)</div></div>
<div class="ttc" id="classUI_html_a8de15be030bbdf0eb81461349cb1cc77"><div class="ttname"><a href="classUI.html#a8de15be030bbdf0eb81461349cb1cc77">UI::onResize</a></div><div class="ttdeci">void onResize(const ResizeEvent &amp;ev) override</div></div>
<div class="ttc" id="classUI_html_a47e7b6111faba049dfee4738d067cc42"><div class="ttname"><a href="classUI.html#a47e7b6111faba049dfee4738d067cc42">UI::~UI</a></div><div class="ttdeci">virtual ~UI()</div></div>
<div class="ttc" id="classUI_html_a7f508ebffec7a5168b532ccb9d81df70"><div class="ttname"><a href="classUI.html#a7f508ebffec7a5168b532ccb9d81df70">UI::d_stateChanged</a></div><div class="ttdeci">virtual void d_stateChanged(const char *key, const char *value)=0</div></div>
<div class="ttc" id="classUI_html_a5393f505fc8702905c15c70c9fcf0d48"><div class="ttname"><a href="classUI.html#a5393f505fc8702905c15c70c9fcf0d48">UI::d_getPluginInstancePointer</a></div><div class="ttdeci">void * d_getPluginInstancePointer() const noexcept</div></div>
<div class="ttc" id="classUI_html_a9599da33720f4648e9ce78cc18249b07"><div class="ttname"><a href="classUI.html#a9599da33720f4648e9ce78cc18249b07">UI::d_parameterChanged</a></div><div class="ttdeci">virtual void d_parameterChanged(uint32_t index, float value)=0</div></div>
<div class="ttc" id="classUI_html_ab10300e34b40d6b447b1213813f474c0"><div class="ttname"><a href="classUI.html#ab10300e34b40d6b447b1213813f474c0">UI::d_uiFileBrowserSelected</a></div><div class="ttdeci">virtual void d_uiFileBrowserSelected(const char *filename)</div></div>
<div class="ttc" id="classUI_html_ac32cb7fd88c642eadebf64137acd910e"><div class="ttname"><a href="classUI.html#ac32cb7fd88c642eadebf64137acd910e">UI::d_setState</a></div><div class="ttdeci">void d_setState(const char *const key, const char *const value)</div></div>
<div class="ttc" id="classUI_html_a7d703d2caff4765f270686b8428a2fa0"><div class="ttname"><a href="classUI.html#a7d703d2caff4765f270686b8428a2fa0">UI::d_programChanged</a></div><div class="ttdeci">virtual void d_programChanged(uint32_t index)=0</div></div>
<div class="ttc" id="classUI_html_ad3425075e4a23234a8568d1893b54f22"><div class="ttname"><a href="classUI.html#ad3425075e4a23234a8568d1893b54f22">UI::UI</a></div><div class="ttdeci">UI(uint width=0, uint height=0)</div></div>
<div class="ttc" id="classUI_html_aa320b8d3e826394dad9f7c36692f9b6c"><div class="ttname"><a href="classUI.html#aa320b8d3e826394dad9f7c36692f9b6c">UI::d_uiIdle</a></div><div class="ttdeci">virtual void d_uiIdle()</div><div class="ttdef"><b>Definition:</b> DistrhoUI.hpp:141</div></div>
<div class="ttc" id="classUI_html_a621c381126d8e2f0124199b82cdcd456"><div class="ttname"><a href="classUI.html#a621c381126d8e2f0124199b82cdcd456">UI::d_sendNote</a></div><div class="ttdeci">void d_sendNote(const uint8_t channel, const uint8_t note, const uint8_t velocity)</div></div>
<div class="ttc" id="classUI_html_a768b898d1e063d5c0112197b99ccba99"><div class="ttname"><a href="classUI.html#a768b898d1e063d5c0112197b99ccba99">UI::d_editParameter</a></div><div class="ttdeci">void d_editParameter(const uint32_t index, const bool started)</div></div>
<div class="ttc" id="classUI_html"><div class="ttname"><a href="classUI.html">UI</a></div><div class="ttdef"><b>Definition:</b> DistrhoUI.hpp:43</div></div>
<div class="ttc" id="classUI_html_ab6cbe4dcade92f7f49d4405e51ee639c"><div class="ttname"><a href="classUI.html#ab6cbe4dcade92f7f49d4405e51ee639c">UI::d_getSampleRate</a></div><div class="ttdeci">double d_getSampleRate() const noexcept</div></div>
<div class="ttc" id="classUI_html_a310a08018194f82937ca92bed4e77f1f"><div class="ttname"><a href="classUI.html#a310a08018194f82937ca92bed4e77f1f">UI::d_setParameterValue</a></div><div class="ttdeci">void d_setParameterValue(const uint32_t index, const float value)</div></div>
<div class="ttc" id="classUI_html_aaf729415450434ad6690db93fd936bbf"><div class="ttname"><a href="classUI.html#aaf729415450434ad6690db93fd936bbf">UI::d_uiReshape</a></div><div class="ttdeci">virtual void d_uiReshape(uint width, uint height)</div></div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue Apr 21 2015 15:18:54 for DISTRHO Plugin Framework by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.8
</small></address>
</body>
</html>

+ 300
- 0
DistrhoUtils_8hpp_source.html View File

@@ -0,0 +1,300 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.8"/>
<title>DISTRHO Plugin Framework: distrho/DistrhoUtils.hpp Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
$(document).ready(function() { searchBox.OnSelectItem(0); });
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">DISTRHO Plugin Framework
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.8 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
<li>
<div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<img id="MSearchSelect" src="search/mag_sel.png"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
<input type="text" id="MSearchField" value="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
</span>
</div>
</li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="files.html"><span>File&#160;List</span></a></li>
</ul>
</div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Modules</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Pages</a></div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="dir_37257469cca17bab24b582e18a78eb75.html">distrho</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="headertitle">
<div class="title">DistrhoUtils.hpp</div> </div>
</div><!--header-->
<div class="contents">
<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span>&#160;<span class="comment">/*</span></div>
<div class="line"><a name="l00002"></a><span class="lineno"> 2</span>&#160;<span class="comment"> * DISTRHO Plugin Framework (DPF)</span></div>
<div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160;<span class="comment"> * Copyright (C) 2012-2015 Filipe Coelho &lt;falktx@falktx.com&gt;</span></div>
<div class="line"><a name="l00004"></a><span class="lineno"> 4</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00005"></a><span class="lineno"> 5</span>&#160;<span class="comment"> * Permission to use, copy, modify, and/or distribute this software for any purpose with</span></div>
<div class="line"><a name="l00006"></a><span class="lineno"> 6</span>&#160;<span class="comment"> * or without fee is hereby granted, provided that the above copyright notice and this</span></div>
<div class="line"><a name="l00007"></a><span class="lineno"> 7</span>&#160;<span class="comment"> * permission notice appear in all copies.</span></div>
<div class="line"><a name="l00008"></a><span class="lineno"> 8</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00009"></a><span class="lineno"> 9</span>&#160;<span class="comment"> * THE SOFTWARE IS PROVIDED &quot;AS IS&quot; AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD</span></div>
<div class="line"><a name="l00010"></a><span class="lineno"> 10</span>&#160;<span class="comment"> * TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN</span></div>
<div class="line"><a name="l00011"></a><span class="lineno"> 11</span>&#160;<span class="comment"> * NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL</span></div>
<div class="line"><a name="l00012"></a><span class="lineno"> 12</span>&#160;<span class="comment"> * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER</span></div>
<div class="line"><a name="l00013"></a><span class="lineno"> 13</span>&#160;<span class="comment"> * IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN</span></div>
<div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160;<span class="comment"> * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.</span></div>
<div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00016"></a><span class="lineno"> 16</span>&#160;</div>
<div class="line"><a name="l00017"></a><span class="lineno"> 17</span>&#160;<span class="preprocessor">#ifndef DISTRHO_UTILS_HPP_INCLUDED</span></div>
<div class="line"><a name="l00018"></a><span class="lineno"> 18</span>&#160;<span class="preprocessor">#define DISTRHO_UTILS_HPP_INCLUDED</span></div>
<div class="line"><a name="l00019"></a><span class="lineno"> 19</span>&#160;</div>
<div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160;<span class="preprocessor">#include &quot;src/DistrhoDefines.h&quot;</span></div>
<div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160;</div>
<div class="line"><a name="l00022"></a><span class="lineno"> 22</span>&#160;<span class="preprocessor">#include &lt;cstdarg&gt;</span></div>
<div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160;<span class="preprocessor">#include &lt;cstdio&gt;</span></div>
<div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160;<span class="preprocessor">#include &lt;cstdlib&gt;</span></div>
<div class="line"><a name="l00025"></a><span class="lineno"> 25</span>&#160;<span class="preprocessor">#include &lt;cstring&gt;</span></div>
<div class="line"><a name="l00026"></a><span class="lineno"> 26</span>&#160;</div>
<div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160;<span class="preprocessor">#include &lt;cmath&gt;</span></div>
<div class="line"><a name="l00028"></a><span class="lineno"> 28</span>&#160;<span class="preprocessor">#include &lt;limits&gt;</span></div>
<div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160;</div>
<div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160;<span class="preprocessor">#ifdef DISTRHO_PROPER_CPP11_SUPPORT</span></div>
<div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160;<span class="preprocessor"># include &lt;cstdint&gt;</span></div>
<div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160;<span class="preprocessor">#else</span></div>
<div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160;<span class="preprocessor"># include &lt;stdint.h&gt;</span></div>
<div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160;</div>
<div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160;<span class="preprocessor">#if defined(DISTRHO_OS_MAC) &amp;&amp; ! defined(CARLA_OS_MAC)</span></div>
<div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160;<span class="keyword">namespace </span>std {</div>
<div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160;<span class="keyword">inline</span> <span class="keywordtype">float</span> fmin(<span class="keywordtype">float</span> __x, <span class="keywordtype">float</span> __y)</div>
<div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160; { <span class="keywordflow">return</span> __builtin_fminf(__x, __y); }</div>
<div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160;<span class="keyword">inline</span> <span class="keywordtype">float</span> fmax(<span class="keywordtype">float</span> __x, <span class="keywordtype">float</span> __y)</div>
<div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160; { <span class="keywordflow">return</span> __builtin_fmaxf(__x, __y); }</div>
<div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160;<span class="keyword">inline</span> <span class="keywordtype">float</span> rint(<span class="keywordtype">float</span> __x)</div>
<div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160; { <span class="keywordflow">return</span> __builtin_rintf(__x); }</div>
<div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160;<span class="keyword">inline</span> <span class="keywordtype">float</span> round(<span class="keywordtype">float</span> __x)</div>
<div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160; { <span class="keywordflow">return</span> __builtin_roundf(__x); }</div>
<div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160;}</div>
<div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160;</div>
<div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160;<span class="comment">// -----------------------------------------------------------------------</span></div>
<div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160;<span class="comment">// misc functions</span></div>
<div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160;</div>
<div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160;<span class="comment">/*</span></div>
<div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160;<span class="comment"> * Return a 64-bit number from 4 8-bit numbers.</span></div>
<div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160;<span class="keyword">static</span> <span class="keyword">inline</span></div>
<div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160;int64_t d_cconst(<span class="keyword">const</span> uint8_t a, <span class="keyword">const</span> uint8_t b, <span class="keyword">const</span> uint8_t c, <span class="keyword">const</span> uint8_t d) noexcept</div>
<div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160;{</div>
<div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160; <span class="keywordflow">return</span> (a &lt;&lt; 24) | (b &lt;&lt; 16) | (c &lt;&lt; 8) | (d &lt;&lt; 0);</div>
<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160;}</div>
<div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160;</div>
<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160;<span class="comment">/*</span></div>
<div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160;<span class="comment"> * Dummy function.</span></div>
<div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160;<span class="keyword">static</span> <span class="keyword">inline</span></div>
<div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160;<span class="keywordtype">void</span> d_pass() noexcept {}</div>
<div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160;</div>
<div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160;<span class="comment">// -----------------------------------------------------------------------</span></div>
<div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160;<span class="comment">// string print functions</span></div>
<div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160;</div>
<div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160;<span class="comment">/*</span></div>
<div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160;<span class="comment"> * Print a string to stdout with newline (gray color).</span></div>
<div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160;<span class="comment"> * Does nothing if DEBUG is not defined.</span></div>
<div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160;<span class="preprocessor">#ifndef DEBUG</span></div>
<div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160;<span class="preprocessor"># define d_debug(...)</span></div>
<div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160;<span class="preprocessor">#else</span></div>
<div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160;<span class="keyword">static</span> <span class="keyword">inline</span></div>
<div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160;<span class="keywordtype">void</span> d_debug(<span class="keyword">const</span> <span class="keywordtype">char</span>* <span class="keyword">const</span> fmt, ...) noexcept</div>
<div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160;{</div>
<div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160; <span class="keywordflow">try</span> {</div>
<div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160; ::va_list args;</div>
<div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160; ::va_start(args, fmt);</div>
<div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160; std::fprintf(stdout, <span class="stringliteral">&quot;\x1b[30;1m&quot;</span>);</div>
<div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160; std::vfprintf(stdout, fmt, args);</div>
<div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160; std::fprintf(stdout, <span class="stringliteral">&quot;\x1b[0m\n&quot;</span>);</div>
<div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160; ::va_end(args);</div>
<div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160; } <span class="keywordflow">catch</span> (...) {}</div>
<div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160;}</div>
<div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160;</div>
<div class="line"><a name="l00091"></a><span class="lineno"> 91</span>&#160;<span class="comment">/*</span></div>
<div class="line"><a name="l00092"></a><span class="lineno"> 92</span>&#160;<span class="comment"> * Print a string to stdout with newline.</span></div>
<div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160;<span class="keyword">static</span> <span class="keyword">inline</span></div>
<div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160;<span class="keywordtype">void</span> d_stdout(<span class="keyword">const</span> <span class="keywordtype">char</span>* <span class="keyword">const</span> fmt, ...) noexcept</div>
<div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160;{</div>
<div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160; <span class="keywordflow">try</span> {</div>
<div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160; ::va_list args;</div>
<div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160; ::va_start(args, fmt);</div>
<div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160; std::vfprintf(stdout, fmt, args);</div>
<div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160; std::fprintf(stdout, <span class="stringliteral">&quot;\n&quot;</span>);</div>
<div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160; ::va_end(args);</div>
<div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160; } <span class="keywordflow">catch</span> (...) {}</div>
<div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160;}</div>
<div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160;</div>
<div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160;<span class="comment">/*</span></div>
<div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160;<span class="comment"> * Print a string to stderr with newline.</span></div>
<div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160;<span class="keyword">static</span> <span class="keyword">inline</span></div>
<div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160;<span class="keywordtype">void</span> d_stderr(<span class="keyword">const</span> <span class="keywordtype">char</span>* <span class="keyword">const</span> fmt, ...) noexcept</div>
<div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160;{</div>
<div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160; <span class="keywordflow">try</span> {</div>
<div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160; ::va_list args;</div>
<div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160; ::va_start(args, fmt);</div>
<div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160; std::vfprintf(stderr, fmt, args);</div>
<div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160; std::fprintf(stderr, <span class="stringliteral">&quot;\n&quot;</span>);</div>
<div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160; ::va_end(args);</div>
<div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160; } <span class="keywordflow">catch</span> (...) {}</div>
<div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160;}</div>
<div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160;</div>
<div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160;<span class="comment">/*</span></div>
<div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160;<span class="comment"> * Print a string to stderr with newline (red color).</span></div>
<div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160;<span class="keyword">static</span> <span class="keyword">inline</span></div>
<div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160;<span class="keywordtype">void</span> d_stderr2(<span class="keyword">const</span> <span class="keywordtype">char</span>* <span class="keyword">const</span> fmt, ...) noexcept</div>
<div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160;{</div>
<div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160; <span class="keywordflow">try</span> {</div>
<div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160; ::va_list args;</div>
<div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160; ::va_start(args, fmt);</div>
<div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160; std::fprintf(stderr, <span class="stringliteral">&quot;\x1b[31m&quot;</span>);</div>
<div class="line"><a name="l00131"></a><span class="lineno"> 131</span>&#160; std::vfprintf(stderr, fmt, args);</div>
<div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160; std::fprintf(stderr, <span class="stringliteral">&quot;\x1b[0m\n&quot;</span>);</div>
<div class="line"><a name="l00133"></a><span class="lineno"> 133</span>&#160; ::va_end(args);</div>
<div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160; } <span class="keywordflow">catch</span> (...) {}</div>
<div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160;}</div>
<div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160;</div>
<div class="line"><a name="l00137"></a><span class="lineno"> 137</span>&#160;<span class="comment">/*</span></div>
<div class="line"><a name="l00138"></a><span class="lineno"> 138</span>&#160;<span class="comment"> * Print a safe assertion error message.</span></div>
<div class="line"><a name="l00139"></a><span class="lineno"> 139</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00140"></a><span class="lineno"> 140</span>&#160;<span class="keyword">static</span> <span class="keyword">inline</span></div>
<div class="line"><a name="l00141"></a><span class="lineno"> 141</span>&#160;<span class="keywordtype">void</span> d_safe_assert(<span class="keyword">const</span> <span class="keywordtype">char</span>* <span class="keyword">const</span> assertion, <span class="keyword">const</span> <span class="keywordtype">char</span>* <span class="keyword">const</span> file, <span class="keyword">const</span> <span class="keywordtype">int</span> line) noexcept</div>
<div class="line"><a name="l00142"></a><span class="lineno"> 142</span>&#160;{</div>
<div class="line"><a name="l00143"></a><span class="lineno"> 143</span>&#160; d_stderr2(<span class="stringliteral">&quot;assertion failure: \&quot;%s\&quot; in file %s, line %i&quot;</span>, assertion, file, line);</div>
<div class="line"><a name="l00144"></a><span class="lineno"> 144</span>&#160;}</div>
<div class="line"><a name="l00145"></a><span class="lineno"> 145</span>&#160;</div>
<div class="line"><a name="l00146"></a><span class="lineno"> 146</span>&#160;<span class="comment">/*</span></div>
<div class="line"><a name="l00147"></a><span class="lineno"> 147</span>&#160;<span class="comment"> * Print a safe exception error message.</span></div>
<div class="line"><a name="l00148"></a><span class="lineno"> 148</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00149"></a><span class="lineno"> 149</span>&#160;<span class="keyword">static</span> <span class="keyword">inline</span></div>
<div class="line"><a name="l00150"></a><span class="lineno"> 150</span>&#160;<span class="keywordtype">void</span> d_safe_exception(<span class="keyword">const</span> <span class="keywordtype">char</span>* <span class="keyword">const</span> exception, <span class="keyword">const</span> <span class="keywordtype">char</span>* <span class="keyword">const</span> file, <span class="keyword">const</span> <span class="keywordtype">int</span> line) noexcept</div>
<div class="line"><a name="l00151"></a><span class="lineno"> 151</span>&#160;{</div>
<div class="line"><a name="l00152"></a><span class="lineno"> 152</span>&#160; d_stderr2(<span class="stringliteral">&quot;exception caught: \&quot;%s\&quot; in file %s, line %i&quot;</span>, exception, file, line);</div>
<div class="line"><a name="l00153"></a><span class="lineno"> 153</span>&#160;}</div>
<div class="line"><a name="l00154"></a><span class="lineno"> 154</span>&#160;</div>
<div class="line"><a name="l00155"></a><span class="lineno"> 155</span>&#160;<span class="comment">// -----------------------------------------------------------------------</span></div>
<div class="line"><a name="l00156"></a><span class="lineno"> 156</span>&#160;<span class="comment">// math functions</span></div>
<div class="line"><a name="l00157"></a><span class="lineno"> 157</span>&#160;</div>
<div class="line"><a name="l00158"></a><span class="lineno"> 158</span>&#160;<span class="comment">/*</span></div>
<div class="line"><a name="l00159"></a><span class="lineno"> 159</span>&#160;<span class="comment"> * Safely compare two floating point numbers.</span></div>
<div class="line"><a name="l00160"></a><span class="lineno"> 160</span>&#160;<span class="comment"> * Returns true if they match.</span></div>
<div class="line"><a name="l00161"></a><span class="lineno"> 161</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00162"></a><span class="lineno"> 162</span>&#160;<span class="keyword">template</span>&lt;<span class="keyword">typename</span> T&gt;</div>
<div class="line"><a name="l00163"></a><span class="lineno"> 163</span>&#160;<span class="keyword">static</span> <span class="keyword">inline</span></div>
<div class="line"><a name="l00164"></a><span class="lineno"> 164</span>&#160;<span class="keywordtype">bool</span> d_isEqual(<span class="keyword">const</span> T&amp; v1, <span class="keyword">const</span> T&amp; v2)</div>
<div class="line"><a name="l00165"></a><span class="lineno"> 165</span>&#160;{</div>
<div class="line"><a name="l00166"></a><span class="lineno"> 166</span>&#160; <span class="keywordflow">return</span> std::abs(v1-v2) &lt; std::numeric_limits&lt;T&gt;::epsilon();</div>
<div class="line"><a name="l00167"></a><span class="lineno"> 167</span>&#160;}</div>
<div class="line"><a name="l00168"></a><span class="lineno"> 168</span>&#160;</div>
<div class="line"><a name="l00169"></a><span class="lineno"> 169</span>&#160;<span class="comment">/*</span></div>
<div class="line"><a name="l00170"></a><span class="lineno"> 170</span>&#160;<span class="comment"> * Safely compare two floating point numbers.</span></div>
<div class="line"><a name="l00171"></a><span class="lineno"> 171</span>&#160;<span class="comment"> * Returns true if they don&#39;t match.</span></div>
<div class="line"><a name="l00172"></a><span class="lineno"> 172</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00173"></a><span class="lineno"> 173</span>&#160;<span class="keyword">template</span>&lt;<span class="keyword">typename</span> T&gt;</div>
<div class="line"><a name="l00174"></a><span class="lineno"> 174</span>&#160;<span class="keyword">static</span> <span class="keyword">inline</span></div>
<div class="line"><a name="l00175"></a><span class="lineno"> 175</span>&#160;<span class="keywordtype">bool</span> d_isNotEqual(<span class="keyword">const</span> T&amp; v1, <span class="keyword">const</span> T&amp; v2)</div>
<div class="line"><a name="l00176"></a><span class="lineno"> 176</span>&#160;{</div>
<div class="line"><a name="l00177"></a><span class="lineno"> 177</span>&#160; <span class="keywordflow">return</span> std::abs(v1-v2) &gt;= std::numeric_limits&lt;T&gt;::epsilon();</div>
<div class="line"><a name="l00178"></a><span class="lineno"> 178</span>&#160;}</div>
<div class="line"><a name="l00179"></a><span class="lineno"> 179</span>&#160;</div>
<div class="line"><a name="l00180"></a><span class="lineno"> 180</span>&#160;<span class="comment">/*</span></div>
<div class="line"><a name="l00181"></a><span class="lineno"> 181</span>&#160;<span class="comment"> * Safely check if a floating point number is zero.</span></div>
<div class="line"><a name="l00182"></a><span class="lineno"> 182</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00183"></a><span class="lineno"> 183</span>&#160;<span class="keyword">template</span>&lt;<span class="keyword">typename</span> T&gt;</div>
<div class="line"><a name="l00184"></a><span class="lineno"> 184</span>&#160;<span class="keyword">static</span> <span class="keyword">inline</span></div>
<div class="line"><a name="l00185"></a><span class="lineno"> 185</span>&#160;<span class="keywordtype">bool</span> d_isZero(<span class="keyword">const</span> T&amp; value)</div>
<div class="line"><a name="l00186"></a><span class="lineno"> 186</span>&#160;{</div>
<div class="line"><a name="l00187"></a><span class="lineno"> 187</span>&#160; <span class="keywordflow">return</span> std::abs(value) &lt; std::numeric_limits&lt;T&gt;::epsilon();</div>
<div class="line"><a name="l00188"></a><span class="lineno"> 188</span>&#160;}</div>
<div class="line"><a name="l00189"></a><span class="lineno"> 189</span>&#160;</div>
<div class="line"><a name="l00190"></a><span class="lineno"> 190</span>&#160;<span class="comment">/*</span></div>
<div class="line"><a name="l00191"></a><span class="lineno"> 191</span>&#160;<span class="comment"> * Safely check if a floating point number is not zero.</span></div>
<div class="line"><a name="l00192"></a><span class="lineno"> 192</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00193"></a><span class="lineno"> 193</span>&#160;<span class="keyword">template</span>&lt;<span class="keyword">typename</span> T&gt;</div>
<div class="line"><a name="l00194"></a><span class="lineno"> 194</span>&#160;<span class="keyword">static</span> <span class="keyword">inline</span></div>
<div class="line"><a name="l00195"></a><span class="lineno"> 195</span>&#160;<span class="keywordtype">bool</span> d_isNotZero(<span class="keyword">const</span> T&amp; value)</div>
<div class="line"><a name="l00196"></a><span class="lineno"> 196</span>&#160;{</div>
<div class="line"><a name="l00197"></a><span class="lineno"> 197</span>&#160; <span class="keywordflow">return</span> std::abs(value) &gt;= std::numeric_limits&lt;T&gt;::epsilon();</div>
<div class="line"><a name="l00198"></a><span class="lineno"> 198</span>&#160;}</div>
<div class="line"><a name="l00199"></a><span class="lineno"> 199</span>&#160;</div>
<div class="line"><a name="l00200"></a><span class="lineno"> 200</span>&#160;<span class="comment">// -----------------------------------------------------------------------</span></div>
<div class="line"><a name="l00201"></a><span class="lineno"> 201</span>&#160;</div>
<div class="line"><a name="l00202"></a><span class="lineno"> 202</span>&#160;<span class="preprocessor">#endif // DISTRHO_UTILS_HPP_INCLUDED</span></div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue Apr 21 2015 15:18:54 for DISTRHO Plugin Framework by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.8
</small></address>
</body>
</html>

+ 108
- 0
annotated.html View File

@@ -0,0 +1,108 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.8"/>
<title>DISTRHO Plugin Framework: Class List</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
$(document).ready(function() { searchBox.OnSelectItem(0); });
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">DISTRHO Plugin Framework
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.8 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li class="current"><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="files.html"><span>Files</span></a></li>
<li>
<div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<img id="MSearchSelect" src="search/mag_sel.png"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
<input type="text" id="MSearchField" value="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
</span>
</div>
</li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li class="current"><a href="annotated.html"><span>Class&#160;List</span></a></li>
<li><a href="classes.html"><span>Class&#160;Index</span></a></li>
<li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
<li><a href="functions.html"><span>Class&#160;Members</span></a></li>
</ul>
</div>
</div><!-- top -->
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Modules</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Pages</a></div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div class="header">
<div class="headertitle">
<div class="title">Class List</div> </div>
</div><!--header-->
<div class="contents">
<div class="textblock">Here are the classes, structs, unions and interfaces with brief descriptions:</div><div class="directory">
<div class="levels">[detail level <span onclick="javascript:toggleLevel(1);">1</span><span onclick="javascript:toggleLevel(2);">2</span>]</div><table class="directory">
<tr id="row_0_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structMidiEvent.html" target="_self">MidiEvent</a></td><td class="desc"></td></tr>
<tr id="row_1_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structParameter.html" target="_self">Parameter</a></td><td class="desc"></td></tr>
<tr id="row_2_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structParameterRanges.html" target="_self">ParameterRanges</a></td><td class="desc"></td></tr>
<tr id="row_3_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classPlugin.html" target="_self">Plugin</a></td><td class="desc"></td></tr>
<tr id="row_4_" class="even"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_4_" class="arrow" onclick="toggleFolder('4_')">&#9660;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structTimePosition.html" target="_self">TimePosition</a></td><td class="desc"></td></tr>
<tr id="row_4_0_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structTimePosition_1_1BarBeatTick.html" target="_self">BarBeatTick</a></td><td class="desc"></td></tr>
<tr id="row_5_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classUI.html" target="_self">UI</a></td><td class="desc"></td></tr>
</table>
</div><!-- directory -->
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue Apr 21 2015 15:18:54 for DISTRHO Plugin Framework by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.8
</small></address>
</body>
</html>

BIN
bc_s.png View File

Before After
Width: 8  |  Height: 30  |  Size: 676B

BIN
bdwn.png View File

Before After
Width: 7  |  Height: 8  |  Size: 147B

+ 126
- 0
classPlugin-members.html View File

@@ -0,0 +1,126 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.8"/>
<title>DISTRHO Plugin Framework: Member List</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
$(document).ready(function() { searchBox.OnSelectItem(0); });
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">DISTRHO Plugin Framework
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.8 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li class="current"><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="files.html"><span>Files</span></a></li>
<li>
<div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<img id="MSearchSelect" src="search/mag_sel.png"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
<input type="text" id="MSearchField" value="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
</span>
</div>
</li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="annotated.html"><span>Class&#160;List</span></a></li>
<li><a href="classes.html"><span>Class&#160;Index</span></a></li>
<li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
<li><a href="functions.html"><span>Class&#160;Members</span></a></li>
</ul>
</div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Modules</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Pages</a></div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>

</div><!-- top -->
<div class="header">
<div class="headertitle">
<div class="title">Plugin Member List</div> </div>
</div><!--header-->
<div class="contents">

<p>This is the complete list of members for <a class="el" href="classPlugin.html">Plugin</a>, including all inherited members.</p>
<table class="directory">
<tr class="even"><td class="entry"><a class="el" href="classPlugin.html#a15df4876febf5909fe040d401fc704d0">d_activate</a>()</td><td class="entry"><a class="el" href="classPlugin.html">Plugin</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">virtual</span></td></tr>
<tr><td class="entry"><a class="el" href="classPlugin.html#a2c6ac454e24b667d54eaaf63da252627">d_bufferSizeChanged</a>(uint32_t newBufferSize)</td><td class="entry"><a class="el" href="classPlugin.html">Plugin</a></td><td class="entry"><span class="mlabel">protected</span><span class="mlabel">virtual</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classPlugin.html#a5c008d623e558e7266aecaff22fc787a">d_deactivate</a>()</td><td class="entry"><a class="el" href="classPlugin.html">Plugin</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">virtual</span></td></tr>
<tr><td class="entry"><a class="el" href="classPlugin.html#aa0feb17c3dcf13a106505eb6d6b2a3ac">d_getBufferSize</a>() const noexcept</td><td class="entry"><a class="el" href="classPlugin.html">Plugin</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classPlugin.html#ae512b28d1b274a055de33812cf094d81">d_getLabel</a>() const =0</td><td class="entry"><a class="el" href="classPlugin.html">Plugin</a></td><td class="entry"><span class="mlabel">protected</span><span class="mlabel">pure virtual</span></td></tr>
<tr><td class="entry"><a class="el" href="classPlugin.html#ae9333c170accfd2a237448a4579d5fef">d_getLicense</a>() const =0</td><td class="entry"><a class="el" href="classPlugin.html">Plugin</a></td><td class="entry"><span class="mlabel">protected</span><span class="mlabel">pure virtual</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classPlugin.html#a0eaf2f46f04d60526622afb5a86e026c">d_getMaker</a>() const =0</td><td class="entry"><a class="el" href="classPlugin.html">Plugin</a></td><td class="entry"><span class="mlabel">protected</span><span class="mlabel">pure virtual</span></td></tr>
<tr><td class="entry"><a class="el" href="classPlugin.html#a0f8fb7aa5ab05ba246e158b1024dd031">d_getName</a>() const </td><td class="entry"><a class="el" href="classPlugin.html">Plugin</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">virtual</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classPlugin.html#af088f855761b67489f19f42fbb585088">d_getParameterValue</a>(uint32_t index) const =0</td><td class="entry"><a class="el" href="classPlugin.html">Plugin</a></td><td class="entry"><span class="mlabel">protected</span><span class="mlabel">pure virtual</span></td></tr>
<tr><td class="entry"><a class="el" href="classPlugin.html#ace888940905e8875284e07c52bf7404f">d_getSampleRate</a>() const noexcept</td><td class="entry"><a class="el" href="classPlugin.html">Plugin</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classPlugin.html#ade0a082a3a2936286537a04f4b972225">d_getTimePosition</a>() const noexcept</td><td class="entry"><a class="el" href="classPlugin.html">Plugin</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="classPlugin.html#aea77208248b36c7b8c9dc57ee68ae97a">d_getUniqueId</a>() const =0</td><td class="entry"><a class="el" href="classPlugin.html">Plugin</a></td><td class="entry"><span class="mlabel">protected</span><span class="mlabel">pure virtual</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classPlugin.html#af9251f8d90e4df43c6387bd111487e4e">d_getVersion</a>() const =0</td><td class="entry"><a class="el" href="classPlugin.html">Plugin</a></td><td class="entry"><span class="mlabel">protected</span><span class="mlabel">pure virtual</span></td></tr>
<tr><td class="entry"><a class="el" href="classPlugin.html#a3f93a8eb97db3dc9984c357c5ffca5ec">d_initParameter</a>(uint32_t index, Parameter &amp;parameter)=0</td><td class="entry"><a class="el" href="classPlugin.html">Plugin</a></td><td class="entry"><span class="mlabel">protected</span><span class="mlabel">pure virtual</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classPlugin.html#a8a1792b7c5c6a3fd9cd626c7156ec3b6">d_initProgramName</a>(uint32_t index, d_string &amp;programName)=0</td><td class="entry"><a class="el" href="classPlugin.html">Plugin</a></td><td class="entry"><span class="mlabel">protected</span><span class="mlabel">pure virtual</span></td></tr>
<tr><td class="entry"><a class="el" href="classPlugin.html#a65f9f9d4a30b0a56dfa42703c0b4db76">d_initState</a>(uint32_t index, d_string &amp;stateKey, d_string &amp;defaultStateValue)=0</td><td class="entry"><a class="el" href="classPlugin.html">Plugin</a></td><td class="entry"><span class="mlabel">protected</span><span class="mlabel">pure virtual</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classPlugin.html#af67102a7c6d19a8530ce0e3293e55667">d_run</a>(const float **inputs, float **outputs, uint32_t frames, const MidiEvent *midiEvents, uint32_t midiEventCount)=0</td><td class="entry"><a class="el" href="classPlugin.html">Plugin</a></td><td class="entry"><span class="mlabel">protected</span><span class="mlabel">pure virtual</span></td></tr>
<tr><td class="entry"><a class="el" href="classPlugin.html#a469b53e1c1417a32d766cf96d1b3c45e">d_sampleRateChanged</a>(double newSampleRate)</td><td class="entry"><a class="el" href="classPlugin.html">Plugin</a></td><td class="entry"><span class="mlabel">protected</span><span class="mlabel">virtual</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classPlugin.html#a7816b45ffb52b0a6308cabb792b1a56f">d_setLatency</a>(uint32_t frames) noexcept</td><td class="entry"><a class="el" href="classPlugin.html">Plugin</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="classPlugin.html#a4cdd613f58a013429094700f3d83904a">d_setParameterValue</a>(uint32_t index, float value)=0</td><td class="entry"><a class="el" href="classPlugin.html">Plugin</a></td><td class="entry"><span class="mlabel">protected</span><span class="mlabel">pure virtual</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classPlugin.html#a1d001e50781b35df23f6d9a218f5f804">d_setProgram</a>(uint32_t index)=0</td><td class="entry"><a class="el" href="classPlugin.html">Plugin</a></td><td class="entry"><span class="mlabel">protected</span><span class="mlabel">pure virtual</span></td></tr>
<tr><td class="entry"><a class="el" href="classPlugin.html#ad9c46a36cab96f52a0370043093bca68">d_setState</a>(const char *key, const char *value)=0</td><td class="entry"><a class="el" href="classPlugin.html">Plugin</a></td><td class="entry"><span class="mlabel">protected</span><span class="mlabel">pure virtual</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classPlugin.html#afa10aea18e4036b4a7487f2779d92e0f">d_writeMidiEvent</a>(const MidiEvent &amp;midiEvent) noexcept</td><td class="entry"><a class="el" href="classPlugin.html">Plugin</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="classPlugin.html#a3096e491376cb9378be55915d748de57">Plugin</a>(const uint32_t parameterCount, const uint32_t programCount, const uint32_t stateCount)</td><td class="entry"><a class="el" href="classPlugin.html">Plugin</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>PluginExporter</b> (defined in <a class="el" href="classPlugin.html">Plugin</a>)</td><td class="entry"><a class="el" href="classPlugin.html">Plugin</a></td><td class="entry"><span class="mlabel">friend</span></td></tr>
<tr><td class="entry"><a class="el" href="classPlugin.html#a89814b8f0b1c91e49140d42eb8331383">~Plugin</a>()</td><td class="entry"><a class="el" href="classPlugin.html">Plugin</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue Apr 21 2015 15:18:54 for DISTRHO Plugin Framework by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.8
</small></address>
</body>
</html>

+ 888
- 0
classPlugin.html View File

@@ -0,0 +1,888 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.8"/>
<title>DISTRHO Plugin Framework: Plugin Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
$(document).ready(function() { searchBox.OnSelectItem(0); });
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">DISTRHO Plugin Framework
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.8 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li class="current"><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="files.html"><span>Files</span></a></li>
<li>
<div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<img id="MSearchSelect" src="search/mag_sel.png"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
<input type="text" id="MSearchField" value="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
</span>
</div>
</li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="annotated.html"><span>Class&#160;List</span></a></li>
<li><a href="classes.html"><span>Class&#160;Index</span></a></li>
<li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
<li><a href="functions.html"><span>Class&#160;Members</span></a></li>
</ul>
</div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Modules</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Pages</a></div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>

</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pro-methods">Protected Member Functions</a> &#124;
<a href="#friends">Friends</a> &#124;
<a href="classPlugin-members.html">List of all members</a> </div>
<div class="headertitle">
<div class="title">Plugin Class Reference<span class="mlabels"><span class="mlabel">abstract</span></span></div> </div>
</div><!--header-->
<div class="contents">

<p><code>#include &lt;<a class="el" href="DistrhoPlugin_8hpp_source.html">DistrhoPlugin.hpp</a>&gt;</code></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a3096e491376cb9378be55915d748de57"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPlugin.html#a3096e491376cb9378be55915d748de57">Plugin</a> (const uint32_t parameterCount, const uint32_t programCount, const uint32_t stateCount)</td></tr>
<tr class="separator:a3096e491376cb9378be55915d748de57"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a89814b8f0b1c91e49140d42eb8331383"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPlugin.html#a89814b8f0b1c91e49140d42eb8331383">~Plugin</a> ()</td></tr>
<tr class="separator:a89814b8f0b1c91e49140d42eb8331383"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa0feb17c3dcf13a106505eb6d6b2a3ac"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPlugin.html#aa0feb17c3dcf13a106505eb6d6b2a3ac">d_getBufferSize</a> () const noexcept</td></tr>
<tr class="separator:aa0feb17c3dcf13a106505eb6d6b2a3ac"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ace888940905e8875284e07c52bf7404f"><td class="memItemLeft" align="right" valign="top">double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPlugin.html#ace888940905e8875284e07c52bf7404f">d_getSampleRate</a> () const noexcept</td></tr>
<tr class="separator:ace888940905e8875284e07c52bf7404f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ade0a082a3a2936286537a04f4b972225"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="structTimePosition.html">TimePosition</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPlugin.html#ade0a082a3a2936286537a04f4b972225">d_getTimePosition</a> () const noexcept</td></tr>
<tr class="separator:ade0a082a3a2936286537a04f4b972225"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7816b45ffb52b0a6308cabb792b1a56f"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPlugin.html#a7816b45ffb52b0a6308cabb792b1a56f">d_setLatency</a> (uint32_t frames) noexcept</td></tr>
<tr class="separator:a7816b45ffb52b0a6308cabb792b1a56f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afa10aea18e4036b4a7487f2779d92e0f"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPlugin.html#afa10aea18e4036b4a7487f2779d92e0f">d_writeMidiEvent</a> (const <a class="el" href="structMidiEvent.html">MidiEvent</a> &amp;midiEvent) noexcept</td></tr>
<tr class="separator:afa10aea18e4036b4a7487f2779d92e0f"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-methods"></a>
Protected Member Functions</h2></td></tr>
<tr class="memitem:a0f8fb7aa5ab05ba246e158b1024dd031"><td class="memItemLeft" align="right" valign="top">virtual const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPlugin.html#a0f8fb7aa5ab05ba246e158b1024dd031">d_getName</a> () const </td></tr>
<tr class="separator:a0f8fb7aa5ab05ba246e158b1024dd031"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae512b28d1b274a055de33812cf094d81"><td class="memItemLeft" align="right" valign="top">virtual const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPlugin.html#ae512b28d1b274a055de33812cf094d81">d_getLabel</a> () const =0</td></tr>
<tr class="separator:ae512b28d1b274a055de33812cf094d81"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0eaf2f46f04d60526622afb5a86e026c"><td class="memItemLeft" align="right" valign="top">virtual const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPlugin.html#a0eaf2f46f04d60526622afb5a86e026c">d_getMaker</a> () const =0</td></tr>
<tr class="separator:a0eaf2f46f04d60526622afb5a86e026c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae9333c170accfd2a237448a4579d5fef"><td class="memItemLeft" align="right" valign="top">virtual const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPlugin.html#ae9333c170accfd2a237448a4579d5fef">d_getLicense</a> () const =0</td></tr>
<tr class="separator:ae9333c170accfd2a237448a4579d5fef"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af9251f8d90e4df43c6387bd111487e4e"><td class="memItemLeft" align="right" valign="top">virtual uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPlugin.html#af9251f8d90e4df43c6387bd111487e4e">d_getVersion</a> () const =0</td></tr>
<tr class="separator:af9251f8d90e4df43c6387bd111487e4e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aea77208248b36c7b8c9dc57ee68ae97a"><td class="memItemLeft" align="right" valign="top">virtual int64_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPlugin.html#aea77208248b36c7b8c9dc57ee68ae97a">d_getUniqueId</a> () const =0</td></tr>
<tr class="separator:aea77208248b36c7b8c9dc57ee68ae97a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3f93a8eb97db3dc9984c357c5ffca5ec"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPlugin.html#a3f93a8eb97db3dc9984c357c5ffca5ec">d_initParameter</a> (uint32_t index, <a class="el" href="structParameter.html">Parameter</a> &amp;parameter)=0</td></tr>
<tr class="separator:a3f93a8eb97db3dc9984c357c5ffca5ec"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8a1792b7c5c6a3fd9cd626c7156ec3b6"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPlugin.html#a8a1792b7c5c6a3fd9cd626c7156ec3b6">d_initProgramName</a> (uint32_t index, d_string &amp;programName)=0</td></tr>
<tr class="separator:a8a1792b7c5c6a3fd9cd626c7156ec3b6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a65f9f9d4a30b0a56dfa42703c0b4db76"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPlugin.html#a65f9f9d4a30b0a56dfa42703c0b4db76">d_initState</a> (uint32_t index, d_string &amp;stateKey, d_string &amp;defaultStateValue)=0</td></tr>
<tr class="separator:a65f9f9d4a30b0a56dfa42703c0b4db76"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af088f855761b67489f19f42fbb585088"><td class="memItemLeft" align="right" valign="top">virtual float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPlugin.html#af088f855761b67489f19f42fbb585088">d_getParameterValue</a> (uint32_t index) const =0</td></tr>
<tr class="separator:af088f855761b67489f19f42fbb585088"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4cdd613f58a013429094700f3d83904a"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPlugin.html#a4cdd613f58a013429094700f3d83904a">d_setParameterValue</a> (uint32_t index, float value)=0</td></tr>
<tr class="separator:a4cdd613f58a013429094700f3d83904a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1d001e50781b35df23f6d9a218f5f804"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPlugin.html#a1d001e50781b35df23f6d9a218f5f804">d_setProgram</a> (uint32_t index)=0</td></tr>
<tr class="separator:a1d001e50781b35df23f6d9a218f5f804"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad9c46a36cab96f52a0370043093bca68"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPlugin.html#ad9c46a36cab96f52a0370043093bca68">d_setState</a> (const char *key, const char *value)=0</td></tr>
<tr class="separator:ad9c46a36cab96f52a0370043093bca68"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a15df4876febf5909fe040d401fc704d0"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPlugin.html#a15df4876febf5909fe040d401fc704d0">d_activate</a> ()</td></tr>
<tr class="separator:a15df4876febf5909fe040d401fc704d0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5c008d623e558e7266aecaff22fc787a"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPlugin.html#a5c008d623e558e7266aecaff22fc787a">d_deactivate</a> ()</td></tr>
<tr class="separator:a5c008d623e558e7266aecaff22fc787a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af67102a7c6d19a8530ce0e3293e55667"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPlugin.html#af67102a7c6d19a8530ce0e3293e55667">d_run</a> (const float **inputs, float **outputs, uint32_t frames, const <a class="el" href="structMidiEvent.html">MidiEvent</a> *midiEvents, uint32_t midiEventCount)=0</td></tr>
<tr class="separator:af67102a7c6d19a8530ce0e3293e55667"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2c6ac454e24b667d54eaaf63da252627"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPlugin.html#a2c6ac454e24b667d54eaaf63da252627">d_bufferSizeChanged</a> (uint32_t newBufferSize)</td></tr>
<tr class="separator:a2c6ac454e24b667d54eaaf63da252627"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a469b53e1c1417a32d766cf96d1b3c45e"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPlugin.html#a469b53e1c1417a32d766cf96d1b3c45e">d_sampleRateChanged</a> (double newSampleRate)</td></tr>
<tr class="separator:a469b53e1c1417a32d766cf96d1b3c45e"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="friends"></a>
Friends</h2></td></tr>
<tr class="memitem:a37441261848b635971dab1ee767285dd"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a37441261848b635971dab1ee767285dd"></a>
class&#160;</td><td class="memItemRight" valign="bottom"><b>PluginExporter</b></td></tr>
<tr class="separator:a37441261848b635971dab1ee767285dd"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>DPF <a class="el" href="classPlugin.html">Plugin</a> class from where plugin instances are created.</p>
<p>The public methods (Host state) are called from the plugin to get or set host information. They can be called from a plugin instance at anytime unless stated otherwise. All other methods are to be implemented by the plugin and will be called by the host.</p>
<p>Shortly after a plugin instance is created, the various d_init* functions will be called by the host. Host will call <a class="el" href="classPlugin.html#a15df4876febf5909fe040d401fc704d0">d_activate()</a> before <a class="el" href="classPlugin.html#af67102a7c6d19a8530ce0e3293e55667">d_run()</a>, and <a class="el" href="classPlugin.html#a5c008d623e558e7266aecaff22fc787a">d_deactivate()</a> before the plugin instance is destroyed. The host may call deactivate right after activate and vice-versa, but never activate/deactivate consecutively. There is no limit on how many times <a class="el" href="classPlugin.html#af67102a7c6d19a8530ce0e3293e55667">d_run()</a> is called, only that activate/deactivate will be called in between.</p>
<p>The buffer size and sample rate values will remain constant between activate and deactivate. Buffer size is only a hint though, the host might call <a class="el" href="classPlugin.html#af67102a7c6d19a8530ce0e3293e55667">d_run()</a> with a higher or lower number of frames.</p>
<p>Some of this class functions are only available according to some macros.</p>
<p>DISTRHO_PLUGIN_WANT_PROGRAMS activates program related features. When enabled you need to implement <a class="el" href="classPlugin.html#a8a1792b7c5c6a3fd9cd626c7156ec3b6">d_initProgramName()</a> and <a class="el" href="classPlugin.html#a1d001e50781b35df23f6d9a218f5f804">d_setProgram()</a>.</p>
<p>DISTRHO_PLUGIN_WANT_STATE activates internal state features. When enabled you need to implement d_initStateKey() and <a class="el" href="classPlugin.html#ad9c46a36cab96f52a0370043093bca68">d_setState()</a>.</p>
<p>The process function <a class="el" href="classPlugin.html#af67102a7c6d19a8530ce0e3293e55667">d_run()</a> changes wherever DISTRHO_PLUGIN_WANT_MIDI_INPUT is enabled or not. When enabled it provides midi input events. </p>
</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="a3096e491376cb9378be55915d748de57"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">Plugin::Plugin </td>
<td>(</td>
<td class="paramtype">const uint32_t&#160;</td>
<td class="paramname"><em>parameterCount</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint32_t&#160;</td>
<td class="paramname"><em>programCount</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint32_t&#160;</td>
<td class="paramname"><em>stateCount</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p><a class="el" href="classPlugin.html">Plugin</a> class constructor. You must set all parameter values to their defaults, matching <a class="el" href="structParameterRanges.html#aa0aba68115bcfff25c35b2da2f7aed4c">ParameterRanges::def</a>. If you're using states you must also set them to their defaults by calling <a class="el" href="classPlugin.html#ad9c46a36cab96f52a0370043093bca68">d_setState()</a>. </p>

</div>
</div>
<a class="anchor" id="a89814b8f0b1c91e49140d42eb8331383"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual Plugin::~Plugin </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Destructor. </p>

</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a class="anchor" id="aa0feb17c3dcf13a106505eb6d6b2a3ac"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">uint32_t Plugin::d_getBufferSize </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">noexcept</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Get the current buffer size that will probably be used during processing, in frames. This value will remain constant between activate and deactivate. </p><dl class="section note"><dt>Note</dt><dd>: This value is only a hint! Hosts might call <a class="el" href="classPlugin.html#af67102a7c6d19a8530ce0e3293e55667">d_run()</a> with a higher or lower number of frames. </dd></dl>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="classPlugin.html#a2c6ac454e24b667d54eaaf63da252627">d_bufferSizeChanged(uint32_t)</a> </dd></dl>

</div>
</div>
<a class="anchor" id="ace888940905e8875284e07c52bf7404f"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">double Plugin::d_getSampleRate </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">noexcept</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Get the current sample rate that will be used during processing. This value will remain constant between activate and deactivate. </p><dl class="section see"><dt>See also</dt><dd><a class="el" href="classPlugin.html#a469b53e1c1417a32d766cf96d1b3c45e">d_sampleRateChanged(double)</a> </dd></dl>

</div>
</div>
<a class="anchor" id="ade0a082a3a2936286537a04f4b972225"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">const <a class="el" href="structTimePosition.html">TimePosition</a>&amp; Plugin::d_getTimePosition </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">noexcept</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Get the current host transport time position. This function should only be called during <a class="el" href="classPlugin.html#af67102a7c6d19a8530ce0e3293e55667">d_run()</a>. You can call this during other times, but the returned position is not guaranteed to be in sync. </p><dl class="section note"><dt>Note</dt><dd>: TimePos is not supported in LADSPA and DSSI plugin formats. </dd></dl>

</div>
</div>
<a class="anchor" id="a7816b45ffb52b0a6308cabb792b1a56f"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void Plugin::d_setLatency </td>
<td>(</td>
<td class="paramtype">uint32_t&#160;</td>
<td class="paramname"><em>frames</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">noexcept</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Change the plugin audio output latency to <em>frames</em>. This function should only be called in the constructor, <a class="el" href="classPlugin.html#a15df4876febf5909fe040d401fc704d0">d_activate()</a> and <a class="el" href="classPlugin.html#af67102a7c6d19a8530ce0e3293e55667">d_run()</a>. </p><dl class="section note"><dt>Note</dt><dd>This function is only available if DISTRHO_PLUGIN_WANT_LATENCY is enabled. </dd></dl>

</div>
</div>
<a class="anchor" id="afa10aea18e4036b4a7487f2779d92e0f"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">bool Plugin::d_writeMidiEvent </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="structMidiEvent.html">MidiEvent</a> &amp;&#160;</td>
<td class="paramname"><em>midiEvent</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">noexcept</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Write a MIDI output event. This function must only be called during <a class="el" href="classPlugin.html#af67102a7c6d19a8530ce0e3293e55667">d_run()</a>. Returns false when the host buffer is full, in which case do not call this again until the next <a class="el" href="classPlugin.html#af67102a7c6d19a8530ce0e3293e55667">d_run()</a>. </p>

</div>
</div>
<a class="anchor" id="a0f8fb7aa5ab05ba246e158b1024dd031"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual const char* Plugin::d_getName </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Get the plugin name. Returns DISTRHO_PLUGIN_NAME by default. </p>

</div>
</div>
<a class="anchor" id="ae512b28d1b274a055de33812cf094d81"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual const char* Plugin::d_getLabel </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">pure virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Get the plugin label. A plugin label follows the same rules as <a class="el" href="structParameter.html#a0b5193e6131f65878dfb6fe4d9f5e970">Parameter::symbol</a>, with the exception that it can start with numbers. </p>

</div>
</div>
<a class="anchor" id="a0eaf2f46f04d60526622afb5a86e026c"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual const char* Plugin::d_getMaker </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">pure virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Get the plugin author/maker. </p>

</div>
</div>
<a class="anchor" id="ae9333c170accfd2a237448a4579d5fef"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual const char* Plugin::d_getLicense </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">pure virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Get the plugin license name (a single line of text). </p>

</div>
</div>
<a class="anchor" id="af9251f8d90e4df43c6387bd111487e4e"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual uint32_t Plugin::d_getVersion </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">pure virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Get the plugin version, in hexadecimal. TODO format to be defined </p>

</div>
</div>
<a class="anchor" id="aea77208248b36c7b8c9dc57ee68ae97a"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual int64_t Plugin::d_getUniqueId </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">pure virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Get the plugin unique Id. This value is used by LADSPA, DSSI and VST plugin formats. </p>

</div>
</div>
<a class="anchor" id="a3f93a8eb97db3dc9984c357c5ffca5ec"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual void Plugin::d_initParameter </td>
<td>(</td>
<td class="paramtype">uint32_t&#160;</td>
<td class="paramname"><em>index</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="structParameter.html">Parameter</a> &amp;&#160;</td>
<td class="paramname"><em>parameter</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">pure virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Initialize the parameter <em>index</em>. This function will be called once, shortly after the plugin is created. </p>

</div>
</div>
<a class="anchor" id="a8a1792b7c5c6a3fd9cd626c7156ec3b6"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual void Plugin::d_initProgramName </td>
<td>(</td>
<td class="paramtype">uint32_t&#160;</td>
<td class="paramname"><em>index</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">d_string &amp;&#160;</td>
<td class="paramname"><em>programName</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">pure virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Set the name of the program <em>index</em>. This function will be called once, shortly after the plugin is created. Must be implemented by your plugin class only if DISTRHO_PLUGIN_WANT_PROGRAMS is enabled. </p>

</div>
</div>
<a class="anchor" id="a65f9f9d4a30b0a56dfa42703c0b4db76"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual void Plugin::d_initState </td>
<td>(</td>
<td class="paramtype">uint32_t&#160;</td>
<td class="paramname"><em>index</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">d_string &amp;&#160;</td>
<td class="paramname"><em>stateKey</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">d_string &amp;&#160;</td>
<td class="paramname"><em>defaultStateValue</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">pure virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Set the state key and default value of <em>index</em>. This function will be called once, shortly after the plugin is created. Must be implemented by your plugin class only if DISTRHO_PLUGIN_WANT_STATE is enabled. </p>

</div>
</div>
<a class="anchor" id="af088f855761b67489f19f42fbb585088"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual float Plugin::d_getParameterValue </td>
<td>(</td>
<td class="paramtype">uint32_t&#160;</td>
<td class="paramname"><em>index</em></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">pure virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Get the current value of a parameter. The host may call this function from any context, including realtime processing. </p>

</div>
</div>
<a class="anchor" id="a4cdd613f58a013429094700f3d83904a"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual void Plugin::d_setParameterValue </td>
<td>(</td>
<td class="paramtype">uint32_t&#160;</td>
<td class="paramname"><em>index</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">float&#160;</td>
<td class="paramname"><em>value</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">pure virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Change a parameter value. The host may call this function from any context, including realtime processing. When a parameter is marked as automable, you must ensure no non-realtime operations are called. </p><dl class="section note"><dt>Note</dt><dd>This function will only be called for parameter inputs. </dd></dl>

</div>
</div>
<a class="anchor" id="a1d001e50781b35df23f6d9a218f5f804"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual void Plugin::d_setProgram </td>
<td>(</td>
<td class="paramtype">uint32_t&#160;</td>
<td class="paramname"><em>index</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">pure virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Change the currently used program to <em>index</em>. The host may call this function from any context, including realtime processing. Must be implemented by your plugin class only if DISTRHO_PLUGIN_WANT_PROGRAMS is enabled. </p>

</div>
</div>
<a class="anchor" id="ad9c46a36cab96f52a0370043093bca68"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual void Plugin::d_setState </td>
<td>(</td>
<td class="paramtype">const char *&#160;</td>
<td class="paramname"><em>key</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const char *&#160;</td>
<td class="paramname"><em>value</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">pure virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Change an internal state <em>key</em> to <em>value</em>. Must be implemented by your plugin class only if DISTRHO_PLUGIN_WANT_STATE is enabled. </p>

</div>
</div>
<a class="anchor" id="a15df4876febf5909fe040d401fc704d0"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual void Plugin::d_activate </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Activate this plugin. </p>

</div>
</div>
<a class="anchor" id="a5c008d623e558e7266aecaff22fc787a"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual void Plugin::d_deactivate </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Deactivate this plugin. </p>

</div>
</div>
<a class="anchor" id="af67102a7c6d19a8530ce0e3293e55667"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual void Plugin::d_run </td>
<td>(</td>
<td class="paramtype">const float **&#160;</td>
<td class="paramname"><em>inputs</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">float **&#160;</td>
<td class="paramname"><em>outputs</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint32_t&#160;</td>
<td class="paramname"><em>frames</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="structMidiEvent.html">MidiEvent</a> *&#160;</td>
<td class="paramname"><em>midiEvents</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint32_t&#160;</td>
<td class="paramname"><em>midiEventCount</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">pure virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Run/process function for plugins with MIDI input. </p><dl class="section note"><dt>Note</dt><dd>: Some parameters might be null if there are no audio inputs/outputs or MIDI events. </dd></dl>

</div>
</div>
<a class="anchor" id="a2c6ac454e24b667d54eaaf63da252627"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual void Plugin::d_bufferSizeChanged </td>
<td>(</td>
<td class="paramtype">uint32_t&#160;</td>
<td class="paramname"><em>newBufferSize</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Optional callback to inform the plugin about a buffer size change. This function will only be called when the plugin is deactivated. </p><dl class="section note"><dt>Note</dt><dd>: This value is only a hint! Hosts might call <a class="el" href="classPlugin.html#af67102a7c6d19a8530ce0e3293e55667">d_run()</a> with a higher or lower number of frames. </dd></dl>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="classPlugin.html#aa0feb17c3dcf13a106505eb6d6b2a3ac">d_getBufferSize()</a> </dd></dl>

</div>
</div>
<a class="anchor" id="a469b53e1c1417a32d766cf96d1b3c45e"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual void Plugin::d_sampleRateChanged </td>
<td>(</td>
<td class="paramtype">double&#160;</td>
<td class="paramname"><em>newSampleRate</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Optional callback to inform the plugin about a sample rate change. This function will only be called when the plugin is deactivated. </p><dl class="section see"><dt>See also</dt><dd><a class="el" href="classPlugin.html#ace888940905e8875284e07c52bf7404f">d_getSampleRate()</a> </dd></dl>

</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li>distrho/<a class="el" href="DistrhoPlugin_8hpp_source.html">DistrhoPlugin.hpp</a></li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue Apr 21 2015 15:18:54 for DISTRHO Plugin Framework by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.8
</small></address>
</body>
</html>

+ 118
- 0
classUI-members.html View File

@@ -0,0 +1,118 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.8"/>
<title>DISTRHO Plugin Framework: Member List</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
$(document).ready(function() { searchBox.OnSelectItem(0); });
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">DISTRHO Plugin Framework
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.8 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li class="current"><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="files.html"><span>Files</span></a></li>
<li>
<div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<img id="MSearchSelect" src="search/mag_sel.png"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
<input type="text" id="MSearchField" value="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
</span>
</div>
</li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="annotated.html"><span>Class&#160;List</span></a></li>
<li><a href="classes.html"><span>Class&#160;Index</span></a></li>
<li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
<li><a href="functions.html"><span>Class&#160;Members</span></a></li>
</ul>
</div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Modules</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Pages</a></div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>

</div><!-- top -->
<div class="header">
<div class="headertitle">
<div class="title">UI Member List</div> </div>
</div><!--header-->
<div class="contents">

<p>This is the complete list of members for <a class="el" href="classUI.html">UI</a>, including all inherited members.</p>
<table class="directory">
<tr class="even"><td class="entry"><a class="el" href="classUI.html#a768b898d1e063d5c0112197b99ccba99">d_editParameter</a>(const uint32_t index, const bool started)</td><td class="entry"><a class="el" href="classUI.html">UI</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="classUI.html#a5393f505fc8702905c15c70c9fcf0d48">d_getPluginInstancePointer</a>() const noexcept</td><td class="entry"><a class="el" href="classUI.html">UI</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classUI.html#ab6cbe4dcade92f7f49d4405e51ee639c">d_getSampleRate</a>() const noexcept</td><td class="entry"><a class="el" href="classUI.html">UI</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="classUI.html#a9599da33720f4648e9ce78cc18249b07">d_parameterChanged</a>(uint32_t index, float value)=0</td><td class="entry"><a class="el" href="classUI.html">UI</a></td><td class="entry"><span class="mlabel">protected</span><span class="mlabel">pure virtual</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classUI.html#a7d703d2caff4765f270686b8428a2fa0">d_programChanged</a>(uint32_t index)=0</td><td class="entry"><a class="el" href="classUI.html">UI</a></td><td class="entry"><span class="mlabel">protected</span><span class="mlabel">pure virtual</span></td></tr>
<tr><td class="entry"><a class="el" href="classUI.html#a18f4b84a973405fc098e69047e0d1994">d_sampleRateChanged</a>(double newSampleRate)</td><td class="entry"><a class="el" href="classUI.html">UI</a></td><td class="entry"><span class="mlabel">protected</span><span class="mlabel">virtual</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classUI.html#a621c381126d8e2f0124199b82cdcd456">d_sendNote</a>(const uint8_t channel, const uint8_t note, const uint8_t velocity)</td><td class="entry"><a class="el" href="classUI.html">UI</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="classUI.html#a310a08018194f82937ca92bed4e77f1f">d_setParameterValue</a>(const uint32_t index, const float value)</td><td class="entry"><a class="el" href="classUI.html">UI</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classUI.html#ac32cb7fd88c642eadebf64137acd910e">d_setState</a>(const char *const key, const char *const value)</td><td class="entry"><a class="el" href="classUI.html">UI</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="classUI.html#a7f508ebffec7a5168b532ccb9d81df70">d_stateChanged</a>(const char *key, const char *value)=0</td><td class="entry"><a class="el" href="classUI.html">UI</a></td><td class="entry"><span class="mlabel">protected</span><span class="mlabel">pure virtual</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classUI.html#ab10300e34b40d6b447b1213813f474c0">d_uiFileBrowserSelected</a>(const char *filename)</td><td class="entry"><a class="el" href="classUI.html">UI</a></td><td class="entry"><span class="mlabel">protected</span><span class="mlabel">virtual</span></td></tr>
<tr><td class="entry"><a class="el" href="classUI.html#aa320b8d3e826394dad9f7c36692f9b6c">d_uiIdle</a>()</td><td class="entry"><a class="el" href="classUI.html">UI</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">virtual</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classUI.html#aaf729415450434ad6690db93fd936bbf">d_uiReshape</a>(uint width, uint height)</td><td class="entry"><a class="el" href="classUI.html">UI</a></td><td class="entry"><span class="mlabel">protected</span><span class="mlabel">virtual</span></td></tr>
<tr><td class="entry"><a class="el" href="classUI.html#a8de15be030bbdf0eb81461349cb1cc77">onResize</a>(const ResizeEvent &amp;ev) override</td><td class="entry"><a class="el" href="classUI.html">UI</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classUI.html#ad3425075e4a23234a8568d1893b54f22">UI</a>(uint width=0, uint height=0)</td><td class="entry"><a class="el" href="classUI.html">UI</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>UIExporter</b> (defined in <a class="el" href="classUI.html">UI</a>)</td><td class="entry"><a class="el" href="classUI.html">UI</a></td><td class="entry"><span class="mlabel">friend</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>UIExporterWindow</b> (defined in <a class="el" href="classUI.html">UI</a>)</td><td class="entry"><a class="el" href="classUI.html">UI</a></td><td class="entry"><span class="mlabel">friend</span></td></tr>
<tr><td class="entry"><a class="el" href="classUI.html#a47e7b6111faba049dfee4738d067cc42">~UI</a>()</td><td class="entry"><a class="el" href="classUI.html">UI</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue Apr 21 2015 15:18:54 for DISTRHO Plugin Framework by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.8
</small></address>
</body>
</html>

+ 611
- 0
classUI.html View File

@@ -0,0 +1,611 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.8"/>
<title>DISTRHO Plugin Framework: UI Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
$(document).ready(function() { searchBox.OnSelectItem(0); });
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">DISTRHO Plugin Framework
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.8 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li class="current"><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="files.html"><span>Files</span></a></li>
<li>
<div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<img id="MSearchSelect" src="search/mag_sel.png"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
<input type="text" id="MSearchField" value="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
</span>
</div>
</li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="annotated.html"><span>Class&#160;List</span></a></li>
<li><a href="classes.html"><span>Class&#160;Index</span></a></li>
<li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
<li><a href="functions.html"><span>Class&#160;Members</span></a></li>
</ul>
</div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Modules</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Pages</a></div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>

</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pro-methods">Protected Member Functions</a> &#124;
<a href="#friends">Friends</a> &#124;
<a href="classUI-members.html">List of all members</a> </div>
<div class="headertitle">
<div class="title">UI Class Reference<span class="mlabels"><span class="mlabel">abstract</span></span></div> </div>
</div><!--header-->
<div class="contents">

<p><code>#include &lt;<a class="el" href="DistrhoUI_8hpp_source.html">DistrhoUI.hpp</a>&gt;</code></p>
<div class="dynheader">
Inheritance diagram for UI:</div>
<div class="dyncontent">
<div class="center">
<img src="classUI.png" usemap="#UI_map" alt=""/>
<map id="UI_map" name="UI_map">
</map>
</div></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:ad3425075e4a23234a8568d1893b54f22"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classUI.html#ad3425075e4a23234a8568d1893b54f22">UI</a> (uint width=0, uint height=0)</td></tr>
<tr class="separator:ad3425075e4a23234a8568d1893b54f22"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a47e7b6111faba049dfee4738d067cc42"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classUI.html#a47e7b6111faba049dfee4738d067cc42">~UI</a> ()</td></tr>
<tr class="separator:a47e7b6111faba049dfee4738d067cc42"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab6cbe4dcade92f7f49d4405e51ee639c"><td class="memItemLeft" align="right" valign="top">double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classUI.html#ab6cbe4dcade92f7f49d4405e51ee639c">d_getSampleRate</a> () const noexcept</td></tr>
<tr class="separator:ab6cbe4dcade92f7f49d4405e51ee639c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a768b898d1e063d5c0112197b99ccba99"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classUI.html#a768b898d1e063d5c0112197b99ccba99">d_editParameter</a> (const uint32_t index, const bool started)</td></tr>
<tr class="separator:a768b898d1e063d5c0112197b99ccba99"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a310a08018194f82937ca92bed4e77f1f"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classUI.html#a310a08018194f82937ca92bed4e77f1f">d_setParameterValue</a> (const uint32_t index, const float value)</td></tr>
<tr class="separator:a310a08018194f82937ca92bed4e77f1f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac32cb7fd88c642eadebf64137acd910e"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classUI.html#ac32cb7fd88c642eadebf64137acd910e">d_setState</a> (const char *const key, const char *const value)</td></tr>
<tr class="separator:ac32cb7fd88c642eadebf64137acd910e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a621c381126d8e2f0124199b82cdcd456"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classUI.html#a621c381126d8e2f0124199b82cdcd456">d_sendNote</a> (const uint8_t channel, const uint8_t note, const uint8_t velocity)</td></tr>
<tr class="separator:a621c381126d8e2f0124199b82cdcd456"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5393f505fc8702905c15c70c9fcf0d48"><td class="memItemLeft" align="right" valign="top">void *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classUI.html#a5393f505fc8702905c15c70c9fcf0d48">d_getPluginInstancePointer</a> () const noexcept</td></tr>
<tr class="separator:a5393f505fc8702905c15c70c9fcf0d48"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-methods"></a>
Protected Member Functions</h2></td></tr>
<tr class="memitem:a9599da33720f4648e9ce78cc18249b07"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classUI.html#a9599da33720f4648e9ce78cc18249b07">d_parameterChanged</a> (uint32_t index, float value)=0</td></tr>
<tr class="separator:a9599da33720f4648e9ce78cc18249b07"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7d703d2caff4765f270686b8428a2fa0"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classUI.html#a7d703d2caff4765f270686b8428a2fa0">d_programChanged</a> (uint32_t index)=0</td></tr>
<tr class="separator:a7d703d2caff4765f270686b8428a2fa0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7f508ebffec7a5168b532ccb9d81df70"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classUI.html#a7f508ebffec7a5168b532ccb9d81df70">d_stateChanged</a> (const char *key, const char *value)=0</td></tr>
<tr class="separator:a7f508ebffec7a5168b532ccb9d81df70"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a18f4b84a973405fc098e69047e0d1994"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classUI.html#a18f4b84a973405fc098e69047e0d1994">d_sampleRateChanged</a> (double newSampleRate)</td></tr>
<tr class="separator:a18f4b84a973405fc098e69047e0d1994"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa320b8d3e826394dad9f7c36692f9b6c"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classUI.html#aa320b8d3e826394dad9f7c36692f9b6c">d_uiIdle</a> ()</td></tr>
<tr class="separator:aa320b8d3e826394dad9f7c36692f9b6c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab10300e34b40d6b447b1213813f474c0"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classUI.html#ab10300e34b40d6b447b1213813f474c0">d_uiFileBrowserSelected</a> (const char *filename)</td></tr>
<tr class="separator:ab10300e34b40d6b447b1213813f474c0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aaf729415450434ad6690db93fd936bbf"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classUI.html#aaf729415450434ad6690db93fd936bbf">d_uiReshape</a> (uint width, uint height)</td></tr>
<tr class="separator:aaf729415450434ad6690db93fd936bbf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8de15be030bbdf0eb81461349cb1cc77"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classUI.html#a8de15be030bbdf0eb81461349cb1cc77">onResize</a> (const ResizeEvent &amp;ev) override</td></tr>
<tr class="separator:a8de15be030bbdf0eb81461349cb1cc77"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="friends"></a>
Friends</h2></td></tr>
<tr class="memitem:aaf9db2e4a604d26b79f28734659b7409"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aaf9db2e4a604d26b79f28734659b7409"></a>
class&#160;</td><td class="memItemRight" valign="bottom"><b>UIExporter</b></td></tr>
<tr class="separator:aaf9db2e4a604d26b79f28734659b7409"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a09076cbeb5a44f946ba377c83859bfd3"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a09076cbeb5a44f946ba377c83859bfd3"></a>
class&#160;</td><td class="memItemRight" valign="bottom"><b>UIExporterWindow</b></td></tr>
<tr class="separator:a09076cbeb5a44f946ba377c83859bfd3"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>DPF <a class="el" href="classUI.html">UI</a> class from where <a class="el" href="classUI.html">UI</a> instances are created.</p>
<p>TODO.</p>
<p>must call setSize during construction, </p>
</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="ad3425075e4a23234a8568d1893b54f22"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">UI::UI </td>
<td>(</td>
<td class="paramtype">uint&#160;</td>
<td class="paramname"><em>width</em> = <code>0</code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint&#160;</td>
<td class="paramname"><em>height</em> = <code>0</code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p><a class="el" href="classUI.html">UI</a> class constructor. The <a class="el" href="classUI.html">UI</a> should be initialized to a default state that matches the plugin side. </p>

</div>
</div>
<a class="anchor" id="a47e7b6111faba049dfee4738d067cc42"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual UI::~UI </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Destructor. </p>

</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a class="anchor" id="ab6cbe4dcade92f7f49d4405e51ee639c"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">double UI::d_getSampleRate </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">noexcept</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Get the current sample rate used in plugin processing. </p><dl class="section see"><dt>See also</dt><dd><a class="el" href="classUI.html#a18f4b84a973405fc098e69047e0d1994">d_sampleRateChanged(double)</a> </dd></dl>

</div>
</div>
<a class="anchor" id="a768b898d1e063d5c0112197b99ccba99"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void UI::d_editParameter </td>
<td>(</td>
<td class="paramtype">const uint32_t&#160;</td>
<td class="paramname"><em>index</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const bool&#160;</td>
<td class="paramname"><em>started</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>TODO: Document this. </p>

</div>
</div>
<a class="anchor" id="a310a08018194f82937ca92bed4e77f1f"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void UI::d_setParameterValue </td>
<td>(</td>
<td class="paramtype">const uint32_t&#160;</td>
<td class="paramname"><em>index</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const float&#160;</td>
<td class="paramname"><em>value</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>TODO: Document this. </p>

</div>
</div>
<a class="anchor" id="ac32cb7fd88c642eadebf64137acd910e"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void UI::d_setState </td>
<td>(</td>
<td class="paramtype">const char *const&#160;</td>
<td class="paramname"><em>key</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const char *const&#160;</td>
<td class="paramname"><em>value</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>TODO: Document this. </p>

</div>
</div>
<a class="anchor" id="a621c381126d8e2f0124199b82cdcd456"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void UI::d_sendNote </td>
<td>(</td>
<td class="paramtype">const uint8_t&#160;</td>
<td class="paramname"><em>channel</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint8_t&#160;</td>
<td class="paramname"><em>note</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint8_t&#160;</td>
<td class="paramname"><em>velocity</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>TODO: Document this. </p>

</div>
</div>
<a class="anchor" id="a5393f505fc8702905c15c70c9fcf0d48"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void* UI::d_getPluginInstancePointer </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">noexcept</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>TODO: Document this. </p>

</div>
</div>
<a class="anchor" id="a9599da33720f4648e9ce78cc18249b07"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual void UI::d_parameterChanged </td>
<td>(</td>
<td class="paramtype">uint32_t&#160;</td>
<td class="paramname"><em>index</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">float&#160;</td>
<td class="paramname"><em>value</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">pure virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>A parameter has changed on the plugin side. This is called by the host to inform the <a class="el" href="classUI.html">UI</a> about parameter changes. </p>

</div>
</div>
<a class="anchor" id="a7d703d2caff4765f270686b8428a2fa0"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual void UI::d_programChanged </td>
<td>(</td>
<td class="paramtype">uint32_t&#160;</td>
<td class="paramname"><em>index</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">pure virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>The current program has changed on the plugin side. This is called by the host to inform the <a class="el" href="classUI.html">UI</a> about program changes. </p>

</div>
</div>
<a class="anchor" id="a7f508ebffec7a5168b532ccb9d81df70"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual void UI::d_stateChanged </td>
<td>(</td>
<td class="paramtype">const char *&#160;</td>
<td class="paramname"><em>key</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const char *&#160;</td>
<td class="paramname"><em>value</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">pure virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>A state has changed on the plugin side. This is called by the host to inform the <a class="el" href="classUI.html">UI</a> about state changes. </p>

</div>
</div>
<a class="anchor" id="a18f4b84a973405fc098e69047e0d1994"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual void UI::d_sampleRateChanged </td>
<td>(</td>
<td class="paramtype">double&#160;</td>
<td class="paramname"><em>newSampleRate</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Optional callback to inform the <a class="el" href="classUI.html">UI</a> about a sample rate change on the plugin side. </p><dl class="section see"><dt>See also</dt><dd><a class="el" href="classUI.html#ab6cbe4dcade92f7f49d4405e51ee639c">d_getSampleRate()</a> </dd></dl>

</div>
</div>
<a class="anchor" id="aa320b8d3e826394dad9f7c36692f9b6c"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual void UI::d_uiIdle </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>TODO: Document this. </p>

</div>
</div>
<a class="anchor" id="ab10300e34b40d6b447b1213813f474c0"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual void UI::d_uiFileBrowserSelected </td>
<td>(</td>
<td class="paramtype">const char *&#160;</td>
<td class="paramname"><em>filename</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>File browser selected function. </p><dl class="section see"><dt>See also</dt><dd>Window::fileBrowserSelected(const char*) </dd></dl>

</div>
</div>
<a class="anchor" id="aaf729415450434ad6690db93fd936bbf"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual void UI::d_uiReshape </td>
<td>(</td>
<td class="paramtype">uint&#160;</td>
<td class="paramname"><em>width</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint&#160;</td>
<td class="paramname"><em>height</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>OpenGL window reshape function, called when parent window is resized. You can reimplement this function for a custom OpenGL state. </p><dl class="section see"><dt>See also</dt><dd>Window::onReshape(uint,uint) </dd></dl>

</div>
</div>
<a class="anchor" id="a8de15be030bbdf0eb81461349cb1cc77"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void UI::onResize </td>
<td>(</td>
<td class="paramtype">const ResizeEvent &amp;&#160;</td>
<td class="paramname"><em>ev</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">protected</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>OpenGL widget resize function, called when the widget is resized. This is overriden here so the host knows when the <a class="el" href="classUI.html">UI</a> is resized by you. </p><dl class="section see"><dt>See also</dt><dd>Widget::onResize(const ResizeEvent&amp;) </dd></dl>

</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li>distrho/<a class="el" href="DistrhoUI_8hpp_source.html">DistrhoUI.hpp</a></li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue Apr 21 2015 15:18:54 for DISTRHO Plugin Framework by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.8
</small></address>
</body>
</html>

BIN
classUI.png View File

Before After
Width: 61  |  Height: 80  |  Size: 310B

+ 113
- 0
classes.html View File

@@ -0,0 +1,113 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.8"/>
<title>DISTRHO Plugin Framework: Class Index</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
$(document).ready(function() { searchBox.OnSelectItem(0); });
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">DISTRHO Plugin Framework
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.8 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li class="current"><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="files.html"><span>Files</span></a></li>
<li>
<div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<img id="MSearchSelect" src="search/mag_sel.png"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
<input type="text" id="MSearchField" value="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
</span>
</div>
</li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="annotated.html"><span>Class&#160;List</span></a></li>
<li class="current"><a href="classes.html"><span>Class&#160;Index</span></a></li>
<li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
<li><a href="functions.html"><span>Class&#160;Members</span></a></li>
</ul>
</div>
</div><!-- top -->
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Modules</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Pages</a></div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div class="header">
<div class="headertitle">
<div class="title">Class Index</div> </div>
</div><!--header-->
<div class="contents">
<div class="qindex"><a class="qindex" href="#letter_B">B</a>&#160;|&#160;<a class="qindex" href="#letter_M">M</a>&#160;|&#160;<a class="qindex" href="#letter_P">P</a>&#160;|&#160;<a class="qindex" href="#letter_T">T</a>&#160;|&#160;<a class="qindex" href="#letter_U">U</a></div>
<table style="margin: 10px; white-space: nowrap;" align="center" width="95%" border="0" cellspacing="0" cellpadding="0">
<tr><td rowspan="2" valign="bottom"><a name="letter_B"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;B&#160;&#160;</div></td></tr></table>
</td><td rowspan="2" valign="bottom"><a name="letter_P"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;P&#160;&#160;</div></td></tr></table>
</td><td valign="top"><a class="el" href="classPlugin.html">Plugin</a>&#160;&#160;&#160;</td><td rowspan="2" valign="bottom"><a name="letter_U"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;U&#160;&#160;</div></td></tr></table>
</td></tr>
<tr><td rowspan="2" valign="bottom"><a name="letter_T"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;T&#160;&#160;</div></td></tr></table>
</td></tr>
<tr><td valign="top"><a class="el" href="structTimePosition_1_1BarBeatTick.html">TimePosition::BarBeatTick</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structParameter.html">Parameter</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classUI.html">UI</a>&#160;&#160;&#160;</td></tr>
<tr><td rowspan="2" valign="bottom"><a name="letter_M"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;M&#160;&#160;</div></td></tr></table>
</td><td valign="top"><a class="el" href="structParameterRanges.html">ParameterRanges</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structTimePosition.html">TimePosition</a>&#160;&#160;&#160;</td><td></td></tr>
<tr><td></td><td></td><td></td></tr>
<tr><td valign="top"><a class="el" href="structMidiEvent.html">MidiEvent</a>&#160;&#160;&#160;</td><td></td><td></td><td></td></tr>
<tr><td></td><td></td><td></td><td></td></tr>
</table>
<div class="qindex"><a class="qindex" href="#letter_B">B</a>&#160;|&#160;<a class="qindex" href="#letter_M">M</a>&#160;|&#160;<a class="qindex" href="#letter_P">P</a>&#160;|&#160;<a class="qindex" href="#letter_T">T</a>&#160;|&#160;<a class="qindex" href="#letter_U">U</a></div>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue Apr 21 2015 15:18:54 for DISTRHO Plugin Framework by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.8
</small></address>
</body>
</html>

BIN
closed.png View File

Before After
Width: 9  |  Height: 9  |  Size: 132B

+ 107
- 0
dir_37257469cca17bab24b582e18a78eb75.html View File

@@ -0,0 +1,107 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.8"/>
<title>DISTRHO Plugin Framework: distrho Directory Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
$(document).ready(function() { searchBox.OnSelectItem(0); });
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">DISTRHO Plugin Framework
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.8 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="files.html"><span>Files</span></a></li>
<li>
<div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<img id="MSearchSelect" src="search/mag_sel.png"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
<input type="text" id="MSearchField" value="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
</span>
</div>
</li>
</ul>
</div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Modules</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Pages</a></div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="dir_37257469cca17bab24b582e18a78eb75.html">distrho</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="headertitle">
<div class="title">distrho Directory Reference</div> </div>
</div><!--header-->
<div class="contents">
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="files"></a>
Files</h2></td></tr>
<tr class="memitem:DistrhoPlugin_8hpp"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><b>DistrhoPlugin.hpp</b> <a href="DistrhoPlugin_8hpp_source.html">[code]</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:DistrhoPluginMain_8cpp"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><b>DistrhoPluginMain.cpp</b></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:DistrhoUI_8hpp"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><b>DistrhoUI.hpp</b> <a href="DistrhoUI_8hpp_source.html">[code]</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:DistrhoUIMain_8cpp"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><b>DistrhoUIMain.cpp</b></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:DistrhoUtils_8hpp"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><b>DistrhoUtils.hpp</b> <a href="DistrhoUtils_8hpp_source.html">[code]</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue Apr 21 2015 15:18:54 for DISTRHO Plugin Framework by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.8
</small></address>
</body>
</html>

+ 1440
- 0
doxygen.css
File diff suppressed because it is too large
View File


BIN
doxygen.png View File

Before After
Width: 104  |  Height: 31  |  Size: 3.7KB

BIN
doxygen_sqlite3.db View File


+ 97
- 0
dynsections.js View File

@@ -0,0 +1,97 @@
function toggleVisibility(linkObj)
{
var base = $(linkObj).attr('id');
var summary = $('#'+base+'-summary');
var content = $('#'+base+'-content');
var trigger = $('#'+base+'-trigger');
var src=$(trigger).attr('src');
if (content.is(':visible')===true) {
content.hide();
summary.show();
$(linkObj).addClass('closed').removeClass('opened');
$(trigger).attr('src',src.substring(0,src.length-8)+'closed.png');
} else {
content.show();
summary.hide();
$(linkObj).removeClass('closed').addClass('opened');
$(trigger).attr('src',src.substring(0,src.length-10)+'open.png');
}
return false;
}

function updateStripes()
{
$('table.directory tr').
removeClass('even').filter(':visible:even').addClass('even');
}

function toggleLevel(level)
{
$('table.directory tr').each(function() {
var l = this.id.split('_').length-1;
var i = $('#img'+this.id.substring(3));
var a = $('#arr'+this.id.substring(3));
if (l<level+1) {
i.removeClass('iconfopen iconfclosed').addClass('iconfopen');
a.html('&#9660;');
$(this).show();
} else if (l==level+1) {
i.removeClass('iconfclosed iconfopen').addClass('iconfclosed');
a.html('&#9658;');
$(this).show();
} else {
$(this).hide();
}
});
updateStripes();
}

function toggleFolder(id)
{
// the clicked row
var currentRow = $('#row_'+id);

// all rows after the clicked row
var rows = currentRow.nextAll("tr");

var re = new RegExp('^row_'+id+'\\d+_$', "i"); //only one sub

// only match elements AFTER this one (can't hide elements before)
var childRows = rows.filter(function() { return this.id.match(re); });

// first row is visible we are HIDING
if (childRows.filter(':first').is(':visible')===true) {
// replace down arrow by right arrow for current row
var currentRowSpans = currentRow.find("span");
currentRowSpans.filter(".iconfopen").removeClass("iconfopen").addClass("iconfclosed");
currentRowSpans.filter(".arrow").html('&#9658;');
rows.filter("[id^=row_"+id+"]").hide(); // hide all children
} else { // we are SHOWING
// replace right arrow by down arrow for current row
var currentRowSpans = currentRow.find("span");
currentRowSpans.filter(".iconfclosed").removeClass("iconfclosed").addClass("iconfopen");
currentRowSpans.filter(".arrow").html('&#9660;');
// replace down arrows by right arrows for child rows
var childRowsSpans = childRows.find("span");
childRowsSpans.filter(".iconfopen").removeClass("iconfopen").addClass("iconfclosed");
childRowsSpans.filter(".arrow").html('&#9658;');
childRows.show(); //show all children
}
updateStripes();
}


function toggleInherit(id)
{
var rows = $('tr.inherit.'+id);
var img = $('tr.inherit_header.'+id+' img');
var src = $(img).attr('src');
if (rows.filter(':first').is(':visible')===true) {
rows.css('display','none');
$(img).attr('src',src.substring(0,src.length-8)+'closed.png');
} else {
rows.css('display','table-row'); // using show() causes jump in firefox
$(img).attr('src',src.substring(0,src.length-10)+'open.png');
}
}


+ 102
- 0
files.html View File

@@ -0,0 +1,102 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.8"/>
<title>DISTRHO Plugin Framework: File List</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
$(document).ready(function() { searchBox.OnSelectItem(0); });
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">DISTRHO Plugin Framework
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.8 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
<li>
<div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<img id="MSearchSelect" src="search/mag_sel.png"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
<input type="text" id="MSearchField" value="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
</span>
</div>
</li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li class="current"><a href="files.html"><span>File&#160;List</span></a></li>
</ul>
</div>
</div><!-- top -->
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Modules</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Pages</a></div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div class="header">
<div class="headertitle">
<div class="title">File List</div> </div>
</div><!--header-->
<div class="contents">
<div class="textblock">Here is a list of all documented files with brief descriptions:</div><div class="directory">
<div class="levels">[detail level <span onclick="javascript:toggleLevel(1);">1</span><span onclick="javascript:toggleLevel(2);">2</span>]</div><table class="directory">
<tr id="row_0_" class="even"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_0_" class="arrow" onclick="toggleFolder('0_')">&#9660;</span><span id="img_0_" class="iconfopen" onclick="toggleFolder('0_')">&#160;</span><a class="el" href="dir_37257469cca17bab24b582e18a78eb75.html" target="_self">distrho</a></td><td class="desc"></td></tr>
<tr id="row_0_0_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><a href="DistrhoPlugin_8hpp_source.html"><span class="icondoc"></span></a><b>DistrhoPlugin.hpp</b></td><td class="desc"></td></tr>
<tr id="row_0_1_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><a href="DistrhoUI_8hpp_source.html"><span class="icondoc"></span></a><b>DistrhoUI.hpp</b></td><td class="desc"></td></tr>
<tr id="row_0_2_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><a href="DistrhoUtils_8hpp_source.html"><span class="icondoc"></span></a><b>DistrhoUtils.hpp</b></td><td class="desc"></td></tr>
</table>
</div><!-- directory -->
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue Apr 21 2015 15:18:54 for DISTRHO Plugin Framework by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.8
</small></address>
</body>
</html>

BIN
ftv2blank.png View File

Before After
Width: 16  |  Height: 22  |  Size: 86B

BIN
ftv2doc.png View File

Before After
Width: 24  |  Height: 22  |  Size: 746B

BIN
ftv2folderclosed.png View File

Before After
Width: 24  |  Height: 22  |  Size: 616B

BIN
ftv2folderopen.png View File

Before After
Width: 24  |  Height: 22  |  Size: 597B

BIN
ftv2lastnode.png View File

Before After
Width: 16  |  Height: 22  |  Size: 86B

BIN
ftv2link.png View File

Before After
Width: 24  |  Height: 22  |  Size: 746B

BIN
ftv2mlastnode.png View File

Before After
Width: 16  |  Height: 22  |  Size: 246B

BIN
ftv2mnode.png View File

Before After
Width: 16  |  Height: 22  |  Size: 246B

BIN
ftv2node.png View File

Before After
Width: 16  |  Height: 22  |  Size: 86B

BIN
ftv2plastnode.png View File

Before After
Width: 16  |  Height: 22  |  Size: 229B

BIN
ftv2pnode.png View File

Before After
Width: 16  |  Height: 22  |  Size: 229B

BIN
ftv2splitbar.png View File

Before After
Width: 6  |  Height: 1024  |  Size: 314B

BIN
ftv2vertline.png View File

Before After
Width: 16  |  Height: 22  |  Size: 86B

+ 396
- 0
functions.html View File

@@ -0,0 +1,396 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.8"/>
<title>DISTRHO Plugin Framework: Class Members</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
$(document).ready(function() { searchBox.OnSelectItem(0); });
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">DISTRHO Plugin Framework
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.8 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li class="current"><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="files.html"><span>Files</span></a></li>
<li>
<div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<img id="MSearchSelect" src="search/mag_sel.png"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
<input type="text" id="MSearchField" value="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
</span>
</div>
</li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="annotated.html"><span>Class&#160;List</span></a></li>
<li><a href="classes.html"><span>Class&#160;Index</span></a></li>
<li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
<li class="current"><a href="functions.html"><span>Class&#160;Members</span></a></li>
</ul>
</div>
<div id="navrow3" class="tabs2">
<ul class="tablist">
<li class="current"><a href="functions.html"><span>All</span></a></li>
<li><a href="functions_func.html"><span>Functions</span></a></li>
<li><a href="functions_vars.html"><span>Variables</span></a></li>
</ul>
</div>
<div id="navrow4" class="tabs3">
<ul class="tablist">
<li><a href="#index_b"><span>b</span></a></li>
<li><a href="#index_d"><span>d</span></a></li>
<li><a href="#index_f"><span>f</span></a></li>
<li><a href="#index_g"><span>g</span></a></li>
<li><a href="#index_h"><span>h</span></a></li>
<li><a href="#index_k"><span>k</span></a></li>
<li><a href="#index_m"><span>m</span></a></li>
<li><a href="#index_n"><span>n</span></a></li>
<li><a href="#index_o"><span>o</span></a></li>
<li><a href="#index_p"><span>p</span></a></li>
<li><a href="#index_r"><span>r</span></a></li>
<li><a href="#index_s"><span>s</span></a></li>
<li><a href="#index_t"><span>t</span></a></li>
<li><a href="#index_u"><span>u</span></a></li>
<li><a href="#index_v"><span>v</span></a></li>
<li class="current"><a href="#index_~"><span>~</span></a></li>
</ul>
</div>
</div><!-- top -->
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Modules</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Pages</a></div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div class="contents">
<div class="textblock">Here is a list of all documented class members with links to the class documentation for each member:</div>

<h3><a class="anchor" id="index_b"></a>- b -</h3><ul>
<li>bar
: <a class="el" href="structTimePosition_1_1BarBeatTick.html#ad104eba852516842d8c4776f9d495d21">TimePosition::BarBeatTick</a>
</li>
<li>BarBeatTick()
: <a class="el" href="structTimePosition_1_1BarBeatTick.html#abff8c9586a4e82694e7d6bac3e8da1ef">TimePosition::BarBeatTick</a>
</li>
<li>barStartTick
: <a class="el" href="structTimePosition_1_1BarBeatTick.html#a5205e95c8f8021006bde2eae774d5b62">TimePosition::BarBeatTick</a>
</li>
<li>beat
: <a class="el" href="structTimePosition_1_1BarBeatTick.html#af4be3edce420539cbb21bc1b0278201c">TimePosition::BarBeatTick</a>
</li>
<li>beatsPerBar
: <a class="el" href="structTimePosition_1_1BarBeatTick.html#a4805c98ceeedca9fb886de068c50cb88">TimePosition::BarBeatTick</a>
</li>
<li>beatsPerMinute
: <a class="el" href="structTimePosition_1_1BarBeatTick.html#af7cb9ae9b30da287828ebddee5caff2f">TimePosition::BarBeatTick</a>
</li>
<li>beatType
: <a class="el" href="structTimePosition_1_1BarBeatTick.html#a3d0f3681391ab7d3d37abcae24c72257">TimePosition::BarBeatTick</a>
</li>
</ul>


<h3><a class="anchor" id="index_d"></a>- d -</h3><ul>
<li>d_activate()
: <a class="el" href="classPlugin.html#a15df4876febf5909fe040d401fc704d0">Plugin</a>
</li>
<li>d_bufferSizeChanged()
: <a class="el" href="classPlugin.html#a2c6ac454e24b667d54eaaf63da252627">Plugin</a>
</li>
<li>d_deactivate()
: <a class="el" href="classPlugin.html#a5c008d623e558e7266aecaff22fc787a">Plugin</a>
</li>
<li>d_editParameter()
: <a class="el" href="classUI.html#a768b898d1e063d5c0112197b99ccba99">UI</a>
</li>
<li>d_getBufferSize()
: <a class="el" href="classPlugin.html#aa0feb17c3dcf13a106505eb6d6b2a3ac">Plugin</a>
</li>
<li>d_getLabel()
: <a class="el" href="classPlugin.html#ae512b28d1b274a055de33812cf094d81">Plugin</a>
</li>
<li>d_getLicense()
: <a class="el" href="classPlugin.html#ae9333c170accfd2a237448a4579d5fef">Plugin</a>
</li>
<li>d_getMaker()
: <a class="el" href="classPlugin.html#a0eaf2f46f04d60526622afb5a86e026c">Plugin</a>
</li>
<li>d_getName()
: <a class="el" href="classPlugin.html#a0f8fb7aa5ab05ba246e158b1024dd031">Plugin</a>
</li>
<li>d_getParameterValue()
: <a class="el" href="classPlugin.html#af088f855761b67489f19f42fbb585088">Plugin</a>
</li>
<li>d_getPluginInstancePointer()
: <a class="el" href="classUI.html#a5393f505fc8702905c15c70c9fcf0d48">UI</a>
</li>
<li>d_getSampleRate()
: <a class="el" href="classPlugin.html#ace888940905e8875284e07c52bf7404f">Plugin</a>
, <a class="el" href="classUI.html#ab6cbe4dcade92f7f49d4405e51ee639c">UI</a>
</li>
<li>d_getTimePosition()
: <a class="el" href="classPlugin.html#ade0a082a3a2936286537a04f4b972225">Plugin</a>
</li>
<li>d_getUniqueId()
: <a class="el" href="classPlugin.html#aea77208248b36c7b8c9dc57ee68ae97a">Plugin</a>
</li>
<li>d_getVersion()
: <a class="el" href="classPlugin.html#af9251f8d90e4df43c6387bd111487e4e">Plugin</a>
</li>
<li>d_initParameter()
: <a class="el" href="classPlugin.html#a3f93a8eb97db3dc9984c357c5ffca5ec">Plugin</a>
</li>
<li>d_initProgramName()
: <a class="el" href="classPlugin.html#a8a1792b7c5c6a3fd9cd626c7156ec3b6">Plugin</a>
</li>
<li>d_initState()
: <a class="el" href="classPlugin.html#a65f9f9d4a30b0a56dfa42703c0b4db76">Plugin</a>
</li>
<li>d_parameterChanged()
: <a class="el" href="classUI.html#a9599da33720f4648e9ce78cc18249b07">UI</a>
</li>
<li>d_programChanged()
: <a class="el" href="classUI.html#a7d703d2caff4765f270686b8428a2fa0">UI</a>
</li>
<li>d_run()
: <a class="el" href="classPlugin.html#af67102a7c6d19a8530ce0e3293e55667">Plugin</a>
</li>
<li>d_sampleRateChanged()
: <a class="el" href="classPlugin.html#a469b53e1c1417a32d766cf96d1b3c45e">Plugin</a>
, <a class="el" href="classUI.html#a18f4b84a973405fc098e69047e0d1994">UI</a>
</li>
<li>d_sendNote()
: <a class="el" href="classUI.html#a621c381126d8e2f0124199b82cdcd456">UI</a>
</li>
<li>d_setLatency()
: <a class="el" href="classPlugin.html#a7816b45ffb52b0a6308cabb792b1a56f">Plugin</a>
</li>
<li>d_setParameterValue()
: <a class="el" href="classPlugin.html#a4cdd613f58a013429094700f3d83904a">Plugin</a>
, <a class="el" href="classUI.html#a310a08018194f82937ca92bed4e77f1f">UI</a>
</li>
<li>d_setProgram()
: <a class="el" href="classPlugin.html#a1d001e50781b35df23f6d9a218f5f804">Plugin</a>
</li>
<li>d_setState()
: <a class="el" href="classPlugin.html#ad9c46a36cab96f52a0370043093bca68">Plugin</a>
, <a class="el" href="classUI.html#ac32cb7fd88c642eadebf64137acd910e">UI</a>
</li>
<li>d_stateChanged()
: <a class="el" href="classUI.html#a7f508ebffec7a5168b532ccb9d81df70">UI</a>
</li>
<li>d_uiFileBrowserSelected()
: <a class="el" href="classUI.html#ab10300e34b40d6b447b1213813f474c0">UI</a>
</li>
<li>d_uiIdle()
: <a class="el" href="classUI.html#aa320b8d3e826394dad9f7c36692f9b6c">UI</a>
</li>
<li>d_uiReshape()
: <a class="el" href="classUI.html#aaf729415450434ad6690db93fd936bbf">UI</a>
</li>
<li>d_writeMidiEvent()
: <a class="el" href="classPlugin.html#afa10aea18e4036b4a7487f2779d92e0f">Plugin</a>
</li>
<li>data
: <a class="el" href="structMidiEvent.html#aba54410d44eef48c10516f29452ef3a9">MidiEvent</a>
</li>
<li>def
: <a class="el" href="structParameterRanges.html#aa0aba68115bcfff25c35b2da2f7aed4c">ParameterRanges</a>
</li>
</ul>


<h3><a class="anchor" id="index_f"></a>- f -</h3><ul>
<li>fixDefault()
: <a class="el" href="structParameterRanges.html#a17519e584ccc28e87b73bfbd1a81cf10">ParameterRanges</a>
</li>
<li>fixValue()
: <a class="el" href="structParameterRanges.html#a1dac84c100f420bfc529a4d2ea60dc7c">ParameterRanges</a>
</li>
<li>frame
: <a class="el" href="structMidiEvent.html#aca2f6590b33bd2175ab71f985747d88e">MidiEvent</a>
, <a class="el" href="structTimePosition.html#aa3606d1c518c7ebe6335bc19f72b015b">TimePosition</a>
</li>
</ul>


<h3><a class="anchor" id="index_g"></a>- g -</h3><ul>
<li>getFixedAndNormalizedValue()
: <a class="el" href="structParameterRanges.html#a82698a1e07b1b04ccb5df0de4db0d0be">ParameterRanges</a>
</li>
<li>getFixedValue()
: <a class="el" href="structParameterRanges.html#acd3d977c154ddb3138f36c0b6d2b7626">ParameterRanges</a>
</li>
<li>getNormalizedValue()
: <a class="el" href="structParameterRanges.html#ad16ef939c1caa2f51e9a4041f769f86e">ParameterRanges</a>
</li>
<li>getUnnormalizedValue()
: <a class="el" href="structParameterRanges.html#a992f75a925b3cd5e66544087708ea3c3">ParameterRanges</a>
</li>
</ul>


<h3><a class="anchor" id="index_h"></a>- h -</h3><ul>
<li>hints
: <a class="el" href="structParameter.html#a397fb977f0c6cbec31df4f141ca3f5b3">Parameter</a>
</li>
</ul>


<h3><a class="anchor" id="index_k"></a>- k -</h3><ul>
<li>kDataSize
: <a class="el" href="structMidiEvent.html#a9e23ce17777c2ff5190670d3262129b9">MidiEvent</a>
</li>
</ul>


<h3><a class="anchor" id="index_m"></a>- m -</h3><ul>
<li>max
: <a class="el" href="structParameterRanges.html#a175c78c905c598df929a4450e4d2a2a0">ParameterRanges</a>
</li>
<li>min
: <a class="el" href="structParameterRanges.html#a63c40988463a8ace9d0e9e55a00f3c7b">ParameterRanges</a>
</li>
</ul>


<h3><a class="anchor" id="index_n"></a>- n -</h3><ul>
<li>name
: <a class="el" href="structParameter.html#a2e75f234cbbda1ed0517075e67d27191">Parameter</a>
</li>
</ul>


<h3><a class="anchor" id="index_o"></a>- o -</h3><ul>
<li>onResize()
: <a class="el" href="classUI.html#a8de15be030bbdf0eb81461349cb1cc77">UI</a>
</li>
</ul>


<h3><a class="anchor" id="index_p"></a>- p -</h3><ul>
<li>Parameter()
: <a class="el" href="structParameter.html#a12ced87d6d832deccb6c8ce2c8313b2e">Parameter</a>
</li>
<li>ParameterRanges()
: <a class="el" href="structParameterRanges.html#adb9b2712df3401eb0c5e11362d865d4e">ParameterRanges</a>
</li>
<li>playing
: <a class="el" href="structTimePosition.html#a35db424bdf8ec01102a4fa6346c45574">TimePosition</a>
</li>
<li>Plugin()
: <a class="el" href="classPlugin.html#a3096e491376cb9378be55915d748de57">Plugin</a>
</li>
</ul>


<h3><a class="anchor" id="index_r"></a>- r -</h3><ul>
<li>ranges
: <a class="el" href="structParameter.html#a2d0c81e4fb8fad18d920ef6ecd4a64db">Parameter</a>
</li>
</ul>


<h3><a class="anchor" id="index_s"></a>- s -</h3><ul>
<li>size
: <a class="el" href="structMidiEvent.html#a48b420a6dbca6502113b92c336a3041e">MidiEvent</a>
</li>
<li>symbol
: <a class="el" href="structParameter.html#a0b5193e6131f65878dfb6fe4d9f5e970">Parameter</a>
</li>
</ul>


<h3><a class="anchor" id="index_t"></a>- t -</h3><ul>
<li>tick
: <a class="el" href="structTimePosition_1_1BarBeatTick.html#ad38d7364a5441f1f49c3538f5691a299">TimePosition::BarBeatTick</a>
</li>
<li>ticksPerBeat
: <a class="el" href="structTimePosition_1_1BarBeatTick.html#ab8cfc3f2709a79e733e58556712da062">TimePosition::BarBeatTick</a>
</li>
<li>TimePosition()
: <a class="el" href="structTimePosition.html#aee816daeed95cf309ded1087a0c800ae">TimePosition</a>
</li>
</ul>


<h3><a class="anchor" id="index_u"></a>- u -</h3><ul>
<li>UI()
: <a class="el" href="classUI.html#ad3425075e4a23234a8568d1893b54f22">UI</a>
</li>
<li>unit
: <a class="el" href="structParameter.html#aa9ee36848d60d8ddd9185b9a3f2ce93f">Parameter</a>
</li>
</ul>


<h3><a class="anchor" id="index_v"></a>- v -</h3><ul>
<li>valid
: <a class="el" href="structTimePosition_1_1BarBeatTick.html#a45a05047e923285af0fbeacb371e3f4e">TimePosition::BarBeatTick</a>
</li>
</ul>


<h3><a class="anchor" id="index_~"></a>- ~ -</h3><ul>
<li>~Plugin()
: <a class="el" href="classPlugin.html#a89814b8f0b1c91e49140d42eb8331383">Plugin</a>
</li>
<li>~UI()
: <a class="el" href="classUI.html#a47e7b6111faba049dfee4738d067cc42">UI</a>
</li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue Apr 21 2015 15:18:54 for DISTRHO Plugin Framework by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.8
</small></address>
</body>
</html>

+ 294
- 0
functions_func.html View File

@@ -0,0 +1,294 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.8"/>
<title>DISTRHO Plugin Framework: Class Members - Functions</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
$(document).ready(function() { searchBox.OnSelectItem(0); });
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">DISTRHO Plugin Framework
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.8 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li class="current"><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="files.html"><span>Files</span></a></li>
<li>
<div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<img id="MSearchSelect" src="search/mag_sel.png"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
<input type="text" id="MSearchField" value="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
</span>
</div>
</li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="annotated.html"><span>Class&#160;List</span></a></li>
<li><a href="classes.html"><span>Class&#160;Index</span></a></li>
<li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
<li class="current"><a href="functions.html"><span>Class&#160;Members</span></a></li>
</ul>
</div>
<div id="navrow3" class="tabs2">
<ul class="tablist">
<li><a href="functions.html"><span>All</span></a></li>
<li class="current"><a href="functions_func.html"><span>Functions</span></a></li>
<li><a href="functions_vars.html"><span>Variables</span></a></li>
</ul>
</div>
<div id="navrow4" class="tabs3">
<ul class="tablist">
<li><a href="#index_b"><span>b</span></a></li>
<li><a href="#index_d"><span>d</span></a></li>
<li><a href="#index_f"><span>f</span></a></li>
<li><a href="#index_g"><span>g</span></a></li>
<li><a href="#index_o"><span>o</span></a></li>
<li><a href="#index_p"><span>p</span></a></li>
<li><a href="#index_t"><span>t</span></a></li>
<li><a href="#index_u"><span>u</span></a></li>
<li class="current"><a href="#index_~"><span>~</span></a></li>
</ul>
</div>
</div><!-- top -->
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Modules</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Pages</a></div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div class="contents">
&#160;

<h3><a class="anchor" id="index_b"></a>- b -</h3><ul>
<li>BarBeatTick()
: <a class="el" href="structTimePosition_1_1BarBeatTick.html#abff8c9586a4e82694e7d6bac3e8da1ef">TimePosition::BarBeatTick</a>
</li>
</ul>


<h3><a class="anchor" id="index_d"></a>- d -</h3><ul>
<li>d_activate()
: <a class="el" href="classPlugin.html#a15df4876febf5909fe040d401fc704d0">Plugin</a>
</li>
<li>d_bufferSizeChanged()
: <a class="el" href="classPlugin.html#a2c6ac454e24b667d54eaaf63da252627">Plugin</a>
</li>
<li>d_deactivate()
: <a class="el" href="classPlugin.html#a5c008d623e558e7266aecaff22fc787a">Plugin</a>
</li>
<li>d_editParameter()
: <a class="el" href="classUI.html#a768b898d1e063d5c0112197b99ccba99">UI</a>
</li>
<li>d_getBufferSize()
: <a class="el" href="classPlugin.html#aa0feb17c3dcf13a106505eb6d6b2a3ac">Plugin</a>
</li>
<li>d_getLabel()
: <a class="el" href="classPlugin.html#ae512b28d1b274a055de33812cf094d81">Plugin</a>
</li>
<li>d_getLicense()
: <a class="el" href="classPlugin.html#ae9333c170accfd2a237448a4579d5fef">Plugin</a>
</li>
<li>d_getMaker()
: <a class="el" href="classPlugin.html#a0eaf2f46f04d60526622afb5a86e026c">Plugin</a>
</li>
<li>d_getName()
: <a class="el" href="classPlugin.html#a0f8fb7aa5ab05ba246e158b1024dd031">Plugin</a>
</li>
<li>d_getParameterValue()
: <a class="el" href="classPlugin.html#af088f855761b67489f19f42fbb585088">Plugin</a>
</li>
<li>d_getPluginInstancePointer()
: <a class="el" href="classUI.html#a5393f505fc8702905c15c70c9fcf0d48">UI</a>
</li>
<li>d_getSampleRate()
: <a class="el" href="classPlugin.html#ace888940905e8875284e07c52bf7404f">Plugin</a>
, <a class="el" href="classUI.html#ab6cbe4dcade92f7f49d4405e51ee639c">UI</a>
</li>
<li>d_getTimePosition()
: <a class="el" href="classPlugin.html#ade0a082a3a2936286537a04f4b972225">Plugin</a>
</li>
<li>d_getUniqueId()
: <a class="el" href="classPlugin.html#aea77208248b36c7b8c9dc57ee68ae97a">Plugin</a>
</li>
<li>d_getVersion()
: <a class="el" href="classPlugin.html#af9251f8d90e4df43c6387bd111487e4e">Plugin</a>
</li>
<li>d_initParameter()
: <a class="el" href="classPlugin.html#a3f93a8eb97db3dc9984c357c5ffca5ec">Plugin</a>
</li>
<li>d_initProgramName()
: <a class="el" href="classPlugin.html#a8a1792b7c5c6a3fd9cd626c7156ec3b6">Plugin</a>
</li>
<li>d_initState()
: <a class="el" href="classPlugin.html#a65f9f9d4a30b0a56dfa42703c0b4db76">Plugin</a>
</li>
<li>d_parameterChanged()
: <a class="el" href="classUI.html#a9599da33720f4648e9ce78cc18249b07">UI</a>
</li>
<li>d_programChanged()
: <a class="el" href="classUI.html#a7d703d2caff4765f270686b8428a2fa0">UI</a>
</li>
<li>d_run()
: <a class="el" href="classPlugin.html#af67102a7c6d19a8530ce0e3293e55667">Plugin</a>
</li>
<li>d_sampleRateChanged()
: <a class="el" href="classPlugin.html#a469b53e1c1417a32d766cf96d1b3c45e">Plugin</a>
, <a class="el" href="classUI.html#a18f4b84a973405fc098e69047e0d1994">UI</a>
</li>
<li>d_sendNote()
: <a class="el" href="classUI.html#a621c381126d8e2f0124199b82cdcd456">UI</a>
</li>
<li>d_setLatency()
: <a class="el" href="classPlugin.html#a7816b45ffb52b0a6308cabb792b1a56f">Plugin</a>
</li>
<li>d_setParameterValue()
: <a class="el" href="classPlugin.html#a4cdd613f58a013429094700f3d83904a">Plugin</a>
, <a class="el" href="classUI.html#a310a08018194f82937ca92bed4e77f1f">UI</a>
</li>
<li>d_setProgram()
: <a class="el" href="classPlugin.html#a1d001e50781b35df23f6d9a218f5f804">Plugin</a>
</li>
<li>d_setState()
: <a class="el" href="classPlugin.html#ad9c46a36cab96f52a0370043093bca68">Plugin</a>
, <a class="el" href="classUI.html#ac32cb7fd88c642eadebf64137acd910e">UI</a>
</li>
<li>d_stateChanged()
: <a class="el" href="classUI.html#a7f508ebffec7a5168b532ccb9d81df70">UI</a>
</li>
<li>d_uiFileBrowserSelected()
: <a class="el" href="classUI.html#ab10300e34b40d6b447b1213813f474c0">UI</a>
</li>
<li>d_uiIdle()
: <a class="el" href="classUI.html#aa320b8d3e826394dad9f7c36692f9b6c">UI</a>
</li>
<li>d_uiReshape()
: <a class="el" href="classUI.html#aaf729415450434ad6690db93fd936bbf">UI</a>
</li>
<li>d_writeMidiEvent()
: <a class="el" href="classPlugin.html#afa10aea18e4036b4a7487f2779d92e0f">Plugin</a>
</li>
</ul>


<h3><a class="anchor" id="index_f"></a>- f -</h3><ul>
<li>fixDefault()
: <a class="el" href="structParameterRanges.html#a17519e584ccc28e87b73bfbd1a81cf10">ParameterRanges</a>
</li>
<li>fixValue()
: <a class="el" href="structParameterRanges.html#a1dac84c100f420bfc529a4d2ea60dc7c">ParameterRanges</a>
</li>
</ul>


<h3><a class="anchor" id="index_g"></a>- g -</h3><ul>
<li>getFixedAndNormalizedValue()
: <a class="el" href="structParameterRanges.html#a82698a1e07b1b04ccb5df0de4db0d0be">ParameterRanges</a>
</li>
<li>getFixedValue()
: <a class="el" href="structParameterRanges.html#acd3d977c154ddb3138f36c0b6d2b7626">ParameterRanges</a>
</li>
<li>getNormalizedValue()
: <a class="el" href="structParameterRanges.html#ad16ef939c1caa2f51e9a4041f769f86e">ParameterRanges</a>
</li>
<li>getUnnormalizedValue()
: <a class="el" href="structParameterRanges.html#a992f75a925b3cd5e66544087708ea3c3">ParameterRanges</a>
</li>
</ul>


<h3><a class="anchor" id="index_o"></a>- o -</h3><ul>
<li>onResize()
: <a class="el" href="classUI.html#a8de15be030bbdf0eb81461349cb1cc77">UI</a>
</li>
</ul>


<h3><a class="anchor" id="index_p"></a>- p -</h3><ul>
<li>Parameter()
: <a class="el" href="structParameter.html#a12ced87d6d832deccb6c8ce2c8313b2e">Parameter</a>
</li>
<li>ParameterRanges()
: <a class="el" href="structParameterRanges.html#adb9b2712df3401eb0c5e11362d865d4e">ParameterRanges</a>
</li>
<li>Plugin()
: <a class="el" href="classPlugin.html#a3096e491376cb9378be55915d748de57">Plugin</a>
</li>
</ul>


<h3><a class="anchor" id="index_t"></a>- t -</h3><ul>
<li>TimePosition()
: <a class="el" href="structTimePosition.html#aee816daeed95cf309ded1087a0c800ae">TimePosition</a>
</li>
</ul>


<h3><a class="anchor" id="index_u"></a>- u -</h3><ul>
<li>UI()
: <a class="el" href="classUI.html#ad3425075e4a23234a8568d1893b54f22">UI</a>
</li>
</ul>


<h3><a class="anchor" id="index_~"></a>- ~ -</h3><ul>
<li>~Plugin()
: <a class="el" href="classPlugin.html#a89814b8f0b1c91e49140d42eb8331383">Plugin</a>
</li>
<li>~UI()
: <a class="el" href="classUI.html#a47e7b6111faba049dfee4738d067cc42">UI</a>
</li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue Apr 21 2015 15:18:54 for DISTRHO Plugin Framework by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.8
</small></address>
</body>
</html>

+ 169
- 0
functions_vars.html View File

@@ -0,0 +1,169 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.8"/>
<title>DISTRHO Plugin Framework: Class Members - Variables</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
$(document).ready(function() { searchBox.OnSelectItem(0); });
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">DISTRHO Plugin Framework
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.8 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li class="current"><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="files.html"><span>Files</span></a></li>
<li>
<div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<img id="MSearchSelect" src="search/mag_sel.png"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
<input type="text" id="MSearchField" value="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
</span>
</div>
</li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="annotated.html"><span>Class&#160;List</span></a></li>
<li><a href="classes.html"><span>Class&#160;Index</span></a></li>
<li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
<li class="current"><a href="functions.html"><span>Class&#160;Members</span></a></li>
</ul>
</div>
<div id="navrow3" class="tabs2">
<ul class="tablist">
<li><a href="functions.html"><span>All</span></a></li>
<li><a href="functions_func.html"><span>Functions</span></a></li>
<li class="current"><a href="functions_vars.html"><span>Variables</span></a></li>
</ul>
</div>
</div><!-- top -->
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Modules</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Pages</a></div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div class="contents">
&#160;<ul>
<li>bar
: <a class="el" href="structTimePosition_1_1BarBeatTick.html#ad104eba852516842d8c4776f9d495d21">TimePosition::BarBeatTick</a>
</li>
<li>barStartTick
: <a class="el" href="structTimePosition_1_1BarBeatTick.html#a5205e95c8f8021006bde2eae774d5b62">TimePosition::BarBeatTick</a>
</li>
<li>beat
: <a class="el" href="structTimePosition_1_1BarBeatTick.html#af4be3edce420539cbb21bc1b0278201c">TimePosition::BarBeatTick</a>
</li>
<li>beatsPerBar
: <a class="el" href="structTimePosition_1_1BarBeatTick.html#a4805c98ceeedca9fb886de068c50cb88">TimePosition::BarBeatTick</a>
</li>
<li>beatsPerMinute
: <a class="el" href="structTimePosition_1_1BarBeatTick.html#af7cb9ae9b30da287828ebddee5caff2f">TimePosition::BarBeatTick</a>
</li>
<li>beatType
: <a class="el" href="structTimePosition_1_1BarBeatTick.html#a3d0f3681391ab7d3d37abcae24c72257">TimePosition::BarBeatTick</a>
</li>
<li>data
: <a class="el" href="structMidiEvent.html#aba54410d44eef48c10516f29452ef3a9">MidiEvent</a>
</li>
<li>def
: <a class="el" href="structParameterRanges.html#aa0aba68115bcfff25c35b2da2f7aed4c">ParameterRanges</a>
</li>
<li>frame
: <a class="el" href="structMidiEvent.html#aca2f6590b33bd2175ab71f985747d88e">MidiEvent</a>
, <a class="el" href="structTimePosition.html#aa3606d1c518c7ebe6335bc19f72b015b">TimePosition</a>
</li>
<li>hints
: <a class="el" href="structParameter.html#a397fb977f0c6cbec31df4f141ca3f5b3">Parameter</a>
</li>
<li>kDataSize
: <a class="el" href="structMidiEvent.html#a9e23ce17777c2ff5190670d3262129b9">MidiEvent</a>
</li>
<li>max
: <a class="el" href="structParameterRanges.html#a175c78c905c598df929a4450e4d2a2a0">ParameterRanges</a>
</li>
<li>min
: <a class="el" href="structParameterRanges.html#a63c40988463a8ace9d0e9e55a00f3c7b">ParameterRanges</a>
</li>
<li>name
: <a class="el" href="structParameter.html#a2e75f234cbbda1ed0517075e67d27191">Parameter</a>
</li>
<li>playing
: <a class="el" href="structTimePosition.html#a35db424bdf8ec01102a4fa6346c45574">TimePosition</a>
</li>
<li>ranges
: <a class="el" href="structParameter.html#a2d0c81e4fb8fad18d920ef6ecd4a64db">Parameter</a>
</li>
<li>size
: <a class="el" href="structMidiEvent.html#a48b420a6dbca6502113b92c336a3041e">MidiEvent</a>
</li>
<li>symbol
: <a class="el" href="structParameter.html#a0b5193e6131f65878dfb6fe4d9f5e970">Parameter</a>
</li>
<li>tick
: <a class="el" href="structTimePosition_1_1BarBeatTick.html#ad38d7364a5441f1f49c3538f5691a299">TimePosition::BarBeatTick</a>
</li>
<li>ticksPerBeat
: <a class="el" href="structTimePosition_1_1BarBeatTick.html#ab8cfc3f2709a79e733e58556712da062">TimePosition::BarBeatTick</a>
</li>
<li>unit
: <a class="el" href="structParameter.html#aa9ee36848d60d8ddd9185b9a3f2ce93f">Parameter</a>
</li>
<li>valid
: <a class="el" href="structTimePosition_1_1BarBeatTick.html#a45a05047e923285af0fbeacb371e3f4e">TimePosition::BarBeatTick</a>
</li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue Apr 21 2015 15:18:54 for DISTRHO Plugin Framework by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.8
</small></address>
</body>
</html>

+ 106
- 0
group__BaseStructs.html View File

@@ -0,0 +1,106 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.8"/>
<title>DISTRHO Plugin Framework: Base Structs</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
$(document).ready(function() { searchBox.OnSelectItem(0); });
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">DISTRHO Plugin Framework
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.8 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="files.html"><span>Files</span></a></li>
<li>
<div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<img id="MSearchSelect" src="search/mag_sel.png"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
<input type="text" id="MSearchField" value="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
</span>
</div>
</li>
</ul>
</div>
</div><!-- top -->
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Modules</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Pages</a></div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div class="header">
<div class="summary">
<a href="#nested-classes">Classes</a> </div>
<div class="headertitle">
<div class="title">Base Structs</div> </div>
</div><!--header-->
<div class="contents">
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
Classes</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structParameterRanges.html">ParameterRanges</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structParameter.html">Parameter</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structMidiEvent.html">MidiEvent</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structTimePosition.html">TimePosition</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structTimePosition_1_1BarBeatTick.html">TimePosition::BarBeatTick</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue Apr 21 2015 15:18:54 for DISTRHO Plugin Framework by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.8
</small></address>
</body>
</html>

+ 237
- 0
group__ParameterHints.html View File

@@ -0,0 +1,237 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.8"/>
<title>DISTRHO Plugin Framework: Parameter Hints</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
$(document).ready(function() { searchBox.OnSelectItem(0); });
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">DISTRHO Plugin Framework
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.8 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="files.html"><span>Files</span></a></li>
<li>
<div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<img id="MSearchSelect" src="search/mag_sel.png"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
<input type="text" id="MSearchField" value="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
</span>
</div>
</li>
</ul>
</div>
</div><!-- top -->
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Modules</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Pages</a></div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div class="header">
<div class="summary">
<a href="#var-members">Variables</a> </div>
<div class="headertitle">
<div class="title">Parameter Hints</div> </div>
</div><!--header-->
<div class="contents">
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="var-members"></a>
Variables</h2></td></tr>
<tr class="memitem:ga04161ef926442aa08ae7aa6847078ad9"><td class="memItemLeft" align="right" valign="top">static const uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ParameterHints.html#ga04161ef926442aa08ae7aa6847078ad9">kParameterIsAutomable</a> = 0x01</td></tr>
<tr class="separator:ga04161ef926442aa08ae7aa6847078ad9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaafca30df903781d2e1c2491808e17c8d"><td class="memItemLeft" align="right" valign="top">static const uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ParameterHints.html#gaafca30df903781d2e1c2491808e17c8d">kParameterIsBoolean</a> = 0x02</td></tr>
<tr class="separator:gaafca30df903781d2e1c2491808e17c8d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga76a82c93efe6ad728c9f0cb4ef33a2b9"><td class="memItemLeft" align="right" valign="top">static const uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ParameterHints.html#ga76a82c93efe6ad728c9f0cb4ef33a2b9">kParameterIsInteger</a> = 0x04</td></tr>
<tr class="separator:ga76a82c93efe6ad728c9f0cb4ef33a2b9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gabc539ecbfe420246a33f93aed32b8a3b"><td class="memItemLeft" align="right" valign="top">static const uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ParameterHints.html#gabc539ecbfe420246a33f93aed32b8a3b">kParameterIsLogarithmic</a> = 0x08</td></tr>
<tr class="separator:gabc539ecbfe420246a33f93aed32b8a3b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga0a3633c93e8589f4b3e6124bb97ad8d4"><td class="memItemLeft" align="right" valign="top">static const uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ParameterHints.html#ga0a3633c93e8589f4b3e6124bb97ad8d4">kParameterIsOutput</a> = 0x10</td></tr>
<tr class="separator:ga0a3633c93e8589f4b3e6124bb97ad8d4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga1eae4d034f2ff1bc14035d87c4b63b14"><td class="memItemLeft" align="right" valign="top">static const uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ParameterHints.html#ga1eae4d034f2ff1bc14035d87c4b63b14">kParameterIsCV</a> = 0x20</td></tr>
<tr class="separator:ga1eae4d034f2ff1bc14035d87c4b63b14"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<p>Various parameter hints. </p><dl class="section see"><dt>See also</dt><dd><a class="el" href="structParameter.html#a397fb977f0c6cbec31df4f141ca3f5b3">Parameter::hints</a> </dd></dl>
<h2 class="groupheader">Variable Documentation</h2>
<a class="anchor" id="ga04161ef926442aa08ae7aa6847078ad9"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">const uint32_t kParameterIsAutomable = 0x01</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p><a class="el" href="structParameter.html">Parameter</a> is automable (real-time safe). </p><dl class="section see"><dt>See also</dt><dd><a class="el" href="classPlugin.html#a4cdd613f58a013429094700f3d83904a">Plugin::d_setParameterValue()</a> </dd></dl>

</div>
</div>
<a class="anchor" id="gaafca30df903781d2e1c2491808e17c8d"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">const uint32_t kParameterIsBoolean = 0x02</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p><a class="el" href="structParameter.html">Parameter</a> value is boolean. It's always at either minimum or maximum value. </p>

</div>
</div>
<a class="anchor" id="ga76a82c93efe6ad728c9f0cb4ef33a2b9"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">const uint32_t kParameterIsInteger = 0x04</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p><a class="el" href="structParameter.html">Parameter</a> value is integer. </p>

</div>
</div>
<a class="anchor" id="gabc539ecbfe420246a33f93aed32b8a3b"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">const uint32_t kParameterIsLogarithmic = 0x08</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p><a class="el" href="structParameter.html">Parameter</a> value is logarithmic. </p>

</div>
</div>
<a class="anchor" id="ga0a3633c93e8589f4b3e6124bb97ad8d4"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">const uint32_t kParameterIsOutput = 0x10</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p><a class="el" href="structParameter.html">Parameter</a> is of output type. When unset, parameter is assumed to be of input type.</p>
<p><a class="el" href="structParameter.html">Parameter</a> inputs are changed by the host and must not be changed by the plugin. The only exception being when changing programs, see <a class="el" href="classPlugin.html#a1d001e50781b35df23f6d9a218f5f804">Plugin::d_setProgram()</a>. Outputs are changed by the plugin and never modified by the host. </p>

</div>
</div>
<a class="anchor" id="ga1eae4d034f2ff1bc14035d87c4b63b14"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">const uint32_t kParameterIsCV = 0x20</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p><a class="el" href="structParameter.html">Parameter</a> can be used as control voltage (LV2 only). </p>

</div>
</div>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue Apr 21 2015 15:18:54 for DISTRHO Plugin Framework by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.8
</small></address>
</body>
</html>

+ 363
- 0
group__PluginMacros.html View File

@@ -0,0 +1,363 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.8"/>
<title>DISTRHO Plugin Framework: Plugin Macros</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
$(document).ready(function() { searchBox.OnSelectItem(0); });
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">DISTRHO Plugin Framework
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.8 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="files.html"><span>Files</span></a></li>
<li>
<div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<img id="MSearchSelect" src="search/mag_sel.png"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
<input type="text" id="MSearchField" value="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
</span>
</div>
</li>
</ul>
</div>
</div><!-- top -->
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Modules</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Pages</a></div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div class="header">
<div class="summary">
<a href="#define-members">Macros</a> </div>
<div class="headertitle">
<div class="title">Plugin Macros</div> </div>
</div><!--header-->
<div class="contents">
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
Macros</h2></td></tr>
<tr class="memitem:ga888482a9f695c2ca2f433e5f3172dcc4"><td class="memItemLeft" align="right" valign="top">#define&#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>
<tr class="separator:ga888482a9f695c2ca2f433e5f3172dcc4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<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>
<tr class="separator:ga5f4f3d9a5dc3c23882d158e636319998"><td class="memSeparator" colspan="2">&#160;</td></tr>
<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>
<tr class="separator:ga917195804ebcb2bb48c9fad52b20b3ca"><td class="memSeparator" colspan="2">&#160;</td></tr>
<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>
<tr class="separator:ga9cc186448134e6a1956474b3878c97a8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<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>
<tr class="separator:gacf8a1af679c09637ba0bdc5f4f8e37dd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<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>
<tr class="separator:ga82546dd199fcea338b113f2f6da84ced"><td class="memSeparator" colspan="2">&#160;</td></tr>
<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>
<tr class="separator:ga854bde6b6fdb0d47182149dbab0fed72"><td class="memSeparator" colspan="2">&#160;</td></tr>
<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>
<tr class="separator:gac6873a3950f52f3fde8e386af63b69a1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<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>
<tr class="separator:gad6b0ebf10e048f4742f29735da4d4930"><td class="memSeparator" colspan="2">&#160;</td></tr>
<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>
<tr class="separator:gadf2e2eb7550e4116001c816adfb04a70"><td class="memSeparator" colspan="2">&#160;</td></tr>
<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>
<tr class="separator:ga548522eb91344a45841a5a95ff4f8073"><td class="memSeparator" colspan="2">&#160;</td></tr>
<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>
<tr class="separator:gad95e24b17f196260cee15255fdb5b677"><td class="memSeparator" colspan="2">&#160;</td></tr>
<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>
<tr class="separator:ga255f43cc0997af8b56abcca260c875e0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<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>
<tr class="separator:ga496610b956d931b1940d07da48d123f2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<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>
<tr class="separator:gad49e79936a2aa5afa089cbc051426ccd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<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>
<tr class="separator:ga420a88022da249b9f38a6046998dbd7c"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<p>C Macros that describe your plugin. (defined in the "DistrhoPluginInfo.h" file)</p>
<p>With these macros you can tell the host what features your plugin requires.<br />
Depending on which macros you enable, new functions will be available to call and/or override.</p>
<p>All values are either integer or strings.<br />
For boolean-like values 1 means 'on' and 0 means 'off'.</p>
<p>The values defined in this file are for documentation purposes only.<br />
All macros are disabled by default.</p>
<p>Only 4 macros are required, they are:</p><ul>
<li><a class="el" href="group__PluginMacros.html#ga888482a9f695c2ca2f433e5f3172dcc4">DISTRHO_PLUGIN_NAME</a></li>
<li><a class="el" href="group__PluginMacros.html#ga5f4f3d9a5dc3c23882d158e636319998">DISTRHO_PLUGIN_NUM_INPUTS</a></li>
<li><a class="el" href="group__PluginMacros.html#ga917195804ebcb2bb48c9fad52b20b3ca">DISTRHO_PLUGIN_NUM_OUTPUTS</a></li>
<li><a class="el" href="group__PluginMacros.html#ga9cc186448134e6a1956474b3878c97a8">DISTRHO_PLUGIN_URI</a> </li>
</ul>
<h2 class="groupheader">Macro Definition Documentation</h2>
<a class="anchor" id="ga888482a9f695c2ca2f433e5f3172dcc4"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define DISTRHO_PLUGIN_NAME&#160;&#160;&#160;&quot;Plugin Name&quot;</td>
</tr>
</table>
</div><div class="memdoc">
<p>The plugin name.<br />
This is used to identify your plugin before a <a class="el" href="classPlugin.html">Plugin</a> instance can be created. </p><dl class="section note"><dt>Note</dt><dd>This macro is required. </dd></dl>

</div>
</div>
<a class="anchor" id="ga5f4f3d9a5dc3c23882d158e636319998"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define DISTRHO_PLUGIN_NUM_INPUTS&#160;&#160;&#160;2</td>
</tr>
</table>
</div><div class="memdoc">
<p>Number of audio inputs the plugin has. </p><dl class="section note"><dt>Note</dt><dd>This macro is required. </dd></dl>

</div>
</div>
<a class="anchor" id="ga917195804ebcb2bb48c9fad52b20b3ca"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define DISTRHO_PLUGIN_NUM_OUTPUTS&#160;&#160;&#160;2</td>
</tr>
</table>
</div><div class="memdoc">
<p>Number of audio outputs the plugin has. </p><dl class="section note"><dt>Note</dt><dd>This macro is required. </dd></dl>

</div>
</div>
<a class="anchor" id="ga9cc186448134e6a1956474b3878c97a8"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define DISTRHO_PLUGIN_URI&#160;&#160;&#160;&quot;urn:distrho:name&quot;</td>
</tr>
</table>
</div><div class="memdoc">
<p>The plugin URI when exporting in LV2 format. </p><dl class="section note"><dt>Note</dt><dd>This macro is required. </dd></dl>

</div>
</div>
<a class="anchor" id="gacf8a1af679c09637ba0bdc5f4f8e37dd"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define DISTRHO_PLUGIN_HAS_UI&#160;&#160;&#160;1</td>
</tr>
</table>
</div><div class="memdoc">
<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>
<dd>
<a class="el" href="classUI.html">UI</a> </dd></dl>

</div>
</div>
<a class="anchor" id="ga82546dd199fcea338b113f2f6da84ced"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define DISTRHO_PLUGIN_IS_RT_SAFE&#160;&#160;&#160;1</td>
</tr>
</table>
</div><div class="memdoc">
<p>Wherever the plugin processing is realtime-safe.<br />
TODO - list rtsafe requirements </p>

</div>
</div>
<a class="anchor" id="ga854bde6b6fdb0d47182149dbab0fed72"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define DISTRHO_PLUGIN_IS_SYNTH&#160;&#160;&#160;1</td>
</tr>
</table>
</div><div class="memdoc">
<p>Wherever the plugin is a synth.<br />
<a class="el" href="group__PluginMacros.html#gadf2e2eb7550e4116001c816adfb04a70">DISTRHO_PLUGIN_WANT_MIDI_INPUT</a> is automatically enabled when this is too. </p><dl class="section see"><dt>See also</dt><dd><a class="el" href="group__PluginMacros.html#gadf2e2eb7550e4116001c816adfb04a70">DISTRHO_PLUGIN_WANT_MIDI_INPUT</a> </dd></dl>

</div>
</div>
<a class="anchor" id="gac6873a3950f52f3fde8e386af63b69a1"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define DISTRHO_PLUGIN_WANT_DIRECT_ACCESS&#160;&#160;&#160;0</td>
</tr>
</table>
</div><div class="memdoc">
<p>Enable direct access between the UI and plugin code. </p><dl class="section see"><dt>See also</dt><dd><a class="el" href="classUI.html#a5393f505fc8702905c15c70c9fcf0d48">UI::d_getPluginInstancePointer()</a> </dd></dl>
<dl class="section note"><dt>Note</dt><dd>DO NOT USE THIS UNLESS STRICTLY NECESSARY!! Try to avoid it at all costs! </dd></dl>

</div>
</div>
<a class="anchor" id="gad6b0ebf10e048f4742f29735da4d4930"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define DISTRHO_PLUGIN_WANT_LATENCY&#160;&#160;&#160;1</td>
</tr>
</table>
</div><div class="memdoc">
<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#a7816b45ffb52b0a6308cabb792b1a56f">Plugin::d_setLatency(uint32_t)</a> </dd></dl>

</div>
</div>
<a class="anchor" id="gadf2e2eb7550e4116001c816adfb04a70"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define DISTRHO_PLUGIN_WANT_MIDI_INPUT&#160;&#160;&#160;1</td>
</tr>
</table>
</div><div class="memdoc">
<p>Wherever the plugin wants MIDI input.<br />
This is automatically enabled if <a class="el" href="group__PluginMacros.html#ga854bde6b6fdb0d47182149dbab0fed72">DISTRHO_PLUGIN_IS_SYNTH</a> is true. </p>

</div>
</div>
<a class="anchor" id="ga548522eb91344a45841a5a95ff4f8073"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define DISTRHO_PLUGIN_WANT_MIDI_OUTPUT&#160;&#160;&#160;1</td>
</tr>
</table>
</div><div class="memdoc">
<p>Wherever the plugin wants MIDI output. </p><dl class="section see"><dt>See also</dt><dd><a class="el" href="classPlugin.html#afa10aea18e4036b4a7487f2779d92e0f">Plugin::d_writeMidiEvent(const MidiEvent&amp;)</a> </dd></dl>

</div>
</div>
<a class="anchor" id="gad95e24b17f196260cee15255fdb5b677"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define DISTRHO_PLUGIN_WANT_PROGRAMS&#160;&#160;&#160;1</td>
</tr>
</table>
</div><div class="memdoc">
<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#a8a1792b7c5c6a3fd9cd626c7156ec3b6">Plugin::d_initProgramName(uint32_t, d_string&amp;)</a> </dd>
<dd>
<a class="el" href="classPlugin.html#a1d001e50781b35df23f6d9a218f5f804">Plugin::d_setProgram(uint32_t)</a> </dd></dl>

</div>
</div>
<a class="anchor" id="ga255f43cc0997af8b56abcca260c875e0"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define DISTRHO_PLUGIN_WANT_STATE&#160;&#160;&#160;1</td>
</tr>
</table>
</div><div class="memdoc">
<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#a65f9f9d4a30b0a56dfa42703c0b4db76">Plugin::d_initState(uint32_t, d_string&amp;, d_string&amp;)</a> </dd>
<dd>
<a class="el" href="classPlugin.html#ad9c46a36cab96f52a0370043093bca68">Plugin::d_setState(const char*, const char*)</a> </dd></dl>

</div>
</div>
<a class="anchor" id="ga496610b956d931b1940d07da48d123f2"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define DISTRHO_PLUGIN_WANT_TIMEPOS&#160;&#160;&#160;1</td>
</tr>
</table>
</div><div class="memdoc">
<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#ade0a082a3a2936286537a04f4b972225">Plugin::d_getTimePosition()</a> </dd></dl>

</div>
</div>
<a class="anchor" id="gad49e79936a2aa5afa089cbc051426ccd"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define DISTRHO_UI_USE_NANOVG&#160;&#160;&#160;1</td>
</tr>
</table>
</div><div class="memdoc">
<p>Wherever the UI uses NanoVG for drawing instead of the default raw OpenGL calls.<br />
When enabled your UI instance will subclass NanoWidget instead of Widget. </p>

</div>
</div>
<a class="anchor" id="ga420a88022da249b9f38a6046998dbd7c"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<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>
</tr>
</table>
</div><div class="memdoc">
<p>The UI URI when exporting in LV2 format.<br />
By default this is set to <a class="el" href="group__PluginMacros.html#ga9cc186448134e6a1956474b3878c97a8">DISTRHO_PLUGIN_URI</a> with "#UI" as suffix. </p>

</div>
</div>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue Apr 21 2015 15:18:54 for DISTRHO Plugin Framework by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.8
</small></address>
</body>
</html>

+ 109
- 0
hierarchy.html View File

@@ -0,0 +1,109 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.8"/>
<title>DISTRHO Plugin Framework: Class Hierarchy</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
$(document).ready(function() { searchBox.OnSelectItem(0); });
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">DISTRHO Plugin Framework
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.8 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li class="current"><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="files.html"><span>Files</span></a></li>
<li>
<div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<img id="MSearchSelect" src="search/mag_sel.png"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
<input type="text" id="MSearchField" value="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
</span>
</div>
</li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="annotated.html"><span>Class&#160;List</span></a></li>
<li><a href="classes.html"><span>Class&#160;Index</span></a></li>
<li class="current"><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
<li><a href="functions.html"><span>Class&#160;Members</span></a></li>
</ul>
</div>
</div><!-- top -->
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Modules</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Pages</a></div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div class="header">
<div class="headertitle">
<div class="title">Class Hierarchy</div> </div>
</div><!--header-->
<div class="contents">
<div class="textblock">This inheritance list is sorted roughly, but not completely, alphabetically:</div><div class="directory">
<div class="levels">[detail level <span onclick="javascript:toggleLevel(1);">1</span><span onclick="javascript:toggleLevel(2);">2</span>]</div><table class="directory">
<tr id="row_0_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structTimePosition_1_1BarBeatTick.html" target="_self">TimePosition::BarBeatTick</a></td><td class="desc"></td></tr>
<tr id="row_1_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structMidiEvent.html" target="_self">MidiEvent</a></td><td class="desc"></td></tr>
<tr id="row_2_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structParameter.html" target="_self">Parameter</a></td><td class="desc"></td></tr>
<tr id="row_3_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structParameterRanges.html" target="_self">ParameterRanges</a></td><td class="desc"></td></tr>
<tr id="row_4_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classPlugin.html" target="_self">Plugin</a></td><td class="desc"></td></tr>
<tr id="row_5_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structTimePosition.html" target="_self">TimePosition</a></td><td class="desc"></td></tr>
<tr id="row_6_" class="even"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_6_" class="arrow" onclick="toggleFolder('6_')">&#9660;</span><span class="icona"><span class="icon">C</span></span><b>UIWidget</b></td><td class="desc"></td></tr>
<tr id="row_6_0_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classUI.html" target="_self">UI</a></td><td class="desc"></td></tr>
</table>
</div><!-- directory -->
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue Apr 21 2015 15:18:54 for DISTRHO Plugin Framework by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.8
</small></address>
</body>
</html>

+ 100
- 0
index.html View File

@@ -0,0 +1,100 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.8"/>
<title>DISTRHO Plugin Framework: DISTRHO Plugin Framework</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
$(document).ready(function() { searchBox.OnSelectItem(0); });
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">DISTRHO Plugin Framework
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.8 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li class="current"><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="files.html"><span>Files</span></a></li>
<li>
<div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<img id="MSearchSelect" src="search/mag_sel.png"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
<input type="text" id="MSearchField" value="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
</span>
</div>
</li>
</ul>
</div>
</div><!-- top -->
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Modules</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Pages</a></div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div class="header">
<div class="headertitle">
<div class="title">DISTRHO Plugin Framework </div> </div>
</div><!--header-->
<div class="contents">
<div class="textblock"><p>DISTRHO Plugin Framework (or <b>DPF</b> for short) is a plugin framework designed to make development of new plugins an easy and enjoyable task.<br />
It allows developers to create plugins with custom UIs using a simple C++ API.</p>
<h1><a class="anchor" id="Macros"></a>
Macros</h1>
<p>You start by creating a "DistrhoPluginInfo.h" file describing the plugin via macros, see <a class="el" href="group__PluginMacros.html">Plugin Macros</a>.</p>
<h1><a class="anchor" id="Plugin"></a>
Plugin</h1>
<p>TODO</p>
<h1><a class="anchor" id="Parameters"></a>
Parameters</h1>
<p>describe input and output, automable and rt safe, boolean etc, cv </p>
</div></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue Apr 21 2015 15:18:54 for DISTRHO Plugin Framework by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.8
</small></address>
</body>
</html>

+ 31
- 0
jquery.js
File diff suppressed because it is too large
View File


+ 96
- 0
modules.html View File

@@ -0,0 +1,96 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.8"/>
<title>DISTRHO Plugin Framework: Modules</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
$(document).ready(function() { searchBox.OnSelectItem(0); });
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">DISTRHO Plugin Framework
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.8 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li class="current"><a href="modules.html"><span>Modules</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="files.html"><span>Files</span></a></li>
<li>
<div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<img id="MSearchSelect" src="search/mag_sel.png"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
<input type="text" id="MSearchField" value="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
</span>
</div>
</li>
</ul>
</div>
</div><!-- top -->
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Modules</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Pages</a></div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div class="header">
<div class="headertitle">
<div class="title">Modules</div> </div>
</div><!--header-->
<div class="contents">
<div class="textblock">Here is a list of all modules:</div><div class="directory">
<table class="directory">
<tr id="row_0_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a class="el" href="group__PluginMacros.html" target="_self">Plugin Macros</a></td><td class="desc"></td></tr>
<tr id="row_1_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a class="el" href="group__ParameterHints.html" target="_self">Parameter Hints</a></td><td class="desc"></td></tr>
<tr id="row_2_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a class="el" href="group__BaseStructs.html" target="_self">Base Structs</a></td><td class="desc"></td></tr>
</table>
</div><!-- directory -->
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue Apr 21 2015 15:18:54 for DISTRHO Plugin Framework by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.8
</small></address>
</body>
</html>

BIN
nav_f.png View File

Before After
Width: 1  |  Height: 56  |  Size: 153B

BIN
nav_g.png View File

Before After
Width: 1  |  Height: 6  |  Size: 95B

BIN
nav_h.png View File

Before After
Width: 1  |  Height: 12  |  Size: 98B

BIN
open.png View File

Before After
Width: 9  |  Height: 9  |  Size: 123B

+ 26
- 0
search/all_0.html View File

@@ -0,0 +1,26 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html><head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta name="generator" content="Doxygen 1.8.8"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="all_0.js"></script>
<script type="text/javascript" src="search.js"></script>
</head>
<body class="SRPage">
<div id="SRIndex">
<div class="SRStatus" id="Loading">Loading...</div>
<div id="SRResults"></div>
<script type="text/javascript"><!--
createResults();
--></script>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
<script type="text/javascript"><!--
document.getElementById("Loading").style.display="none";
document.getElementById("NoMatches").style.display="none";
var searchResults = new SearchResults("searchResults");
searchResults.Search();
--></script>
</div>
</body>
</html>

+ 12
- 0
search/all_0.js View File

@@ -0,0 +1,12 @@
var searchData=
[
['bar',['bar',['../structTimePosition_1_1BarBeatTick.html#ad104eba852516842d8c4776f9d495d21',1,'TimePosition::BarBeatTick']]],
['barbeattick',['BarBeatTick',['../structTimePosition_1_1BarBeatTick.html',1,'TimePosition']]],
['barbeattick',['BarBeatTick',['../structTimePosition_1_1BarBeatTick.html#abff8c9586a4e82694e7d6bac3e8da1ef',1,'TimePosition::BarBeatTick']]],
['barstarttick',['barStartTick',['../structTimePosition_1_1BarBeatTick.html#a5205e95c8f8021006bde2eae774d5b62',1,'TimePosition::BarBeatTick']]],
['base_20structs',['Base Structs',['../group__BaseStructs.html',1,'']]],
['beat',['beat',['../structTimePosition_1_1BarBeatTick.html#af4be3edce420539cbb21bc1b0278201c',1,'TimePosition::BarBeatTick']]],
['beatsperbar',['beatsPerBar',['../structTimePosition_1_1BarBeatTick.html#a4805c98ceeedca9fb886de068c50cb88',1,'TimePosition::BarBeatTick']]],
['beatsperminute',['beatsPerMinute',['../structTimePosition_1_1BarBeatTick.html#af7cb9ae9b30da287828ebddee5caff2f',1,'TimePosition::BarBeatTick']]],
['beattype',['beatType',['../structTimePosition_1_1BarBeatTick.html#a3d0f3681391ab7d3d37abcae24c72257',1,'TimePosition::BarBeatTick']]]
];

+ 26
- 0
search/all_1.html View File

@@ -0,0 +1,26 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html><head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta name="generator" content="Doxygen 1.8.8"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="all_1.js"></script>
<script type="text/javascript" src="search.js"></script>
</head>
<body class="SRPage">
<div id="SRIndex">
<div class="SRStatus" id="Loading">Loading...</div>
<div id="SRResults"></div>
<script type="text/javascript"><!--
createResults();
--></script>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
<script type="text/javascript"><!--
document.getElementById("Loading").style.display="none";
document.getElementById("NoMatches").style.display="none";
var searchResults = new SearchResults("searchResults");
searchResults.Search();
--></script>
</div>
</body>
</html>

+ 54
- 0
search/all_1.js View File

@@ -0,0 +1,54 @@
var searchData=
[
['d_5factivate',['d_activate',['../classPlugin.html#a15df4876febf5909fe040d401fc704d0',1,'Plugin']]],
['d_5fbuffersizechanged',['d_bufferSizeChanged',['../classPlugin.html#a2c6ac454e24b667d54eaaf63da252627',1,'Plugin']]],
['d_5fdeactivate',['d_deactivate',['../classPlugin.html#a5c008d623e558e7266aecaff22fc787a',1,'Plugin']]],
['d_5feditparameter',['d_editParameter',['../classUI.html#a768b898d1e063d5c0112197b99ccba99',1,'UI']]],
['d_5fgetbuffersize',['d_getBufferSize',['../classPlugin.html#aa0feb17c3dcf13a106505eb6d6b2a3ac',1,'Plugin']]],
['d_5fgetlabel',['d_getLabel',['../classPlugin.html#ae512b28d1b274a055de33812cf094d81',1,'Plugin']]],
['d_5fgetlicense',['d_getLicense',['../classPlugin.html#ae9333c170accfd2a237448a4579d5fef',1,'Plugin']]],
['d_5fgetmaker',['d_getMaker',['../classPlugin.html#a0eaf2f46f04d60526622afb5a86e026c',1,'Plugin']]],
['d_5fgetname',['d_getName',['../classPlugin.html#a0f8fb7aa5ab05ba246e158b1024dd031',1,'Plugin']]],
['d_5fgetparametervalue',['d_getParameterValue',['../classPlugin.html#af088f855761b67489f19f42fbb585088',1,'Plugin']]],
['d_5fgetplugininstancepointer',['d_getPluginInstancePointer',['../classUI.html#a5393f505fc8702905c15c70c9fcf0d48',1,'UI']]],
['d_5fgetsamplerate',['d_getSampleRate',['../classPlugin.html#ace888940905e8875284e07c52bf7404f',1,'Plugin::d_getSampleRate()'],['../classUI.html#ab6cbe4dcade92f7f49d4405e51ee639c',1,'UI::d_getSampleRate()']]],
['d_5fgettimeposition',['d_getTimePosition',['../classPlugin.html#ade0a082a3a2936286537a04f4b972225',1,'Plugin']]],
['d_5fgetuniqueid',['d_getUniqueId',['../classPlugin.html#aea77208248b36c7b8c9dc57ee68ae97a',1,'Plugin']]],
['d_5fgetversion',['d_getVersion',['../classPlugin.html#af9251f8d90e4df43c6387bd111487e4e',1,'Plugin']]],
['d_5finitparameter',['d_initParameter',['../classPlugin.html#a3f93a8eb97db3dc9984c357c5ffca5ec',1,'Plugin']]],
['d_5finitprogramname',['d_initProgramName',['../classPlugin.html#a8a1792b7c5c6a3fd9cd626c7156ec3b6',1,'Plugin']]],
['d_5finitstate',['d_initState',['../classPlugin.html#a65f9f9d4a30b0a56dfa42703c0b4db76',1,'Plugin']]],
['d_5fparameterchanged',['d_parameterChanged',['../classUI.html#a9599da33720f4648e9ce78cc18249b07',1,'UI']]],
['d_5fprogramchanged',['d_programChanged',['../classUI.html#a7d703d2caff4765f270686b8428a2fa0',1,'UI']]],
['d_5frun',['d_run',['../classPlugin.html#af67102a7c6d19a8530ce0e3293e55667',1,'Plugin']]],
['d_5fsampleratechanged',['d_sampleRateChanged',['../classPlugin.html#a469b53e1c1417a32d766cf96d1b3c45e',1,'Plugin::d_sampleRateChanged()'],['../classUI.html#a18f4b84a973405fc098e69047e0d1994',1,'UI::d_sampleRateChanged()']]],
['d_5fsendnote',['d_sendNote',['../classUI.html#a621c381126d8e2f0124199b82cdcd456',1,'UI']]],
['d_5fsetlatency',['d_setLatency',['../classPlugin.html#a7816b45ffb52b0a6308cabb792b1a56f',1,'Plugin']]],
['d_5fsetparametervalue',['d_setParameterValue',['../classPlugin.html#a4cdd613f58a013429094700f3d83904a',1,'Plugin::d_setParameterValue()'],['../classUI.html#a310a08018194f82937ca92bed4e77f1f',1,'UI::d_setParameterValue()']]],
['d_5fsetprogram',['d_setProgram',['../classPlugin.html#a1d001e50781b35df23f6d9a218f5f804',1,'Plugin']]],
['d_5fsetstate',['d_setState',['../classPlugin.html#ad9c46a36cab96f52a0370043093bca68',1,'Plugin::d_setState()'],['../classUI.html#ac32cb7fd88c642eadebf64137acd910e',1,'UI::d_setState()']]],
['d_5fstatechanged',['d_stateChanged',['../classUI.html#a7f508ebffec7a5168b532ccb9d81df70',1,'UI']]],
['d_5fuifilebrowserselected',['d_uiFileBrowserSelected',['../classUI.html#ab10300e34b40d6b447b1213813f474c0',1,'UI']]],
['d_5fuiidle',['d_uiIdle',['../classUI.html#aa320b8d3e826394dad9f7c36692f9b6c',1,'UI']]],
['d_5fuireshape',['d_uiReshape',['../classUI.html#aaf729415450434ad6690db93fd936bbf',1,'UI']]],
['d_5fwritemidievent',['d_writeMidiEvent',['../classPlugin.html#afa10aea18e4036b4a7487f2779d92e0f',1,'Plugin']]],
['data',['data',['../structMidiEvent.html#aba54410d44eef48c10516f29452ef3a9',1,'MidiEvent']]],
['def',['def',['../structParameterRanges.html#aa0aba68115bcfff25c35b2da2f7aed4c',1,'ParameterRanges']]],
['distrho_5fplugin_5fhas_5fui',['DISTRHO_PLUGIN_HAS_UI',['../group__PluginMacros.html#gacf8a1af679c09637ba0bdc5f4f8e37dd',1,'DistrhoPlugin.hpp']]],
['distrho_5fplugin_5fis_5frt_5fsafe',['DISTRHO_PLUGIN_IS_RT_SAFE',['../group__PluginMacros.html#ga82546dd199fcea338b113f2f6da84ced',1,'DistrhoPlugin.hpp']]],
['distrho_5fplugin_5fis_5fsynth',['DISTRHO_PLUGIN_IS_SYNTH',['../group__PluginMacros.html#ga854bde6b6fdb0d47182149dbab0fed72',1,'DistrhoPlugin.hpp']]],
['distrho_5fplugin_5fname',['DISTRHO_PLUGIN_NAME',['../group__PluginMacros.html#ga888482a9f695c2ca2f433e5f3172dcc4',1,'DistrhoPlugin.hpp']]],
['distrho_5fplugin_5fnum_5finputs',['DISTRHO_PLUGIN_NUM_INPUTS',['../group__PluginMacros.html#ga5f4f3d9a5dc3c23882d158e636319998',1,'DistrhoPlugin.hpp']]],
['distrho_5fplugin_5fnum_5foutputs',['DISTRHO_PLUGIN_NUM_OUTPUTS',['../group__PluginMacros.html#ga917195804ebcb2bb48c9fad52b20b3ca',1,'DistrhoPlugin.hpp']]],
['distrho_5fplugin_5furi',['DISTRHO_PLUGIN_URI',['../group__PluginMacros.html#ga9cc186448134e6a1956474b3878c97a8',1,'DistrhoPlugin.hpp']]],
['distrho_5fplugin_5fwant_5fdirect_5faccess',['DISTRHO_PLUGIN_WANT_DIRECT_ACCESS',['../group__PluginMacros.html#gac6873a3950f52f3fde8e386af63b69a1',1,'DistrhoPlugin.hpp']]],
['distrho_5fplugin_5fwant_5flatency',['DISTRHO_PLUGIN_WANT_LATENCY',['../group__PluginMacros.html#gad6b0ebf10e048f4742f29735da4d4930',1,'DistrhoPlugin.hpp']]],
['distrho_5fplugin_5fwant_5fmidi_5finput',['DISTRHO_PLUGIN_WANT_MIDI_INPUT',['../group__PluginMacros.html#gadf2e2eb7550e4116001c816adfb04a70',1,'DistrhoPlugin.hpp']]],
['distrho_5fplugin_5fwant_5fmidi_5foutput',['DISTRHO_PLUGIN_WANT_MIDI_OUTPUT',['../group__PluginMacros.html#ga548522eb91344a45841a5a95ff4f8073',1,'DistrhoPlugin.hpp']]],
['distrho_5fplugin_5fwant_5fprograms',['DISTRHO_PLUGIN_WANT_PROGRAMS',['../group__PluginMacros.html#gad95e24b17f196260cee15255fdb5b677',1,'DistrhoPlugin.hpp']]],
['distrho_5fplugin_5fwant_5fstate',['DISTRHO_PLUGIN_WANT_STATE',['../group__PluginMacros.html#ga255f43cc0997af8b56abcca260c875e0',1,'DistrhoPlugin.hpp']]],
['distrho_5fplugin_5fwant_5ftimepos',['DISTRHO_PLUGIN_WANT_TIMEPOS',['../group__PluginMacros.html#ga496610b956d931b1940d07da48d123f2',1,'DistrhoPlugin.hpp']]],
['distrho_5fui_5furi',['DISTRHO_UI_URI',['../group__PluginMacros.html#ga420a88022da249b9f38a6046998dbd7c',1,'DistrhoPlugin.hpp']]],
['distrho_5fui_5fuse_5fnanovg',['DISTRHO_UI_USE_NANOVG',['../group__PluginMacros.html#gad49e79936a2aa5afa089cbc051426ccd',1,'DistrhoPlugin.hpp']]],
['distrho_20_25plugin_20framework',['DISTRHO %Plugin Framework',['../index.html',1,'']]]
];

+ 26
- 0
search/all_2.html View File

@@ -0,0 +1,26 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html><head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta name="generator" content="Doxygen 1.8.8"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="all_2.js"></script>
<script type="text/javascript" src="search.js"></script>
</head>
<body class="SRPage">
<div id="SRIndex">
<div class="SRStatus" id="Loading">Loading...</div>
<div id="SRResults"></div>
<script type="text/javascript"><!--
createResults();
--></script>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
<script type="text/javascript"><!--
document.getElementById("Loading").style.display="none";
document.getElementById("NoMatches").style.display="none";
var searchResults = new SearchResults("searchResults");
searchResults.Search();
--></script>
</div>
</body>
</html>

+ 6
- 0
search/all_2.js View File

@@ -0,0 +1,6 @@
var searchData=
[
['fixdefault',['fixDefault',['../structParameterRanges.html#a17519e584ccc28e87b73bfbd1a81cf10',1,'ParameterRanges']]],
['fixvalue',['fixValue',['../structParameterRanges.html#a1dac84c100f420bfc529a4d2ea60dc7c',1,'ParameterRanges']]],
['frame',['frame',['../structMidiEvent.html#aca2f6590b33bd2175ab71f985747d88e',1,'MidiEvent::frame()'],['../structTimePosition.html#aa3606d1c518c7ebe6335bc19f72b015b',1,'TimePosition::frame()']]]
];

+ 26
- 0
search/all_3.html View File

@@ -0,0 +1,26 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html><head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta name="generator" content="Doxygen 1.8.8"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="all_3.js"></script>
<script type="text/javascript" src="search.js"></script>
</head>
<body class="SRPage">
<div id="SRIndex">
<div class="SRStatus" id="Loading">Loading...</div>
<div id="SRResults"></div>
<script type="text/javascript"><!--
createResults();
--></script>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
<script type="text/javascript"><!--
document.getElementById("Loading").style.display="none";
document.getElementById("NoMatches").style.display="none";
var searchResults = new SearchResults("searchResults");
searchResults.Search();
--></script>
</div>
</body>
</html>

+ 7
- 0
search/all_3.js View File

@@ -0,0 +1,7 @@
var searchData=
[
['getfixedandnormalizedvalue',['getFixedAndNormalizedValue',['../structParameterRanges.html#a82698a1e07b1b04ccb5df0de4db0d0be',1,'ParameterRanges']]],
['getfixedvalue',['getFixedValue',['../structParameterRanges.html#acd3d977c154ddb3138f36c0b6d2b7626',1,'ParameterRanges']]],
['getnormalizedvalue',['getNormalizedValue',['../structParameterRanges.html#ad16ef939c1caa2f51e9a4041f769f86e',1,'ParameterRanges']]],
['getunnormalizedvalue',['getUnnormalizedValue',['../structParameterRanges.html#a992f75a925b3cd5e66544087708ea3c3',1,'ParameterRanges']]]
];

+ 26
- 0
search/all_4.html View File

@@ -0,0 +1,26 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html><head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta name="generator" content="Doxygen 1.8.8"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="all_4.js"></script>
<script type="text/javascript" src="search.js"></script>
</head>
<body class="SRPage">
<div id="SRIndex">
<div class="SRStatus" id="Loading">Loading...</div>
<div id="SRResults"></div>
<script type="text/javascript"><!--
createResults();
--></script>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
<script type="text/javascript"><!--
document.getElementById("Loading").style.display="none";
document.getElementById("NoMatches").style.display="none";
var searchResults = new SearchResults("searchResults");
searchResults.Search();
--></script>
</div>
</body>
</html>

+ 4
- 0
search/all_4.js View File

@@ -0,0 +1,4 @@
var searchData=
[
['hints',['hints',['../structParameter.html#a397fb977f0c6cbec31df4f141ca3f5b3',1,'Parameter']]]
];

+ 26
- 0
search/all_5.html View File

@@ -0,0 +1,26 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html><head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta name="generator" content="Doxygen 1.8.8"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="all_5.js"></script>
<script type="text/javascript" src="search.js"></script>
</head>
<body class="SRPage">
<div id="SRIndex">
<div class="SRStatus" id="Loading">Loading...</div>
<div id="SRResults"></div>
<script type="text/javascript"><!--
createResults();
--></script>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
<script type="text/javascript"><!--
document.getElementById("Loading").style.display="none";
document.getElementById("NoMatches").style.display="none";
var searchResults = new SearchResults("searchResults");
searchResults.Search();
--></script>
</div>
</body>
</html>

+ 10
- 0
search/all_5.js View File

@@ -0,0 +1,10 @@
var searchData=
[
['kdatasize',['kDataSize',['../structMidiEvent.html#a9e23ce17777c2ff5190670d3262129b9',1,'MidiEvent']]],
['kparameterisautomable',['kParameterIsAutomable',['../group__ParameterHints.html#ga04161ef926442aa08ae7aa6847078ad9',1,'DistrhoPlugin.hpp']]],
['kparameterisboolean',['kParameterIsBoolean',['../group__ParameterHints.html#gaafca30df903781d2e1c2491808e17c8d',1,'DistrhoPlugin.hpp']]],
['kparameteriscv',['kParameterIsCV',['../group__ParameterHints.html#ga1eae4d034f2ff1bc14035d87c4b63b14',1,'DistrhoPlugin.hpp']]],
['kparameterisinteger',['kParameterIsInteger',['../group__ParameterHints.html#ga76a82c93efe6ad728c9f0cb4ef33a2b9',1,'DistrhoPlugin.hpp']]],
['kparameterislogarithmic',['kParameterIsLogarithmic',['../group__ParameterHints.html#gabc539ecbfe420246a33f93aed32b8a3b',1,'DistrhoPlugin.hpp']]],
['kparameterisoutput',['kParameterIsOutput',['../group__ParameterHints.html#ga0a3633c93e8589f4b3e6124bb97ad8d4',1,'DistrhoPlugin.hpp']]]
];

+ 26
- 0
search/all_6.html View File

@@ -0,0 +1,26 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html><head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta name="generator" content="Doxygen 1.8.8"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="all_6.js"></script>
<script type="text/javascript" src="search.js"></script>
</head>
<body class="SRPage">
<div id="SRIndex">
<div class="SRStatus" id="Loading">Loading...</div>
<div id="SRResults"></div>
<script type="text/javascript"><!--
createResults();
--></script>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
<script type="text/javascript"><!--
document.getElementById("Loading").style.display="none";
document.getElementById("NoMatches").style.display="none";
var searchResults = new SearchResults("searchResults");
searchResults.Search();
--></script>
</div>
</body>
</html>

+ 6
- 0
search/all_6.js View File

@@ -0,0 +1,6 @@
var searchData=
[
['max',['max',['../structParameterRanges.html#a175c78c905c598df929a4450e4d2a2a0',1,'ParameterRanges']]],
['midievent',['MidiEvent',['../structMidiEvent.html',1,'']]],
['min',['min',['../structParameterRanges.html#a63c40988463a8ace9d0e9e55a00f3c7b',1,'ParameterRanges']]]
];

+ 26
- 0
search/all_7.html View File

@@ -0,0 +1,26 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html><head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta name="generator" content="Doxygen 1.8.8"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="all_7.js"></script>
<script type="text/javascript" src="search.js"></script>
</head>
<body class="SRPage">
<div id="SRIndex">
<div class="SRStatus" id="Loading">Loading...</div>
<div id="SRResults"></div>
<script type="text/javascript"><!--
createResults();
--></script>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
<script type="text/javascript"><!--
document.getElementById("Loading").style.display="none";
document.getElementById("NoMatches").style.display="none";
var searchResults = new SearchResults("searchResults");
searchResults.Search();
--></script>
</div>
</body>
</html>

+ 4
- 0
search/all_7.js View File

@@ -0,0 +1,4 @@
var searchData=
[
['name',['name',['../structParameter.html#a2e75f234cbbda1ed0517075e67d27191',1,'Parameter']]]
];

+ 26
- 0
search/all_8.html View File

@@ -0,0 +1,26 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html><head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta name="generator" content="Doxygen 1.8.8"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="all_8.js"></script>
<script type="text/javascript" src="search.js"></script>
</head>
<body class="SRPage">
<div id="SRIndex">
<div class="SRStatus" id="Loading">Loading...</div>
<div id="SRResults"></div>
<script type="text/javascript"><!--
createResults();
--></script>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
<script type="text/javascript"><!--
document.getElementById("Loading").style.display="none";
document.getElementById("NoMatches").style.display="none";
var searchResults = new SearchResults("searchResults");
searchResults.Search();
--></script>
</div>
</body>
</html>

+ 4
- 0
search/all_8.js View File

@@ -0,0 +1,4 @@
var searchData=
[
['onresize',['onResize',['../classUI.html#a8de15be030bbdf0eb81461349cb1cc77',1,'UI']]]
];

+ 26
- 0
search/all_9.html View File

@@ -0,0 +1,26 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html><head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta name="generator" content="Doxygen 1.8.8"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="all_9.js"></script>
<script type="text/javascript" src="search.js"></script>
</head>
<body class="SRPage">
<div id="SRIndex">
<div class="SRStatus" id="Loading">Loading...</div>
<div id="SRResults"></div>
<script type="text/javascript"><!--
createResults();
--></script>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
<script type="text/javascript"><!--
document.getElementById("Loading").style.display="none";
document.getElementById("NoMatches").style.display="none";
var searchResults = new SearchResults("searchResults");
searchResults.Search();
--></script>
</div>
</body>
</html>

+ 9
- 0
search/all_9.js View File

@@ -0,0 +1,9 @@
var searchData=
[
['parameter',['Parameter',['../structParameter.html',1,'Parameter'],['../structParameter.html#a12ced87d6d832deccb6c8ce2c8313b2e',1,'Parameter::Parameter()']]],
['parameter_20hints',['Parameter Hints',['../group__ParameterHints.html',1,'']]],
['parameterranges',['ParameterRanges',['../structParameterRanges.html',1,'ParameterRanges'],['../structParameterRanges.html#adb9b2712df3401eb0c5e11362d865d4e',1,'ParameterRanges::ParameterRanges() noexcept'],['../structParameterRanges.html#aad2afc730bee791aab1811744a48f99d',1,'ParameterRanges::ParameterRanges(const float df, const float mn, const float mx) noexcept']]],
['playing',['playing',['../structTimePosition.html#a35db424bdf8ec01102a4fa6346c45574',1,'TimePosition']]],
['plugin',['Plugin',['../classPlugin.html',1,'Plugin'],['../classPlugin.html#a3096e491376cb9378be55915d748de57',1,'Plugin::Plugin()']]],
['plugin_20macros',['Plugin Macros',['../group__PluginMacros.html',1,'']]]
];

+ 26
- 0
search/all_a.html View File

@@ -0,0 +1,26 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html><head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta name="generator" content="Doxygen 1.8.8"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="all_a.js"></script>
<script type="text/javascript" src="search.js"></script>
</head>
<body class="SRPage">
<div id="SRIndex">
<div class="SRStatus" id="Loading">Loading...</div>
<div id="SRResults"></div>
<script type="text/javascript"><!--
createResults();
--></script>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
<script type="text/javascript"><!--
document.getElementById("Loading").style.display="none";
document.getElementById("NoMatches").style.display="none";
var searchResults = new SearchResults("searchResults");
searchResults.Search();
--></script>
</div>
</body>
</html>

+ 4
- 0
search/all_a.js View File

@@ -0,0 +1,4 @@
var searchData=
[
['ranges',['ranges',['../structParameter.html#a2d0c81e4fb8fad18d920ef6ecd4a64db',1,'Parameter']]]
];

+ 26
- 0
search/all_b.html View File

@@ -0,0 +1,26 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html><head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta name="generator" content="Doxygen 1.8.8"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="all_b.js"></script>
<script type="text/javascript" src="search.js"></script>
</head>
<body class="SRPage">
<div id="SRIndex">
<div class="SRStatus" id="Loading">Loading...</div>
<div id="SRResults"></div>
<script type="text/javascript"><!--
createResults();
--></script>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
<script type="text/javascript"><!--
document.getElementById("Loading").style.display="none";
document.getElementById("NoMatches").style.display="none";
var searchResults = new SearchResults("searchResults");
searchResults.Search();
--></script>
</div>
</body>
</html>

+ 5
- 0
search/all_b.js View File

@@ -0,0 +1,5 @@
var searchData=
[
['size',['size',['../structMidiEvent.html#a48b420a6dbca6502113b92c336a3041e',1,'MidiEvent']]],
['symbol',['symbol',['../structParameter.html#a0b5193e6131f65878dfb6fe4d9f5e970',1,'Parameter']]]
];

+ 26
- 0
search/all_c.html View File

@@ -0,0 +1,26 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html><head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta name="generator" content="Doxygen 1.8.8"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="all_c.js"></script>
<script type="text/javascript" src="search.js"></script>
</head>
<body class="SRPage">
<div id="SRIndex">
<div class="SRStatus" id="Loading">Loading...</div>
<div id="SRResults"></div>
<script type="text/javascript"><!--
createResults();
--></script>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
<script type="text/javascript"><!--
document.getElementById("Loading").style.display="none";
document.getElementById("NoMatches").style.display="none";
var searchResults = new SearchResults("searchResults");
searchResults.Search();
--></script>
</div>
</body>
</html>

+ 6
- 0
search/all_c.js View File

@@ -0,0 +1,6 @@
var searchData=
[
['tick',['tick',['../structTimePosition_1_1BarBeatTick.html#ad38d7364a5441f1f49c3538f5691a299',1,'TimePosition::BarBeatTick']]],
['ticksperbeat',['ticksPerBeat',['../structTimePosition_1_1BarBeatTick.html#ab8cfc3f2709a79e733e58556712da062',1,'TimePosition::BarBeatTick']]],
['timeposition',['TimePosition',['../structTimePosition.html',1,'TimePosition'],['../structTimePosition.html#aee816daeed95cf309ded1087a0c800ae',1,'TimePosition::TimePosition()']]]
];

+ 26
- 0
search/all_d.html View File

@@ -0,0 +1,26 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html><head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta name="generator" content="Doxygen 1.8.8"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="all_d.js"></script>
<script type="text/javascript" src="search.js"></script>
</head>
<body class="SRPage">
<div id="SRIndex">
<div class="SRStatus" id="Loading">Loading...</div>
<div id="SRResults"></div>
<script type="text/javascript"><!--
createResults();
--></script>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
<script type="text/javascript"><!--
document.getElementById("Loading").style.display="none";
document.getElementById("NoMatches").style.display="none";
var searchResults = new SearchResults("searchResults");
searchResults.Search();
--></script>
</div>
</body>
</html>

+ 5
- 0
search/all_d.js View File

@@ -0,0 +1,5 @@
var searchData=
[
['ui',['UI',['../classUI.html',1,'UI'],['../classUI.html#ad3425075e4a23234a8568d1893b54f22',1,'UI::UI()']]],
['unit',['unit',['../structParameter.html#aa9ee36848d60d8ddd9185b9a3f2ce93f',1,'Parameter']]]
];

+ 26
- 0
search/all_e.html View File

@@ -0,0 +1,26 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html><head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta name="generator" content="Doxygen 1.8.8"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="all_e.js"></script>
<script type="text/javascript" src="search.js"></script>
</head>
<body class="SRPage">
<div id="SRIndex">
<div class="SRStatus" id="Loading">Loading...</div>
<div id="SRResults"></div>
<script type="text/javascript"><!--
createResults();
--></script>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
<script type="text/javascript"><!--
document.getElementById("Loading").style.display="none";
document.getElementById("NoMatches").style.display="none";
var searchResults = new SearchResults("searchResults");
searchResults.Search();
--></script>
</div>
</body>
</html>

+ 4
- 0
search/all_e.js View File

@@ -0,0 +1,4 @@
var searchData=
[
['valid',['valid',['../structTimePosition_1_1BarBeatTick.html#a45a05047e923285af0fbeacb371e3f4e',1,'TimePosition::BarBeatTick']]]
];

+ 26
- 0
search/all_f.html View File

@@ -0,0 +1,26 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html><head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta name="generator" content="Doxygen 1.8.8"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="all_f.js"></script>
<script type="text/javascript" src="search.js"></script>
</head>
<body class="SRPage">
<div id="SRIndex">
<div class="SRStatus" id="Loading">Loading...</div>
<div id="SRResults"></div>
<script type="text/javascript"><!--
createResults();
--></script>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
<script type="text/javascript"><!--
document.getElementById("Loading").style.display="none";
document.getElementById("NoMatches").style.display="none";
var searchResults = new SearchResults("searchResults");
searchResults.Search();
--></script>
</div>
</body>
</html>

+ 5
- 0
search/all_f.js View File

@@ -0,0 +1,5 @@
var searchData=
[
['_7eplugin',['~Plugin',['../classPlugin.html#a89814b8f0b1c91e49140d42eb8331383',1,'Plugin']]],
['_7eui',['~UI',['../classUI.html#a47e7b6111faba049dfee4738d067cc42',1,'UI']]]
];

+ 26
- 0
search/classes_0.html View File

@@ -0,0 +1,26 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html><head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta name="generator" content="Doxygen 1.8.8"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="classes_0.js"></script>
<script type="text/javascript" src="search.js"></script>
</head>
<body class="SRPage">
<div id="SRIndex">
<div class="SRStatus" id="Loading">Loading...</div>
<div id="SRResults"></div>
<script type="text/javascript"><!--
createResults();
--></script>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
<script type="text/javascript"><!--
document.getElementById("Loading").style.display="none";
document.getElementById("NoMatches").style.display="none";
var searchResults = new SearchResults("searchResults");
searchResults.Search();
--></script>
</div>
</body>
</html>

+ 4
- 0
search/classes_0.js View File

@@ -0,0 +1,4 @@
var searchData=
[
['barbeattick',['BarBeatTick',['../structTimePosition_1_1BarBeatTick.html',1,'TimePosition']]]
];

+ 26
- 0
search/classes_1.html View File

@@ -0,0 +1,26 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html><head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta name="generator" content="Doxygen 1.8.8"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="classes_1.js"></script>
<script type="text/javascript" src="search.js"></script>
</head>
<body class="SRPage">
<div id="SRIndex">
<div class="SRStatus" id="Loading">Loading...</div>
<div id="SRResults"></div>
<script type="text/javascript"><!--
createResults();
--></script>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
<script type="text/javascript"><!--
document.getElementById("Loading").style.display="none";
document.getElementById("NoMatches").style.display="none";
var searchResults = new SearchResults("searchResults");
searchResults.Search();
--></script>
</div>
</body>
</html>

+ 4
- 0
search/classes_1.js View File

@@ -0,0 +1,4 @@
var searchData=
[
['midievent',['MidiEvent',['../structMidiEvent.html',1,'']]]
];

+ 26
- 0
search/classes_2.html View File

@@ -0,0 +1,26 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html><head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta name="generator" content="Doxygen 1.8.8"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="classes_2.js"></script>
<script type="text/javascript" src="search.js"></script>
</head>
<body class="SRPage">
<div id="SRIndex">
<div class="SRStatus" id="Loading">Loading...</div>
<div id="SRResults"></div>
<script type="text/javascript"><!--
createResults();
--></script>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
<script type="text/javascript"><!--
document.getElementById("Loading").style.display="none";
document.getElementById("NoMatches").style.display="none";
var searchResults = new SearchResults("searchResults");
searchResults.Search();
--></script>
</div>
</body>
</html>

+ 6
- 0
search/classes_2.js View File

@@ -0,0 +1,6 @@
var searchData=
[
['parameter',['Parameter',['../structParameter.html',1,'']]],
['parameterranges',['ParameterRanges',['../structParameterRanges.html',1,'']]],
['plugin',['Plugin',['../classPlugin.html',1,'']]]
];

+ 26
- 0
search/classes_3.html View File

@@ -0,0 +1,26 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html><head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta name="generator" content="Doxygen 1.8.8"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="classes_3.js"></script>
<script type="text/javascript" src="search.js"></script>
</head>
<body class="SRPage">
<div id="SRIndex">
<div class="SRStatus" id="Loading">Loading...</div>
<div id="SRResults"></div>
<script type="text/javascript"><!--
createResults();
--></script>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
<script type="text/javascript"><!--
document.getElementById("Loading").style.display="none";
document.getElementById("NoMatches").style.display="none";
var searchResults = new SearchResults("searchResults");
searchResults.Search();
--></script>
</div>
</body>
</html>

+ 4
- 0
search/classes_3.js View File

@@ -0,0 +1,4 @@
var searchData=
[
['timeposition',['TimePosition',['../structTimePosition.html',1,'']]]
];

+ 26
- 0
search/classes_4.html View File

@@ -0,0 +1,26 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html><head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta name="generator" content="Doxygen 1.8.8"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="classes_4.js"></script>
<script type="text/javascript" src="search.js"></script>
</head>
<body class="SRPage">
<div id="SRIndex">
<div class="SRStatus" id="Loading">Loading...</div>
<div id="SRResults"></div>
<script type="text/javascript"><!--
createResults();
--></script>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
<script type="text/javascript"><!--
document.getElementById("Loading").style.display="none";
document.getElementById("NoMatches").style.display="none";
var searchResults = new SearchResults("searchResults");
searchResults.Search();
--></script>
</div>
</body>
</html>

+ 4
- 0
search/classes_4.js View File

@@ -0,0 +1,4 @@
var searchData=
[
['ui',['UI',['../classUI.html',1,'']]]
];

BIN
search/close.png View File

Before After
Width: 11  |  Height: 11  |  Size: 273B

+ 26
- 0
search/functions_0.html View File

@@ -0,0 +1,26 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html><head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta name="generator" content="Doxygen 1.8.8"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="functions_0.js"></script>
<script type="text/javascript" src="search.js"></script>
</head>
<body class="SRPage">
<div id="SRIndex">
<div class="SRStatus" id="Loading">Loading...</div>
<div id="SRResults"></div>
<script type="text/javascript"><!--
createResults();
--></script>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
<script type="text/javascript"><!--
document.getElementById("Loading").style.display="none";
document.getElementById("NoMatches").style.display="none";
var searchResults = new SearchResults("searchResults");
searchResults.Search();
--></script>
</div>
</body>
</html>

+ 4
- 0
search/functions_0.js View File

@@ -0,0 +1,4 @@
var searchData=
[
['barbeattick',['BarBeatTick',['../structTimePosition_1_1BarBeatTick.html#abff8c9586a4e82694e7d6bac3e8da1ef',1,'TimePosition::BarBeatTick']]]
];

+ 26
- 0
search/functions_1.html View File

@@ -0,0 +1,26 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html><head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta name="generator" content="Doxygen 1.8.8"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="functions_1.js"></script>
<script type="text/javascript" src="search.js"></script>
</head>
<body class="SRPage">
<div id="SRIndex">
<div class="SRStatus" id="Loading">Loading...</div>
<div id="SRResults"></div>
<script type="text/javascript"><!--
createResults();
--></script>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
<script type="text/javascript"><!--
document.getElementById("Loading").style.display="none";
document.getElementById("NoMatches").style.display="none";
var searchResults = new SearchResults("searchResults");
searchResults.Search();
--></script>
</div>
</body>
</html>

+ 35
- 0
search/functions_1.js View File

@@ -0,0 +1,35 @@
var searchData=
[
['d_5factivate',['d_activate',['../classPlugin.html#a15df4876febf5909fe040d401fc704d0',1,'Plugin']]],
['d_5fbuffersizechanged',['d_bufferSizeChanged',['../classPlugin.html#a2c6ac454e24b667d54eaaf63da252627',1,'Plugin']]],
['d_5fdeactivate',['d_deactivate',['../classPlugin.html#a5c008d623e558e7266aecaff22fc787a',1,'Plugin']]],
['d_5feditparameter',['d_editParameter',['../classUI.html#a768b898d1e063d5c0112197b99ccba99',1,'UI']]],
['d_5fgetbuffersize',['d_getBufferSize',['../classPlugin.html#aa0feb17c3dcf13a106505eb6d6b2a3ac',1,'Plugin']]],
['d_5fgetlabel',['d_getLabel',['../classPlugin.html#ae512b28d1b274a055de33812cf094d81',1,'Plugin']]],
['d_5fgetlicense',['d_getLicense',['../classPlugin.html#ae9333c170accfd2a237448a4579d5fef',1,'Plugin']]],
['d_5fgetmaker',['d_getMaker',['../classPlugin.html#a0eaf2f46f04d60526622afb5a86e026c',1,'Plugin']]],
['d_5fgetname',['d_getName',['../classPlugin.html#a0f8fb7aa5ab05ba246e158b1024dd031',1,'Plugin']]],
['d_5fgetparametervalue',['d_getParameterValue',['../classPlugin.html#af088f855761b67489f19f42fbb585088',1,'Plugin']]],
['d_5fgetplugininstancepointer',['d_getPluginInstancePointer',['../classUI.html#a5393f505fc8702905c15c70c9fcf0d48',1,'UI']]],
['d_5fgetsamplerate',['d_getSampleRate',['../classPlugin.html#ace888940905e8875284e07c52bf7404f',1,'Plugin::d_getSampleRate()'],['../classUI.html#ab6cbe4dcade92f7f49d4405e51ee639c',1,'UI::d_getSampleRate()']]],
['d_5fgettimeposition',['d_getTimePosition',['../classPlugin.html#ade0a082a3a2936286537a04f4b972225',1,'Plugin']]],
['d_5fgetuniqueid',['d_getUniqueId',['../classPlugin.html#aea77208248b36c7b8c9dc57ee68ae97a',1,'Plugin']]],
['d_5fgetversion',['d_getVersion',['../classPlugin.html#af9251f8d90e4df43c6387bd111487e4e',1,'Plugin']]],
['d_5finitparameter',['d_initParameter',['../classPlugin.html#a3f93a8eb97db3dc9984c357c5ffca5ec',1,'Plugin']]],
['d_5finitprogramname',['d_initProgramName',['../classPlugin.html#a8a1792b7c5c6a3fd9cd626c7156ec3b6',1,'Plugin']]],
['d_5finitstate',['d_initState',['../classPlugin.html#a65f9f9d4a30b0a56dfa42703c0b4db76',1,'Plugin']]],
['d_5fparameterchanged',['d_parameterChanged',['../classUI.html#a9599da33720f4648e9ce78cc18249b07',1,'UI']]],
['d_5fprogramchanged',['d_programChanged',['../classUI.html#a7d703d2caff4765f270686b8428a2fa0',1,'UI']]],
['d_5frun',['d_run',['../classPlugin.html#af67102a7c6d19a8530ce0e3293e55667',1,'Plugin']]],
['d_5fsampleratechanged',['d_sampleRateChanged',['../classPlugin.html#a469b53e1c1417a32d766cf96d1b3c45e',1,'Plugin::d_sampleRateChanged()'],['../classUI.html#a18f4b84a973405fc098e69047e0d1994',1,'UI::d_sampleRateChanged()']]],
['d_5fsendnote',['d_sendNote',['../classUI.html#a621c381126d8e2f0124199b82cdcd456',1,'UI']]],
['d_5fsetlatency',['d_setLatency',['../classPlugin.html#a7816b45ffb52b0a6308cabb792b1a56f',1,'Plugin']]],
['d_5fsetparametervalue',['d_setParameterValue',['../classPlugin.html#a4cdd613f58a013429094700f3d83904a',1,'Plugin::d_setParameterValue()'],['../classUI.html#a310a08018194f82937ca92bed4e77f1f',1,'UI::d_setParameterValue()']]],
['d_5fsetprogram',['d_setProgram',['../classPlugin.html#a1d001e50781b35df23f6d9a218f5f804',1,'Plugin']]],
['d_5fsetstate',['d_setState',['../classPlugin.html#ad9c46a36cab96f52a0370043093bca68',1,'Plugin::d_setState()'],['../classUI.html#ac32cb7fd88c642eadebf64137acd910e',1,'UI::d_setState()']]],
['d_5fstatechanged',['d_stateChanged',['../classUI.html#a7f508ebffec7a5168b532ccb9d81df70',1,'UI']]],
['d_5fuifilebrowserselected',['d_uiFileBrowserSelected',['../classUI.html#ab10300e34b40d6b447b1213813f474c0',1,'UI']]],
['d_5fuiidle',['d_uiIdle',['../classUI.html#aa320b8d3e826394dad9f7c36692f9b6c',1,'UI']]],
['d_5fuireshape',['d_uiReshape',['../classUI.html#aaf729415450434ad6690db93fd936bbf',1,'UI']]],
['d_5fwritemidievent',['d_writeMidiEvent',['../classPlugin.html#afa10aea18e4036b4a7487f2779d92e0f',1,'Plugin']]]
];

+ 26
- 0
search/functions_2.html View File

@@ -0,0 +1,26 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html><head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta name="generator" content="Doxygen 1.8.8"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="functions_2.js"></script>
<script type="text/javascript" src="search.js"></script>
</head>
<body class="SRPage">
<div id="SRIndex">
<div class="SRStatus" id="Loading">Loading...</div>
<div id="SRResults"></div>
<script type="text/javascript"><!--
createResults();
--></script>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
<script type="text/javascript"><!--
document.getElementById("Loading").style.display="none";
document.getElementById("NoMatches").style.display="none";
var searchResults = new SearchResults("searchResults");
searchResults.Search();
--></script>
</div>
</body>
</html>

+ 5
- 0
search/functions_2.js View File

@@ -0,0 +1,5 @@
var searchData=
[
['fixdefault',['fixDefault',['../structParameterRanges.html#a17519e584ccc28e87b73bfbd1a81cf10',1,'ParameterRanges']]],
['fixvalue',['fixValue',['../structParameterRanges.html#a1dac84c100f420bfc529a4d2ea60dc7c',1,'ParameterRanges']]]
];

+ 26
- 0
search/functions_3.html View File

@@ -0,0 +1,26 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html><head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta name="generator" content="Doxygen 1.8.8"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="functions_3.js"></script>
<script type="text/javascript" src="search.js"></script>
</head>
<body class="SRPage">
<div id="SRIndex">
<div class="SRStatus" id="Loading">Loading...</div>
<div id="SRResults"></div>
<script type="text/javascript"><!--
createResults();
--></script>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
<script type="text/javascript"><!--
document.getElementById("Loading").style.display="none";
document.getElementById("NoMatches").style.display="none";
var searchResults = new SearchResults("searchResults");
searchResults.Search();
--></script>
</div>
</body>
</html>

+ 7
- 0
search/functions_3.js View File

@@ -0,0 +1,7 @@
var searchData=
[
['getfixedandnormalizedvalue',['getFixedAndNormalizedValue',['../structParameterRanges.html#a82698a1e07b1b04ccb5df0de4db0d0be',1,'ParameterRanges']]],
['getfixedvalue',['getFixedValue',['../structParameterRanges.html#acd3d977c154ddb3138f36c0b6d2b7626',1,'ParameterRanges']]],
['getnormalizedvalue',['getNormalizedValue',['../structParameterRanges.html#ad16ef939c1caa2f51e9a4041f769f86e',1,'ParameterRanges']]],
['getunnormalizedvalue',['getUnnormalizedValue',['../structParameterRanges.html#a992f75a925b3cd5e66544087708ea3c3',1,'ParameterRanges']]]
];

+ 26
- 0
search/functions_4.html View File

@@ -0,0 +1,26 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html><head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta name="generator" content="Doxygen 1.8.8"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="functions_4.js"></script>
<script type="text/javascript" src="search.js"></script>
</head>
<body class="SRPage">
<div id="SRIndex">
<div class="SRStatus" id="Loading">Loading...</div>
<div id="SRResults"></div>
<script type="text/javascript"><!--
createResults();
--></script>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
<script type="text/javascript"><!--
document.getElementById("Loading").style.display="none";
document.getElementById("NoMatches").style.display="none";
var searchResults = new SearchResults("searchResults");
searchResults.Search();
--></script>
</div>
</body>
</html>

+ 4
- 0
search/functions_4.js View File

@@ -0,0 +1,4 @@
var searchData=
[
['onresize',['onResize',['../classUI.html#a8de15be030bbdf0eb81461349cb1cc77',1,'UI']]]
];

+ 26
- 0
search/functions_5.html View File

@@ -0,0 +1,26 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html><head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta name="generator" content="Doxygen 1.8.8"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="functions_5.js"></script>
<script type="text/javascript" src="search.js"></script>
</head>
<body class="SRPage">
<div id="SRIndex">
<div class="SRStatus" id="Loading">Loading...</div>
<div id="SRResults"></div>
<script type="text/javascript"><!--
createResults();
--></script>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
<script type="text/javascript"><!--
document.getElementById("Loading").style.display="none";
document.getElementById("NoMatches").style.display="none";
var searchResults = new SearchResults("searchResults");
searchResults.Search();
--></script>
</div>
</body>
</html>

Some files were not shown because too many files changed in this diff

Loading…
Cancel
Save