view code-docs/classVamp_1_1PluginBase.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
line wrap: on
line source
<!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.13"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>VampPluginSDK: Vamp::PluginBase 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="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
  $(document).ready(initResizable);
</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 id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">VampPluginSDK
   &#160;<span id="projectnumber">2.7</span>
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.13 -->
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
$(function() {
  initMenu('',false,false,'search.php','Search');
});
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('classVamp_1_1PluginBase.html','');});
</script>
<div id="doc-content">
<div class="header">
  <div class="summary">
<a href="#nested-classes">Classes</a> &#124;
<a href="#pub-types">Public Types</a> &#124;
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="classVamp_1_1PluginBase-members.html">List of all members</a>  </div>
  <div class="headertitle">
<div class="title">Vamp::PluginBase Class Reference<span class="mlabels"><span class="mlabel">abstract</span></span></div>  </div>
</div><!--header-->
<div class="contents">

<p>A base class for plugins with optional configurable parameters, programs, etc.  
 <a href="classVamp_1_1PluginBase.html#details">More...</a></p>

<p><code>#include &lt;<a class="el" href="vamp-sdk_2PluginBase_8h_source.html">PluginBase.h</a>&gt;</code></p>
<div class="dynheader">
Inheritance diagram for Vamp::PluginBase:</div>
<div class="dyncontent">
<div class="center"><img src="classVamp_1_1PluginBase__inherit__graph.png" border="0" usemap="#Vamp_1_1PluginBase_inherit__map" alt="Inheritance graph"/></div>
<map name="Vamp_1_1PluginBase_inherit__map" id="Vamp_1_1PluginBase_inherit__map">
<area shape="rect" id="node2" href="classVamp_1_1Plugin.html" title="Vamp::Plugin is a base class for plugin instance classes that provide feature extraction from audio o..." alt="" coords="176,179,271,204"/>
<area shape="rect" id="node3" href="classAmplitudeFollower.html" title="Example plugin implementing the SuperCollider amplitude follower function. " alt="" coords="352,5,476,31"/>
<area shape="rect" id="node4" href="classFixedTempoEstimator.html" title="Example plugin that estimates the tempo of a short fixed&#45;tempo sample. " alt="" coords="344,55,484,80"/>
<area shape="rect" id="node5" href="classPercussionOnsetDetector.html" title="Example plugin that detects percussive events. " alt="" coords="333,104,495,129"/>
<area shape="rect" id="node6" href="classPowerSpectrum.html" title="Example plugin that returns a power spectrum calculated (trivially) from the frequency domain represe..." alt="" coords="359,153,469,179"/>
<area shape="rect" id="node7" href="classSpectralCentroid.html" title="Example plugin that calculates the centre of gravity of the frequency domain representation of each b..." alt="" coords="357,203,471,228"/>
<area shape="rect" id="node8" href="classVamp_1_1HostExt_1_1PluginWrapper.html" title="PluginWrapper is a simple base class for adapter plugins. " alt="" coords="319,252,509,277"/>
<area shape="rect" id="node13" href="classVamp_1_1PluginHostAdapter.html" title="PluginHostAdapter is a wrapper class that a Vamp host can use to make the C&#45;language VampPluginDescri..." alt="" coords="333,301,495,327"/>
<area shape="rect" id="node14" href="classZeroCrossing.html" title="Example plugin that calculates the positions and density of zero&#45;crossing points in an audio waveform..." alt="" coords="367,351,461,376"/>
<area shape="rect" id="node9" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html" title="PluginBufferingAdapter is a Vamp plugin adapter that allows plugins to be used by a host supplying an..." alt="" coords="569,152,764,191"/>
<area shape="rect" id="node10" href="classVamp_1_1HostExt_1_1PluginChannelAdapter.html" title="PluginChannelAdapter is a Vamp plugin adapter that implements a policy for management of plugins that..." alt="" coords="571,215,762,253"/>
<area shape="rect" id="node11" href="classVamp_1_1HostExt_1_1PluginInputDomainAdapter.html" title="PluginInputDomainAdapter is a Vamp plugin adapter that converts time&#45;domain input into frequency&#45;doma..." alt="" coords="580,277,753,316"/>
<area shape="rect" id="node12" href="classVamp_1_1HostExt_1_1PluginSummarisingAdapter.html" title="PluginSummarisingAdapter is a Vamp plugin adapter that provides summarisation methods such as mean an..." alt="" coords="557,340,776,379"/>
</map>
<center><span class="legend">[<a target="top" href="graph_legend.html">legend</a>]</span></center></div>
<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="structVamp_1_1PluginBase_1_1ParameterDescriptor.html">ParameterDescriptor</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
Public Types</h2></td></tr>
<tr class="memitem:a3b6bb4bbd86affe1ca9deceea1aad4f8"><td class="memItemLeft" align="right" valign="top">typedef std::vector&lt; <a class="el" href="structVamp_1_1PluginBase_1_1ParameterDescriptor.html">ParameterDescriptor</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1PluginBase.html#a3b6bb4bbd86affe1ca9deceea1aad4f8">ParameterList</a></td></tr>
<tr class="separator:a3b6bb4bbd86affe1ca9deceea1aad4f8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7f66f00437b21e5f694fe02356b12f20"><td class="memItemLeft" align="right" valign="top">typedef std::vector&lt; std::string &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1PluginBase.html#a7f66f00437b21e5f694fe02356b12f20">ProgramList</a></td></tr>
<tr class="separator:a7f66f00437b21e5f694fe02356b12f20"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><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:a3773b37c658cf22d7f135c575a28f5c5"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1PluginBase.html#a3773b37c658cf22d7f135c575a28f5c5">~PluginBase</a> ()</td></tr>
<tr class="separator:a3773b37c658cf22d7f135c575a28f5c5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab4aa9c3e6f6dd9addbc095463c9fb772"><td class="memItemLeft" align="right" valign="top">virtual unsigned int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1PluginBase.html#ab4aa9c3e6f6dd9addbc095463c9fb772">getVampApiVersion</a> () const</td></tr>
<tr class="memdesc:ab4aa9c3e6f6dd9addbc095463c9fb772"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the <a class="el" href="namespaceVamp.html">Vamp</a> API compatibility level of the plugin.  <a href="#ab4aa9c3e6f6dd9addbc095463c9fb772">More...</a><br /></td></tr>
<tr class="separator:ab4aa9c3e6f6dd9addbc095463c9fb772"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad1c6dfc77aa03d937a885b7f08258f4a"><td class="memItemLeft" align="right" valign="top">virtual std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1PluginBase.html#ad1c6dfc77aa03d937a885b7f08258f4a">getIdentifier</a> () const =0</td></tr>
<tr class="memdesc:ad1c6dfc77aa03d937a885b7f08258f4a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the computer-usable name of the plugin.  <a href="#ad1c6dfc77aa03d937a885b7f08258f4a">More...</a><br /></td></tr>
<tr class="separator:ad1c6dfc77aa03d937a885b7f08258f4a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a18619d5097e444ecefee0c359da53232"><td class="memItemLeft" align="right" valign="top">virtual std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1PluginBase.html#a18619d5097e444ecefee0c359da53232">getName</a> () const =0</td></tr>
<tr class="memdesc:a18619d5097e444ecefee0c359da53232"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get a human-readable name or title of the plugin.  <a href="#a18619d5097e444ecefee0c359da53232">More...</a><br /></td></tr>
<tr class="separator:a18619d5097e444ecefee0c359da53232"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a59153a02364f75fff46973b2072e9e5a"><td class="memItemLeft" align="right" valign="top">virtual std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1PluginBase.html#a59153a02364f75fff46973b2072e9e5a">getDescription</a> () const =0</td></tr>
<tr class="memdesc:a59153a02364f75fff46973b2072e9e5a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get a human-readable description for the plugin, typically a line of text that may optionally be displayed in addition to the plugin's "name".  <a href="#a59153a02364f75fff46973b2072e9e5a">More...</a><br /></td></tr>
<tr class="separator:a59153a02364f75fff46973b2072e9e5a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a53d9918bf9ef4d12feedf66b2b26c637"><td class="memItemLeft" align="right" valign="top">virtual std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1PluginBase.html#a53d9918bf9ef4d12feedf66b2b26c637">getMaker</a> () const =0</td></tr>
<tr class="memdesc:a53d9918bf9ef4d12feedf66b2b26c637"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the name of the author or vendor of the plugin in human-readable form.  <a href="#a53d9918bf9ef4d12feedf66b2b26c637">More...</a><br /></td></tr>
<tr class="separator:a53d9918bf9ef4d12feedf66b2b26c637"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab7e9dedbe965f5ab9018b72920fe7661"><td class="memItemLeft" align="right" valign="top">virtual std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1PluginBase.html#ab7e9dedbe965f5ab9018b72920fe7661">getCopyright</a> () const =0</td></tr>
<tr class="memdesc:ab7e9dedbe965f5ab9018b72920fe7661"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the copyright statement or licensing summary for the plugin.  <a href="#ab7e9dedbe965f5ab9018b72920fe7661">More...</a><br /></td></tr>
<tr class="separator:ab7e9dedbe965f5ab9018b72920fe7661"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a63f686d77bc3d6b807e7944cdde83151"><td class="memItemLeft" align="right" valign="top">virtual int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1PluginBase.html#a63f686d77bc3d6b807e7944cdde83151">getPluginVersion</a> () const =0</td></tr>
<tr class="memdesc:a63f686d77bc3d6b807e7944cdde83151"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the version number of the plugin.  <a href="#a63f686d77bc3d6b807e7944cdde83151">More...</a><br /></td></tr>
<tr class="separator:a63f686d77bc3d6b807e7944cdde83151"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0c24ff6a43c681198dc9497287a26e3a"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classVamp_1_1PluginBase.html#a3b6bb4bbd86affe1ca9deceea1aad4f8">ParameterList</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1PluginBase.html#a0c24ff6a43c681198dc9497287a26e3a">getParameterDescriptors</a> () const</td></tr>
<tr class="memdesc:a0c24ff6a43c681198dc9497287a26e3a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the controllable parameters of this plugin.  <a href="#a0c24ff6a43c681198dc9497287a26e3a">More...</a><br /></td></tr>
<tr class="separator:a0c24ff6a43c681198dc9497287a26e3a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa813d61077080ec95487d2a0227cc51b"><td class="memItemLeft" align="right" valign="top">virtual float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1PluginBase.html#aa813d61077080ec95487d2a0227cc51b">getParameter</a> (std::string) const</td></tr>
<tr class="memdesc:aa813d61077080ec95487d2a0227cc51b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the value of a named parameter.  <a href="#aa813d61077080ec95487d2a0227cc51b">More...</a><br /></td></tr>
<tr class="separator:aa813d61077080ec95487d2a0227cc51b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6c718ce822f7b73b98940d59dcaa9366"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1PluginBase.html#a6c718ce822f7b73b98940d59dcaa9366">setParameter</a> (std::string, float)</td></tr>
<tr class="memdesc:a6c718ce822f7b73b98940d59dcaa9366"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set a named parameter.  <a href="#a6c718ce822f7b73b98940d59dcaa9366">More...</a><br /></td></tr>
<tr class="separator:a6c718ce822f7b73b98940d59dcaa9366"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aaf6febff0ab4daf4a5089c98a67f4df8"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classVamp_1_1PluginBase.html#a7f66f00437b21e5f694fe02356b12f20">ProgramList</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1PluginBase.html#aaf6febff0ab4daf4a5089c98a67f4df8">getPrograms</a> () const</td></tr>
<tr class="memdesc:aaf6febff0ab4daf4a5089c98a67f4df8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the program settings available in this plugin.  <a href="#aaf6febff0ab4daf4a5089c98a67f4df8">More...</a><br /></td></tr>
<tr class="separator:aaf6febff0ab4daf4a5089c98a67f4df8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aac38c5dc6e87208616122897518ca3d5"><td class="memItemLeft" align="right" valign="top">virtual std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1PluginBase.html#aac38c5dc6e87208616122897518ca3d5">getCurrentProgram</a> () const</td></tr>
<tr class="memdesc:aac38c5dc6e87208616122897518ca3d5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the current program.  <a href="#aac38c5dc6e87208616122897518ca3d5">More...</a><br /></td></tr>
<tr class="separator:aac38c5dc6e87208616122897518ca3d5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aadd3a547ef140bae200473a9518e3353"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1PluginBase.html#aadd3a547ef140bae200473a9518e3353">selectProgram</a> (std::string)</td></tr>
<tr class="memdesc:aadd3a547ef140bae200473a9518e3353"><td class="mdescLeft">&#160;</td><td class="mdescRight">Select a program.  <a href="#aadd3a547ef140bae200473a9518e3353">More...</a><br /></td></tr>
<tr class="separator:aadd3a547ef140bae200473a9518e3353"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2da03e9ced8dc7e4382205e6dc05dbff"><td class="memItemLeft" align="right" valign="top">virtual std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVamp_1_1PluginBase.html#a2da03e9ced8dc7e4382205e6dc05dbff">getType</a> () const =0</td></tr>
<tr class="memdesc:a2da03e9ced8dc7e4382205e6dc05dbff"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the type of plugin.  <a href="#a2da03e9ced8dc7e4382205e6dc05dbff">More...</a><br /></td></tr>
<tr class="separator:a2da03e9ced8dc7e4382205e6dc05dbff"><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>A base class for plugins with optional configurable parameters, programs, etc. </p>
<p>The <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> is derived from this, and individual <a class="el" href="namespaceVamp.html">Vamp</a> plugins should derive from that.</p>
<p>This class does not provide the necessary interfaces to instantiate or run a plugin. It only specifies an interface for retrieving those controls that the host may wish to show to the user for editing. It could meaningfully be subclassed by real-time plugins or other sorts of plugin as well as <a class="el" href="namespaceVamp.html">Vamp</a> plugins. </p>

<p class="definition">Definition at line <a class="el" href="vamp-sdk_2PluginBase_8h_source.html#l00060">60</a> of file <a class="el" href="vamp-sdk_2PluginBase_8h_source.html">vamp-sdk/PluginBase.h</a>.</p>
</div><h2 class="groupheader">Member Typedef Documentation</h2>
<a id="a3b6bb4bbd86affe1ca9deceea1aad4f8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3b6bb4bbd86affe1ca9deceea1aad4f8">&#9670;&nbsp;</a></span>ParameterList</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef std::vector&lt;<a class="el" href="structVamp_1_1PluginBase_1_1ParameterDescriptor.html">ParameterDescriptor</a>&gt; <a class="el" href="classVamp_1_1PluginBase.html#a3b6bb4bbd86affe1ca9deceea1aad4f8">Vamp::PluginBase::ParameterList</a></td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="vamp-sdk_2PluginBase_8h_source.html#l00203">203</a> of file <a class="el" href="vamp-sdk_2PluginBase_8h_source.html">vamp-sdk/PluginBase.h</a>.</p>

</div>
</div>
<a id="a7f66f00437b21e5f694fe02356b12f20"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7f66f00437b21e5f694fe02356b12f20">&#9670;&nbsp;</a></span>ProgramList</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef std::vector&lt;std::string&gt; <a class="el" href="classVamp_1_1PluginBase.html#a7f66f00437b21e5f694fe02356b12f20">Vamp::PluginBase::ProgramList</a></td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="vamp-sdk_2PluginBase_8h_source.html#l00225">225</a> of file <a class="el" href="vamp-sdk_2PluginBase_8h_source.html">vamp-sdk/PluginBase.h</a>.</p>

</div>
</div>
<h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a id="a3773b37c658cf22d7f135c575a28f5c5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3773b37c658cf22d7f135c575a28f5c5">&#9670;&nbsp;</a></span>~PluginBase()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual Vamp::PluginBase::~PluginBase </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">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="vamp-sdk_2PluginBase_8h_source.html#l00063">63</a> of file <a class="el" href="vamp-sdk_2PluginBase_8h_source.html">vamp-sdk/PluginBase.h</a>.</p>

</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a id="ab4aa9c3e6f6dd9addbc095463c9fb772"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab4aa9c3e6f6dd9addbc095463c9fb772">&#9670;&nbsp;</a></span>getVampApiVersion()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual unsigned int Vamp::PluginBase::getVampApiVersion </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">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Get the <a class="el" href="namespaceVamp.html">Vamp</a> API compatibility level of the plugin. </p>

<p>Reimplemented in <a class="el" href="classVamp_1_1PluginHostAdapter.html#adc708325d057516bd92d5ea1c0808dbc">Vamp::PluginHostAdapter</a>, and <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#afa79272f991fb720ddd09784be1b3cb8">Vamp::HostExt::PluginWrapper</a>.</p>

<p class="definition">Definition at line <a class="el" href="vamp-sdk_2PluginBase_8h_source.html#l00068">68</a> of file <a class="el" href="vamp-sdk_2PluginBase_8h_source.html">vamp-sdk/PluginBase.h</a>.</p>

<p class="reference">Referenced by <a class="el" href="vamp-simple-host_8cpp_source.html#l00609">enumeratePlugins()</a>.</p>

</div>
</div>
<a id="ad1c6dfc77aa03d937a885b7f08258f4a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad1c6dfc77aa03d937a885b7f08258f4a">&#9670;&nbsp;</a></span>getIdentifier()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual std::string Vamp::PluginBase::getIdentifier </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">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Get the computer-usable name of the plugin. </p>
<p>This should be reasonably short and contain no whitespace or punctuation characters. It may only contain the characters [a-zA-Z0-9_-]. This is the authoritative way for a program to identify a plugin within a given library.</p>
<p>This text may be visible to the user, but it should not be the main text used to identify a plugin to the user (that will be the name, below).</p>
<p>Example: "zero_crossings" </p>

<p>Implemented in <a class="el" href="classVamp_1_1PluginHostAdapter.html#a68749b61d8a4e322d7ce6662347817ca">Vamp::PluginHostAdapter</a>, <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#ad9312a38c199004c7bad0c42f590393f">Vamp::HostExt::PluginWrapper</a>, <a class="el" href="classPowerSpectrum.html#a885e87df9fbb4e6cb2fff69116122326">PowerSpectrum</a>, <a class="el" href="classAmplitudeFollower.html#ad77b59b8e8bc0f415edab073f2e5edef">AmplitudeFollower</a>, <a class="el" href="classSpectralCentroid.html#a4992d03772a228015ee2f8174f1bf06e">SpectralCentroid</a>, <a class="el" href="classZeroCrossing.html#af5049a01a3f003f17a45c61b599c6543">ZeroCrossing</a>, <a class="el" href="classFixedTempoEstimator.html#a149f40bbccc3cf3bc05f35e32e6cedac">FixedTempoEstimator</a>, and <a class="el" href="classPercussionOnsetDetector.html#ac1bb968a3632083e55e4d236310b9cdb">PercussionOnsetDetector</a>.</p>

<p class="reference">Referenced by <a class="el" href="vamp-simple-host_8cpp_source.html#l00609">enumeratePlugins()</a>, and <a class="el" href="vamp-simple-host_8cpp_source.html#l00268">runPlugin()</a>.</p>

</div>
</div>
<a id="a18619d5097e444ecefee0c359da53232"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a18619d5097e444ecefee0c359da53232">&#9670;&nbsp;</a></span>getName()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual std::string Vamp::PluginBase::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">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Get a human-readable name or title of the plugin. </p>
<p>This should be brief and self-contained, as it may be used to identify the plugin to the user in isolation (i.e. without also showing the plugin's "identifier").</p>
<p>Example: "Zero Crossings" </p>

<p>Implemented in <a class="el" href="classVamp_1_1PluginHostAdapter.html#a6276b0838a3a9ac155d295cae0e7bb67">Vamp::PluginHostAdapter</a>, <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#aa2b40de6e240d872997a63dd4a301ff3">Vamp::HostExt::PluginWrapper</a>, <a class="el" href="classPowerSpectrum.html#a8f3d7d654e6aad23f307ef46dd9e70cb">PowerSpectrum</a>, <a class="el" href="classAmplitudeFollower.html#a4a4ea5c0b2e30b420646aa78571176c2">AmplitudeFollower</a>, <a class="el" href="classSpectralCentroid.html#aa6236ae7400468b8d23d57f8bbb917a9">SpectralCentroid</a>, <a class="el" href="classZeroCrossing.html#a191365f793e6488d02d57029eb14deb2">ZeroCrossing</a>, <a class="el" href="classFixedTempoEstimator.html#aad3f044387fb8fd4dbadca8f397dd798">FixedTempoEstimator</a>, and <a class="el" href="classPercussionOnsetDetector.html#a9b8532bfd1a6053682db3ce15b1890da">PercussionOnsetDetector</a>.</p>

<p class="reference">Referenced by <a class="el" href="vamp-simple-host_8cpp_source.html#l00609">enumeratePlugins()</a>, and <a class="el" href="vamp-simple-host_8cpp_source.html#l00828">printPluginCategoryList()</a>.</p>

</div>
</div>
<a id="a59153a02364f75fff46973b2072e9e5a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a59153a02364f75fff46973b2072e9e5a">&#9670;&nbsp;</a></span>getDescription()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual std::string Vamp::PluginBase::getDescription </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">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Get a human-readable description for the plugin, typically a line of text that may optionally be displayed in addition to the plugin's "name". </p>
<p>May be empty if the name has said it all already.</p>
<p>Example: "Detect and count zero crossing points" </p>

<p>Implemented in <a class="el" href="classVamp_1_1PluginHostAdapter.html#aae795d71594901243de8cda96d871fc8">Vamp::PluginHostAdapter</a>, <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#ad6e453c30b265a2daf243f953b35c815">Vamp::HostExt::PluginWrapper</a>, <a class="el" href="classPowerSpectrum.html#a0740aaee10568b4e21903ccd5a764e2a">PowerSpectrum</a>, <a class="el" href="classAmplitudeFollower.html#aad780ea62291ef94925d6f4d1cc3f4ac">AmplitudeFollower</a>, <a class="el" href="classSpectralCentroid.html#ac4a840f9b3c92e0acbcc7d262e841b59">SpectralCentroid</a>, <a class="el" href="classZeroCrossing.html#a7ba1cfd102a427f8333ddfa2fe234d58">ZeroCrossing</a>, <a class="el" href="classFixedTempoEstimator.html#a4e48cbf0eedb001c0824db864ee4d942">FixedTempoEstimator</a>, and <a class="el" href="classPercussionOnsetDetector.html#a4ea74f76e302c53ced7508bc8388487b">PercussionOnsetDetector</a>.</p>

<p class="reference">Referenced by <a class="el" href="vamp-simple-host_8cpp_source.html#l00609">enumeratePlugins()</a>, and <a class="el" href="vamp-simple-host_8cpp_source.html#l00828">printPluginCategoryList()</a>.</p>

</div>
</div>
<a id="a53d9918bf9ef4d12feedf66b2b26c637"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a53d9918bf9ef4d12feedf66b2b26c637">&#9670;&nbsp;</a></span>getMaker()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual std::string Vamp::PluginBase::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">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Get the name of the author or vendor of the plugin in human-readable form. </p>
<p>This should be a short identifying text, as it may be used to label plugins from the same source in a menu or similar. </p>

<p>Implemented in <a class="el" href="classVamp_1_1PluginHostAdapter.html#ac906c3a0eef77f545fb4dad2456ee2b4">Vamp::PluginHostAdapter</a>, <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#af9b2f01063828ef0745dc2623fc8dd42">Vamp::HostExt::PluginWrapper</a>, <a class="el" href="classPowerSpectrum.html#a55764eb41af953c36339c4cade238be2">PowerSpectrum</a>, <a class="el" href="classAmplitudeFollower.html#ac7a9db3ec7daa0e9bd83106bbf641777">AmplitudeFollower</a>, <a class="el" href="classSpectralCentroid.html#a9bab5a013a818e286eb4894f9874fee1">SpectralCentroid</a>, <a class="el" href="classZeroCrossing.html#a9ddf295d977b6c64d8acd34b7e0ce1b0">ZeroCrossing</a>, <a class="el" href="classFixedTempoEstimator.html#a5ade364056e5ff7c3e2978d9a75a2988">FixedTempoEstimator</a>, and <a class="el" href="classPercussionOnsetDetector.html#a1ef108aac025c3f2c3201fd9f43b6a6b">PercussionOnsetDetector</a>.</p>

<p class="reference">Referenced by <a class="el" href="vamp-simple-host_8cpp_source.html#l00609">enumeratePlugins()</a>, and <a class="el" href="vamp-simple-host_8cpp_source.html#l00828">printPluginCategoryList()</a>.</p>

</div>
</div>
<a id="ab7e9dedbe965f5ab9018b72920fe7661"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab7e9dedbe965f5ab9018b72920fe7661">&#9670;&nbsp;</a></span>getCopyright()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual std::string Vamp::PluginBase::getCopyright </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">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Get the copyright statement or licensing summary for the plugin. </p>
<p>This can be an informative text, without the same presentation constraints as mentioned for getMaker above. </p>

<p>Implemented in <a class="el" href="classVamp_1_1PluginHostAdapter.html#a6f68665c4c00bb55e4736a091a68d9a9">Vamp::PluginHostAdapter</a>, <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#aea9c238f86de65d3380fa887bb9e47e6">Vamp::HostExt::PluginWrapper</a>, <a class="el" href="classPowerSpectrum.html#ab0e73795d0d94f1162bde9d024785147">PowerSpectrum</a>, <a class="el" href="classAmplitudeFollower.html#acd61ab359d1b7a5514fb2e1bc191f95a">AmplitudeFollower</a>, <a class="el" href="classSpectralCentroid.html#afbf8f44c5724cfc7b2b12102389f10b5">SpectralCentroid</a>, <a class="el" href="classZeroCrossing.html#af955fb85b26a5497690aecbd288975f2">ZeroCrossing</a>, <a class="el" href="classFixedTempoEstimator.html#a3bcf5f3d231454792d9abef114ad21b6">FixedTempoEstimator</a>, and <a class="el" href="classPercussionOnsetDetector.html#acf9ac12b8f313aa6fad58ad2fed663da">PercussionOnsetDetector</a>.</p>

<p class="reference">Referenced by <a class="el" href="vamp-simple-host_8cpp_source.html#l00609">enumeratePlugins()</a>.</p>

</div>
</div>
<a id="a63f686d77bc3d6b807e7944cdde83151"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a63f686d77bc3d6b807e7944cdde83151">&#9670;&nbsp;</a></span>getPluginVersion()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual int Vamp::PluginBase::getPluginVersion </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">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Get the version number of the plugin. </p>

<p>Implemented in <a class="el" href="classVamp_1_1PluginHostAdapter.html#a5e774f5b0e86293714c0506676d4fa62">Vamp::PluginHostAdapter</a>, <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a9537de27c826a1441b2d3643df4880bb">Vamp::HostExt::PluginWrapper</a>, <a class="el" href="classPowerSpectrum.html#acd30237d5e3516b3171ffddbfafd4271">PowerSpectrum</a>, <a class="el" href="classAmplitudeFollower.html#ad84e40327cb36e470790af9619e8e80e">AmplitudeFollower</a>, <a class="el" href="classSpectralCentroid.html#a0056cd5e0615ce8766d52c0b7a92280e">SpectralCentroid</a>, <a class="el" href="classZeroCrossing.html#a4199350192d84a4ec5f379805cd3e7cf">ZeroCrossing</a>, <a class="el" href="classFixedTempoEstimator.html#a243f85a07ef5236e5c547a183969e0d2">FixedTempoEstimator</a>, and <a class="el" href="classPercussionOnsetDetector.html#ad4f4a732e9e0ae0cb0151e2e10862299">PercussionOnsetDetector</a>.</p>

<p class="reference">Referenced by <a class="el" href="vamp-simple-host_8cpp_source.html#l00609">enumeratePlugins()</a>.</p>

</div>
</div>
<a id="a0c24ff6a43c681198dc9497287a26e3a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0c24ff6a43c681198dc9497287a26e3a">&#9670;&nbsp;</a></span>getParameterDescriptors()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classVamp_1_1PluginBase.html#a3b6bb4bbd86affe1ca9deceea1aad4f8">ParameterList</a> Vamp::PluginBase::getParameterDescriptors </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">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Get the controllable parameters of this plugin. </p>

<p>Reimplemented in <a class="el" href="classVamp_1_1PluginHostAdapter.html#a8f2b1c45be01169414bc86b685f4508e">Vamp::PluginHostAdapter</a>, <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#ab2b67205d86e921cb0a9bd1f819d2cf9">Vamp::HostExt::PluginWrapper</a>, <a class="el" href="classAmplitudeFollower.html#a4a707648d17d03a66b110b73b99e821b">AmplitudeFollower</a>, <a class="el" href="classFixedTempoEstimator.html#a4d5edffcea6c8757e0c077913b098aea">FixedTempoEstimator</a>, and <a class="el" href="classPercussionOnsetDetector.html#ae1cc81d82aaac8db5cf8a1067494f3d8">PercussionOnsetDetector</a>.</p>

<p class="definition">Definition at line <a class="el" href="vamp-sdk_2PluginBase_8h_source.html#l00208">208</a> of file <a class="el" href="vamp-sdk_2PluginBase_8h_source.html">vamp-sdk/PluginBase.h</a>.</p>

<p class="reference">Referenced by <a class="el" href="vamp-simple-host_8cpp_source.html#l00609">enumeratePlugins()</a>.</p>

</div>
</div>
<a id="aa813d61077080ec95487d2a0227cc51b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa813d61077080ec95487d2a0227cc51b">&#9670;&nbsp;</a></span>getParameter()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual float Vamp::PluginBase::getParameter </td>
          <td>(</td>
          <td class="paramtype">std::string&#160;</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">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Get the value of a named parameter. </p>
<p>The argument is the identifier field from that parameter's descriptor. </p>

<p>Reimplemented in <a class="el" href="classVamp_1_1PluginHostAdapter.html#a97149b60fb9d7c4359262ba8f6ff9743">Vamp::PluginHostAdapter</a>, <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a5c0a4d72a25fded51829de21771de521">Vamp::HostExt::PluginWrapper</a>, <a class="el" href="classAmplitudeFollower.html#a93f32b68462f46af5265327a69479c38">AmplitudeFollower</a>, <a class="el" href="classFixedTempoEstimator.html#ae988b4015672a73914e83c1589952752">FixedTempoEstimator</a>, and <a class="el" href="classPercussionOnsetDetector.html#accce70a87d6b30d4696d40a3e09b8f17">PercussionOnsetDetector</a>.</p>

<p class="definition">Definition at line <a class="el" href="vamp-sdk_2PluginBase_8h_source.html#l00216">216</a> of file <a class="el" href="vamp-sdk_2PluginBase_8h_source.html">vamp-sdk/PluginBase.h</a>.</p>

</div>
</div>
<a id="a6c718ce822f7b73b98940d59dcaa9366"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6c718ce822f7b73b98940d59dcaa9366">&#9670;&nbsp;</a></span>setParameter()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual void Vamp::PluginBase::setParameter </td>
          <td>(</td>
          <td class="paramtype">std::string&#160;</td>
          <td class="paramname">, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&#160;</td>
          <td class="paramname">&#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">inline</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Set a named parameter. </p>
<p>The first argument is the identifier field from that parameter's descriptor. </p>

<p>Reimplemented in <a class="el" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html#a7a979b20c169d37adbd7b7d8b8a077b3">Vamp::HostExt::PluginBufferingAdapter</a>, <a class="el" href="classVamp_1_1PluginHostAdapter.html#a29f75395aa75b9de0228aa11edf9c6d6">Vamp::PluginHostAdapter</a>, <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a651b15a5dc4c27942ac0c87c6092bfe5">Vamp::HostExt::PluginWrapper</a>, <a class="el" href="classAmplitudeFollower.html#ae1fc37ece4d20e40f3066a3361a99340">AmplitudeFollower</a>, <a class="el" href="classFixedTempoEstimator.html#a8a5a413025384cf451c64d2c2ce13a75">FixedTempoEstimator</a>, and <a class="el" href="classPercussionOnsetDetector.html#aa097d72488e1211f05fc661ff5c6dc01">PercussionOnsetDetector</a>.</p>

<p class="definition">Definition at line <a class="el" href="vamp-sdk_2PluginBase_8h_source.html#l00222">222</a> of file <a class="el" href="vamp-sdk_2PluginBase_8h_source.html">vamp-sdk/PluginBase.h</a>.</p>

</div>
</div>
<a id="aaf6febff0ab4daf4a5089c98a67f4df8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aaf6febff0ab4daf4a5089c98a67f4df8">&#9670;&nbsp;</a></span>getPrograms()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classVamp_1_1PluginBase.html#a7f66f00437b21e5f694fe02356b12f20">ProgramList</a> Vamp::PluginBase::getPrograms </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">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Get the program settings available in this plugin. </p>
<p>A program is a named shorthand for a set of parameter values; changing the program may cause the plugin to alter the values of its published parameters (and/or non-public internal processing parameters). The host should re-read the plugin's parameter values after setting a new program.</p>
<p>The programs must have unique names. </p>

<p>Reimplemented in <a class="el" href="classVamp_1_1PluginHostAdapter.html#a1e3c40e9b9d8dc876d2e732976950c4b">Vamp::PluginHostAdapter</a>, and <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#aa0b72ea17766266d20539f293ccae7c8">Vamp::HostExt::PluginWrapper</a>.</p>

<p class="definition">Definition at line <a class="el" href="vamp-sdk_2PluginBase_8h_source.html#l00237">237</a> of file <a class="el" href="vamp-sdk_2PluginBase_8h_source.html">vamp-sdk/PluginBase.h</a>.</p>

</div>
</div>
<a id="aac38c5dc6e87208616122897518ca3d5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aac38c5dc6e87208616122897518ca3d5">&#9670;&nbsp;</a></span>getCurrentProgram()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual std::string Vamp::PluginBase::getCurrentProgram </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">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Get the current program. </p>

<p>Reimplemented in <a class="el" href="classVamp_1_1PluginHostAdapter.html#abf984c347c4dac9e4b01123498bfe68f">Vamp::PluginHostAdapter</a>, and <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a3936fe2c4b3c960dd244849a7c3320ad">Vamp::HostExt::PluginWrapper</a>.</p>

<p class="definition">Definition at line <a class="el" href="vamp-sdk_2PluginBase_8h_source.html#l00242">242</a> of file <a class="el" href="vamp-sdk_2PluginBase_8h_source.html">vamp-sdk/PluginBase.h</a>.</p>

</div>
</div>
<a id="aadd3a547ef140bae200473a9518e3353"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aadd3a547ef140bae200473a9518e3353">&#9670;&nbsp;</a></span>selectProgram()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual void Vamp::PluginBase::selectProgram </td>
          <td>(</td>
          <td class="paramtype">std::string&#160;</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">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Select a program. </p>
<p>(If the given program name is not one of the available programs, do nothing.) </p>

<p>Reimplemented in <a class="el" href="classVamp_1_1HostExt_1_1PluginBufferingAdapter.html#a3cc7000e0aff525950e0a286b87f8927">Vamp::HostExt::PluginBufferingAdapter</a>, <a class="el" href="classVamp_1_1PluginHostAdapter.html#a8f5515ab34cc13d9403ccc6b4b788683">Vamp::PluginHostAdapter</a>, and <a class="el" href="classVamp_1_1HostExt_1_1PluginWrapper.html#a074978333a74fdcf336a8a1d8ea20abf">Vamp::HostExt::PluginWrapper</a>.</p>

<p class="definition">Definition at line <a class="el" href="vamp-sdk_2PluginBase_8h_source.html#l00248">248</a> of file <a class="el" href="vamp-sdk_2PluginBase_8h_source.html">vamp-sdk/PluginBase.h</a>.</p>

<p class="reference">References <a class="el" href="plugguard_8h_source.html#l00080">_VAMP_SDK_PLUGSPACE_END</a>.</p>

</div>
</div>
<a id="a2da03e9ced8dc7e4382205e6dc05dbff"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2da03e9ced8dc7e4382205e6dc05dbff">&#9670;&nbsp;</a></span>getType()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual std::string Vamp::PluginBase::getType </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">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Get the type of plugin. </p>
<p>This is to be implemented by the immediate subclass, not by actual plugins. Do not attempt to implement this in plugin code. </p>

<p>Implemented in <a class="el" href="classVamp_1_1Plugin.html#a530123068767a8728c568ffccfe3e4e5">Vamp::Plugin</a>.</p>

</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="vamp-sdk_2PluginBase_8h_source.html">vamp-sdk/PluginBase.h</a></li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  <ul>
    <li class="navelem"><a class="el" href="namespaceVamp.html">Vamp</a></li><li class="navelem"><a class="el" href="classVamp_1_1PluginBase.html">PluginBase</a></li>
    <li class="footer">Generated by
    <a href="http://www.doxygen.org/index.html">
    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
  </ul>
</div>
</body>
</html>