view code-doc/classVamp_1_1PluginAdapterBase.html @ 0:351c4ebce5f9 website

* Move website from vamp-website/trunk to plain website
author cannam
date Mon, 22 Sep 2008 13:01:46 +0000
parents
children cc0be37dc9d3
line wrap: on
line source
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
<title>VampPluginSDK: Vamp::PluginAdapterBase Class Reference</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.5.5 -->
<div class="navigation" id="top">
  <div class="tabs">
    <ul>
      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
      <li><a href="namespaces.html"><span>Namespaces</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><a href="dirs.html"><span>Directories</span></a></li>
    </ul>
  </div>
  <div class="tabs">
    <ul>
      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
    </ul>
  </div>
  <div class="navpath"><a class="el" href="namespaceVamp.html">Vamp</a>::<a class="el" href="classVamp_1_1PluginAdapterBase.html">PluginAdapterBase</a>
  </div>
</div>
<div class="contents">
<h1>Vamp::PluginAdapterBase Class Reference</h1><!-- doxytag: class="Vamp::PluginAdapterBase" --><code>#include &lt;<a class="el" href="PluginAdapter_8h-source.html">vamp-sdk/PluginAdapter.h</a>&gt;</code>
<p>
<div class="dynheader">
Inheritance diagram for Vamp::PluginAdapterBase:</div>
<div class="dynsection">
<p><center><img src="classVamp_1_1PluginAdapterBase__inherit__graph.png" border="0" usemap="#Vamp_1_1PluginAdapterBase__inherit__map" alt="Inheritance graph"></center>
<map name="Vamp_1_1PluginAdapterBase__inherit__map">
<area shape="rect" href="classVamp_1_1PluginAdapter.html" title="PluginAdapter turns a PluginAdapterBase into a specific wrapper for a particular..." alt="" coords="5,81,181,105"></map>
<center><font size="2">[<a target="top" href="graph_legend.html">legend</a>]</font></center></div>

<p>
<a href="classVamp_1_1PluginAdapterBase-members.html">List of all members.</a><hr><a name="_details"></a><h2>Detailed Description</h2>
<a class="el" href="classVamp_1_1PluginAdapter.html" title="PluginAdapter turns a PluginAdapterBase into a specific wrapper for a particular...">PluginAdapter</a> and <a class="el" href="classVamp_1_1PluginAdapterBase.html" title="PluginAdapter and PluginAdapterBase provide a wrapper class that a plugin library...">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...">Vamp::Plugin</a> objects available through the <a class="el" href="namespaceVamp.html" title="If you want to compile using FFTW instead of the built-in FFT implementation for...">Vamp</a> C API. 
<p>
Almost all <a class="el" href="namespaceVamp.html" title="If you want to compile using FFTW instead of the built-in FFT implementation for...">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. <dl class="see" compact><dt><b>See also:</b></dt><dd><a class="el" href="plugins_8cpp.html#bb0fd6db76ddd39698bc370e0fd0ea78" title="Get the descriptor for a given plugin index in this library.">vampGetPluginDescriptor</a> </dd></dl>

<p>Definition at line <a class="el" href="PluginAdapter_8h-source.html#l00063">63</a> of file <a class="el" href="PluginAdapter_8h-source.html">PluginAdapter.h</a>.</p>
<table border="0" cellpadding="0" cellspacing="0">
<tr><td></td></tr>
<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1PluginAdapterBase.html#e39492abdca4b588a582962fdeab819d">~PluginAdapterBase</a> ()</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">const <a class="el" href="struct__VampPluginDescriptor.html">VampPluginDescriptor</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1PluginAdapterBase.html#7ff5c9374a8dc43f977c3707d1da45b5">getDescriptor</a> ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return a VampPluginDescriptor describing the plugin that is wrapped by this adapter.  <a href="#7ff5c9374a8dc43f977c3707d1da45b5"></a><br></td></tr>
<tr><td colspan="2"><br><h2>Protected Member Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1PluginAdapterBase.html#5dad6a9b4b170c0f284962e125ac988e">PluginAdapterBase</a> ()</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="classVamp_1_1Plugin.html">Plugin</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1PluginAdapterBase.html#9116adb9b7a426f4f0ded15e45a5531b">createPlugin</a> (float inputSampleRate)=0</td></tr>

<tr><td colspan="2"><br><h2>Protected Attributes</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classVamp_1_1PluginAdapterBase_1_1Impl.html">Impl</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1PluginAdapterBase.html#0e3594c54884efd5a7ef38030645745b">m_impl</a></td></tr>

<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1PluginAdapterBase_1_1Impl.html">Impl</a></td></tr>

</table>
<hr><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" name="e39492abdca4b588a582962fdeab819d"></a><!-- doxytag: member="Vamp::PluginAdapterBase::~PluginAdapterBase" ref="e39492abdca4b588a582962fdeab819d" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">Vamp::PluginAdapterBase::~PluginAdapterBase           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

<p>Definition at line <a class="el" href="PluginAdapter_8cpp-source.html#l00132">132</a> of file <a class="el" href="PluginAdapter_8cpp-source.html">PluginAdapter.cpp</a>.</p>

<p>References <a class="el" href="PluginAdapter_8h-source.html#l00079">m_impl</a>.</p>

</div>
</div><p>
<a class="anchor" name="5dad6a9b4b170c0f284962e125ac988e"></a><!-- doxytag: member="Vamp::PluginAdapterBase::PluginAdapterBase" ref="5dad6a9b4b170c0f284962e125ac988e" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">Vamp::PluginAdapterBase::PluginAdapterBase           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

<p>Definition at line <a class="el" href="PluginAdapter_8cpp-source.html#l00127">127</a> of file <a class="el" href="PluginAdapter_8cpp-source.html">PluginAdapter.cpp</a>.</p>

<p>References <a class="el" href="PluginAdapter_8h-source.html#l00079">m_impl</a>.</p>

</div>
</div><p>
<hr><h2>Member Function Documentation</h2>
<a class="anchor" name="7ff5c9374a8dc43f977c3707d1da45b5"></a><!-- doxytag: member="Vamp::PluginAdapterBase::getDescriptor" ref="7ff5c9374a8dc43f977c3707d1da45b5" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const <a class="el" href="struct__VampPluginDescriptor.html">VampPluginDescriptor</a> * Vamp::PluginAdapterBase::getDescriptor           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Return a VampPluginDescriptor describing the plugin that is wrapped by this adapter. 
<p>

<p>Definition at line <a class="el" href="PluginAdapter_8cpp-source.html#l00138">138</a> of file <a class="el" href="PluginAdapter_8cpp-source.html">PluginAdapter.cpp</a>.</p>

<p>References <a class="el" href="PluginAdapter_8cpp-source.html#l00153">Vamp::PluginAdapterBase::Impl::getDescriptor()</a>, and <a class="el" href="PluginAdapter_8h-source.html#l00079">m_impl</a>.</p>

<p>Referenced by <a class="el" href="plugins_8cpp-source.html#l00050">vampGetPluginDescriptor()</a>.</p>

</div>
</div><p>
<a class="anchor" name="9116adb9b7a426f4f0ded15e45a5531b"></a><!-- doxytag: member="Vamp::PluginAdapterBase::createPlugin" ref="9116adb9b7a426f4f0ded15e45a5531b" args="(float inputSampleRate)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classVamp_1_1Plugin.html">Plugin</a>* Vamp::PluginAdapterBase::createPlugin           </td>
          <td>(</td>
          <td class="paramtype">float&nbsp;</td>
          <td class="paramname"> <em>inputSampleRate</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [protected, pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

<p>Implemented in <a class="el" href="classVamp_1_1PluginAdapter.html#3f387e7e37409e00d32477903b5b13d3">Vamp::PluginAdapter&lt; P &gt;</a>.</p>

<p>Referenced by <a class="el" href="PluginAdapter_8cpp-source.html#l00153">Vamp::PluginAdapterBase::Impl::getDescriptor()</a>, and <a class="el" href="PluginAdapter_8cpp-source.html#l00317">Vamp::PluginAdapterBase::Impl::vampInstantiate()</a>.</p>

</div>
</div><p>
<hr><h2>Member Data Documentation</h2>
<a class="anchor" name="0e3594c54884efd5a7ef38030645745b"></a><!-- doxytag: member="Vamp::PluginAdapterBase::m_impl" ref="0e3594c54884efd5a7ef38030645745b" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classVamp_1_1PluginAdapterBase_1_1Impl.html">Impl</a>* <a class="el" href="classVamp_1_1PluginAdapterBase.html#0e3594c54884efd5a7ef38030645745b">Vamp::PluginAdapterBase::m_impl</a><code> [protected]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

<p>Definition at line <a class="el" href="PluginAdapter_8h-source.html#l00079">79</a> of file <a class="el" href="PluginAdapter_8h-source.html">PluginAdapter.h</a>.</p>

<p>Referenced by <a class="el" href="PluginAdapter_8cpp-source.html#l00138">getDescriptor()</a>, <a class="el" href="PluginAdapter_8cpp-source.html#l00127">PluginAdapterBase()</a>, and <a class="el" href="PluginAdapter_8cpp-source.html#l00132">~PluginAdapterBase()</a>.</p>

</div>
</div><p>
<hr>The documentation for this class was generated from the following files:<ul>
<li><a class="el" href="PluginAdapter_8h-source.html">PluginAdapter.h</a><li><a class="el" href="PluginAdapter_8cpp-source.html">PluginAdapter.cpp</a></ul>
</div>
<hr size="1"><address style="text-align: right;"><small>Generated on Wed Jul 9 11:36:09 2008 for VampPluginSDK by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
</body>
</html>