annotate code-docs/classVamp_1_1PluginAdapterBase.html @ 7:66d125fb8b42 tip

Added tag vamp-plugin-sdk-v2.7 for changeset 27319718b1f8
author Chris Cannam
date Fri, 24 Feb 2017 16:45:00 +0000
parents 27319718b1f8
children
rev   line source
Chris@1 1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
Chris@1 2 <html xmlns="http://www.w3.org/1999/xhtml">
Chris@1 3 <head>
Chris@1 4 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
Chris@3 5 <meta http-equiv="X-UA-Compatible" content="IE=9"/>
Chris@6 6 <meta name="generator" content="Doxygen 1.8.13"/>
Chris@6 7 <meta name="viewport" content="width=device-width, initial-scale=1"/>
Chris@1 8 <title>VampPluginSDK: Vamp::PluginAdapterBase Class Reference</title>
Chris@1 9 <link href="tabs.css" rel="stylesheet" type="text/css"/>
Chris@6 10 <script type="text/javascript" src="jquery.js"></script>
Chris@6 11 <script type="text/javascript" src="dynsections.js"></script>
Chris@1 12 <link href="navtree.css" rel="stylesheet" type="text/css"/>
Chris@1 13 <script type="text/javascript" src="resize.js"></script>
Chris@6 14 <script type="text/javascript" src="navtreedata.js"></script>
Chris@1 15 <script type="text/javascript" src="navtree.js"></script>
Chris@1 16 <script type="text/javascript">
Chris@1 17 $(document).ready(initResizable);
Chris@1 18 </script>
Chris@6 19 <link href="doxygen.css" rel="stylesheet" type="text/css" />
Chris@1 20 </head>
Chris@1 21 <body>
Chris@6 22 <div id="top"><!-- do not remove this div, it is closed by doxygen! -->
Chris@1 23 <div id="titlearea">
Chris@1 24 <table cellspacing="0" cellpadding="0">
Chris@1 25 <tbody>
Chris@1 26 <tr style="height: 56px;">
Chris@6 27 <td id="projectalign" style="padding-left: 0.5em;">
Chris@1 28 <div id="projectname">VampPluginSDK
Chris@6 29 &#160;<span id="projectnumber">2.7</span>
Chris@1 30 </div>
Chris@1 31 </td>
Chris@1 32 </tr>
Chris@1 33 </tbody>
Chris@1 34 </table>
Chris@1 35 </div>
Chris@6 36 <!-- end header part -->
Chris@6 37 <!-- Generated by Doxygen 1.8.13 -->
Chris@6 38 <script type="text/javascript" src="menudata.js"></script>
Chris@6 39 <script type="text/javascript" src="menu.js"></script>
Chris@6 40 <script type="text/javascript">
Chris@6 41 $(function() {
Chris@6 42 initMenu('',false,false,'search.php','Search');
Chris@6 43 });
Chris@6 44 </script>
Chris@6 45 <div id="main-nav"></div>
Chris@6 46 </div><!-- top -->
Chris@1 47 <div id="side-nav" class="ui-resizable side-nav-resizable">
Chris@1 48 <div id="nav-tree">
Chris@1 49 <div id="nav-tree-contents">
Chris@6 50 <div id="nav-sync" class="sync"></div>
Chris@1 51 </div>
Chris@1 52 </div>
Chris@1 53 <div id="splitbar" style="-moz-user-select:none;"
Chris@1 54 class="ui-resizable-handle">
Chris@1 55 </div>
Chris@1 56 </div>
Chris@1 57 <script type="text/javascript">
Chris@6 58 $(document).ready(function(){initNavTree('classVamp_1_1PluginAdapterBase.html','');});
Chris@1 59 </script>
Chris@1 60 <div id="doc-content">
Chris@1 61 <div class="header">
Chris@1 62 <div class="summary">
Chris@1 63 <a href="#pub-methods">Public Member Functions</a> &#124;
Chris@1 64 <a href="#pro-methods">Protected Member Functions</a> &#124;
Chris@6 65 <a href="#pro-attribs">Protected Attributes</a> &#124;
Chris@6 66 <a href="classVamp_1_1PluginAdapterBase-members.html">List of all members</a> </div>
Chris@1 67 <div class="headertitle">
Chris@6 68 <div class="title">Vamp::PluginAdapterBase Class Reference<span class="mlabels"><span class="mlabel">abstract</span></span></div> </div>
Chris@3 69 </div><!--header-->
Chris@1 70 <div class="contents">
Chris@3 71
Chris@1 72 <p><a class="el" href="classVamp_1_1PluginAdapter.html" title="PluginAdapter turns a PluginAdapterBase into a specific wrapper for a particular plugin implementatio...">PluginAdapter</a> and <a class="el" href="classVamp_1_1PluginAdapterBase.html" title="PluginAdapter and PluginAdapterBase provide a wrapper class that a plugin library can use to make its...">PluginAdapterBase</a> provide a wrapper class that a plugin library can use to make its C++ <a class="el" href="classVamp_1_1Plugin.html" title="Vamp::Plugin is a base class for plugin instance classes that provide feature extraction from audio o...">Vamp::Plugin</a> objects available through the <a class="el" href="namespaceVamp.html">Vamp</a> C API.
Chris@1 73 <a href="classVamp_1_1PluginAdapterBase.html#details">More...</a></p>
Chris@1 74
Chris@1 75 <p><code>#include &lt;<a class="el" href="PluginAdapter_8h_source.html">vamp-sdk/PluginAdapter.h</a>&gt;</code></p>
Chris@1 76 <div class="dynheader">
Chris@1 77 Inheritance diagram for Vamp::PluginAdapterBase:</div>
Chris@1 78 <div class="dyncontent">
Chris@1 79 <div class="center"><img src="classVamp_1_1PluginAdapterBase__inherit__graph.png" border="0" usemap="#Vamp_1_1PluginAdapterBase_inherit__map" alt="Inheritance graph"/></div>
Chris@1 80 <map name="Vamp_1_1PluginAdapterBase_inherit__map" id="Vamp_1_1PluginAdapterBase_inherit__map">
Chris@6 81 <area shape="rect" id="node2" href="classVamp_1_1PluginAdapter.html" title="PluginAdapter turns a PluginAdapterBase into a specific wrapper for a particular plugin implementatio..." alt="" coords="5,79,175,104"/>
Chris@6 82 </map>
Chris@1 83 <center><span class="legend">[<a target="top" href="graph_legend.html">legend</a>]</span></center></div>
Chris@1 84 <table class="memberdecls">
Chris@6 85 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Chris@1 86 Public Member Functions</h2></td></tr>
Chris@3 87 <tr class="memitem:aaa8afd318b6c3da108e1cbcc7e46603d"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1PluginAdapterBase.html#aaa8afd318b6c3da108e1cbcc7e46603d">~PluginAdapterBase</a> ()</td></tr>
Chris@6 88 <tr class="separator:aaa8afd318b6c3da108e1cbcc7e46603d"><td class="memSeparator" colspan="2">&#160;</td></tr>
Chris@3 89 <tr class="memitem:ad24595002512f9f00e8e45216d6f5dfb"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="vamp_8h.html#aa1d6e0792099b9516a89b5fb7ed2ad2b">VampPluginDescriptor</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1PluginAdapterBase.html#ad24595002512f9f00e8e45216d6f5dfb">getDescriptor</a> ()</td></tr>
Chris@6 90 <tr class="memdesc:ad24595002512f9f00e8e45216d6f5dfb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return a VampPluginDescriptor describing the plugin that is wrapped by this adapter. <a href="#ad24595002512f9f00e8e45216d6f5dfb">More...</a><br /></td></tr>
Chris@6 91 <tr class="separator:ad24595002512f9f00e8e45216d6f5dfb"><td class="memSeparator" colspan="2">&#160;</td></tr>
Chris@6 92 </table><table class="memberdecls">
Chris@6 93 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-methods"></a>
Chris@1 94 Protected Member Functions</h2></td></tr>
Chris@3 95 <tr class="memitem:a5dad6a9b4b170c0f284962e125ac988e"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1PluginAdapterBase.html#a5dad6a9b4b170c0f284962e125ac988e">PluginAdapterBase</a> ()</td></tr>
Chris@6 96 <tr class="separator:a5dad6a9b4b170c0f284962e125ac988e"><td class="memSeparator" colspan="2">&#160;</td></tr>
Chris@3 97 <tr class="memitem:a9116adb9b7a426f4f0ded15e45a5531b"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classVamp_1_1Plugin.html">Plugin</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1PluginAdapterBase.html#a9116adb9b7a426f4f0ded15e45a5531b">createPlugin</a> (float inputSampleRate)=0</td></tr>
Chris@6 98 <tr class="separator:a9116adb9b7a426f4f0ded15e45a5531b"><td class="memSeparator" colspan="2">&#160;</td></tr>
Chris@6 99 </table><table class="memberdecls">
Chris@6 100 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-attribs"></a>
Chris@1 101 Protected Attributes</h2></td></tr>
Chris@3 102 <tr class="memitem:a0e3594c54884efd5a7ef38030645745b"><td class="memItemLeft" align="right" valign="top">Impl *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1PluginAdapterBase.html#a0e3594c54884efd5a7ef38030645745b">m_impl</a></td></tr>
Chris@6 103 <tr class="separator:a0e3594c54884efd5a7ef38030645745b"><td class="memSeparator" colspan="2">&#160;</td></tr>
Chris@1 104 </table>
Chris@6 105 <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
Chris@1 106 <div class="textblock"><p><a class="el" href="classVamp_1_1PluginAdapter.html" title="PluginAdapter turns a PluginAdapterBase into a specific wrapper for a particular plugin implementatio...">PluginAdapter</a> and <a class="el" href="classVamp_1_1PluginAdapterBase.html" title="PluginAdapter and PluginAdapterBase provide a wrapper class that a plugin library can use to make its...">PluginAdapterBase</a> provide a wrapper class that a plugin library can use to make its C++ <a class="el" href="classVamp_1_1Plugin.html" title="Vamp::Plugin is a base class for plugin instance classes that provide feature extraction from audio o...">Vamp::Plugin</a> objects available through the <a class="el" href="namespaceVamp.html">Vamp</a> C API. </p>
Chris@6 107 <p>Almost all <a class="el" href="namespaceVamp.html">Vamp</a> plugin libraries will want to make use of this. To do so, all they need to do is declare a PluginAdapter&lt;T&gt; for each plugin class T in their library. It's very simple, and you need to know absolutely nothing about how it works in order to use it. Just cut and paste from an existing plugin's discovery function. </p><dl class="section see"><dt>See also</dt><dd><a class="el" href="plugins_8cpp.html#abb0fd6db76ddd39698bc370e0fd0ea78" title="Get the descriptor for a given plugin index in this library. ">vampGetPluginDescriptor</a> </dd></dl>
Chris@1 108
Chris@6 109 <p class="definition">Definition at line <a class="el" href="PluginAdapter_8h_source.html#l00065">65</a> of file <a class="el" href="PluginAdapter_8h_source.html">PluginAdapter.h</a>.</p>
Chris@6 110 </div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
Chris@6 111 <a id="aaa8afd318b6c3da108e1cbcc7e46603d"></a>
Chris@6 112 <h2 class="memtitle"><span class="permalink"><a href="#aaa8afd318b6c3da108e1cbcc7e46603d">&#9670;&nbsp;</a></span>~PluginAdapterBase()</h2>
Chris@6 113
Chris@1 114 <div class="memitem">
Chris@1 115 <div class="memproto">
Chris@6 116 <table class="mlabels">
Chris@6 117 <tr>
Chris@6 118 <td class="mlabels-left">
Chris@1 119 <table class="memname">
Chris@1 120 <tr>
Chris@6 121 <td class="memname">virtual Vamp::PluginAdapterBase::~PluginAdapterBase </td>
Chris@1 122 <td>(</td>
Chris@1 123 <td class="paramname"></td><td>)</td>
Chris@1 124 <td></td>
Chris@1 125 </tr>
Chris@1 126 </table>
Chris@6 127 </td>
Chris@6 128 <td class="mlabels-right">
Chris@6 129 <span class="mlabels"><span class="mlabel">virtual</span></span> </td>
Chris@6 130 </tr>
Chris@6 131 </table>
Chris@6 132 </div><div class="memdoc">
Chris@1 133
Chris@1 134 </div>
Chris@1 135 </div>
Chris@6 136 <a id="a5dad6a9b4b170c0f284962e125ac988e"></a>
Chris@6 137 <h2 class="memtitle"><span class="permalink"><a href="#a5dad6a9b4b170c0f284962e125ac988e">&#9670;&nbsp;</a></span>PluginAdapterBase()</h2>
Chris@6 138
Chris@6 139 <div class="memitem">
Chris@6 140 <div class="memproto">
Chris@6 141 <table class="mlabels">
Chris@6 142 <tr>
Chris@6 143 <td class="mlabels-left">
Chris@6 144 <table class="memname">
Chris@6 145 <tr>
Chris@6 146 <td class="memname">Vamp::PluginAdapterBase::PluginAdapterBase </td>
Chris@6 147 <td>(</td>
Chris@6 148 <td class="paramname"></td><td>)</td>
Chris@6 149 <td></td>
Chris@6 150 </tr>
Chris@6 151 </table>
Chris@6 152 </td>
Chris@6 153 <td class="mlabels-right">
Chris@6 154 <span class="mlabels"><span class="mlabel">protected</span></span> </td>
Chris@6 155 </tr>
Chris@6 156 </table>
Chris@6 157 </div><div class="memdoc">
Chris@6 158
Chris@6 159 </div>
Chris@6 160 </div>
Chris@6 161 <h2 class="groupheader">Member Function Documentation</h2>
Chris@6 162 <a id="ad24595002512f9f00e8e45216d6f5dfb"></a>
Chris@6 163 <h2 class="memtitle"><span class="permalink"><a href="#ad24595002512f9f00e8e45216d6f5dfb">&#9670;&nbsp;</a></span>getDescriptor()</h2>
Chris@6 164
Chris@1 165 <div class="memitem">
Chris@1 166 <div class="memproto">
Chris@1 167 <table class="memname">
Chris@1 168 <tr>
Chris@6 169 <td class="memname">const <a class="el" href="vamp_8h.html#aa1d6e0792099b9516a89b5fb7ed2ad2b">VampPluginDescriptor</a>* Vamp::PluginAdapterBase::getDescriptor </td>
Chris@6 170 <td>(</td>
Chris@6 171 <td class="paramname"></td><td>)</td>
Chris@6 172 <td></td>
Chris@6 173 </tr>
Chris@6 174 </table>
Chris@6 175 </div><div class="memdoc">
Chris@6 176
Chris@6 177 <p>Return a VampPluginDescriptor describing the plugin that is wrapped by this adapter. </p>
Chris@6 178
Chris@6 179 <p class="reference">Referenced by <a class="el" href="plugins_8cpp_source.html#l00054">vampGetPluginDescriptor()</a>.</p>
Chris@6 180
Chris@6 181 </div>
Chris@6 182 </div>
Chris@6 183 <a id="a9116adb9b7a426f4f0ded15e45a5531b"></a>
Chris@6 184 <h2 class="memtitle"><span class="permalink"><a href="#a9116adb9b7a426f4f0ded15e45a5531b">&#9670;&nbsp;</a></span>createPlugin()</h2>
Chris@6 185
Chris@6 186 <div class="memitem">
Chris@6 187 <div class="memproto">
Chris@6 188 <table class="mlabels">
Chris@6 189 <tr>
Chris@6 190 <td class="mlabels-left">
Chris@6 191 <table class="memname">
Chris@6 192 <tr>
Chris@6 193 <td class="memname">virtual <a class="el" href="classVamp_1_1Plugin.html">Plugin</a>* Vamp::PluginAdapterBase::createPlugin </td>
Chris@1 194 <td>(</td>
Chris@1 195 <td class="paramtype">float&#160;</td>
Chris@1 196 <td class="paramname"><em>inputSampleRate</em></td><td>)</td>
Chris@6 197 <td></td>
Chris@1 198 </tr>
Chris@1 199 </table>
Chris@6 200 </td>
Chris@6 201 <td class="mlabels-right">
Chris@6 202 <span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">pure virtual</span></span> </td>
Chris@6 203 </tr>
Chris@6 204 </table>
Chris@6 205 </div><div class="memdoc">
Chris@1 206
Chris@1 207 <p>Implemented in <a class="el" href="classVamp_1_1PluginAdapter.html#a3f387e7e37409e00d32477903b5b13d3">Vamp::PluginAdapter&lt; P &gt;</a>.</p>
Chris@1 208
Chris@1 209 </div>
Chris@1 210 </div>
Chris@6 211 <h2 class="groupheader">Member Data Documentation</h2>
Chris@6 212 <a id="a0e3594c54884efd5a7ef38030645745b"></a>
Chris@6 213 <h2 class="memtitle"><span class="permalink"><a href="#a0e3594c54884efd5a7ef38030645745b">&#9670;&nbsp;</a></span>m_impl</h2>
Chris@6 214
Chris@1 215 <div class="memitem">
Chris@1 216 <div class="memproto">
Chris@6 217 <table class="mlabels">
Chris@6 218 <tr>
Chris@6 219 <td class="mlabels-left">
Chris@1 220 <table class="memname">
Chris@1 221 <tr>
Chris@6 222 <td class="memname">Impl* Vamp::PluginAdapterBase::m_impl</td>
Chris@1 223 </tr>
Chris@1 224 </table>
Chris@6 225 </td>
Chris@6 226 <td class="mlabels-right">
Chris@6 227 <span class="mlabels"><span class="mlabel">protected</span></span> </td>
Chris@6 228 </tr>
Chris@6 229 </table>
Chris@6 230 </div><div class="memdoc">
Chris@1 231
Chris@6 232 <p class="definition">Definition at line <a class="el" href="PluginAdapter_8h_source.html#l00081">81</a> of file <a class="el" href="PluginAdapter_8h_source.html">PluginAdapter.h</a>.</p>
Chris@1 233
Chris@1 234 </div>
Chris@1 235 </div>
Chris@1 236 <hr/>The documentation for this class was generated from the following file:<ul>
Chris@1 237 <li><a class="el" href="PluginAdapter_8h_source.html">PluginAdapter.h</a></li>
Chris@1 238 </ul>
Chris@3 239 </div><!-- contents -->
Chris@6 240 </div><!-- doc-content -->
Chris@6 241 <!-- start footer part -->
Chris@6 242 <div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
Chris@6 243 <ul>
Chris@6 244 <li class="navelem"><a class="el" href="namespaceVamp.html">Vamp</a></li><li class="navelem"><a class="el" href="classVamp_1_1PluginAdapterBase.html">PluginAdapterBase</a></li>
Chris@6 245 <li class="footer">Generated by
Chris@6 246 <a href="http://www.doxygen.org/index.html">
Chris@6 247 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
Chris@6 248 </ul>
Chris@1 249 </div>
Chris@1 250 </body>
Chris@1 251 </html>