Sophie

Sophie

distrib > Mageia > 1 > i586 > by-pkgid > 9cfe569a32960be736fa85404e96ba8a > files > 28

libslv2-devel-0.6.6-5.mga1.i586.rpm

<!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"/>
<title>SLV2: Plugin library access</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<!-- Generated by Doxygen 1.7.3 -->
<div id="top">
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td style="padding-left: 0.5em;">
   <div id="projectname">SLV2&#160;<span id="projectnumber">0.6.6</span></div>
  </td>
 </tr>
 </tbody>
</table>
</div>
  <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="files.html"><span>Files</span></a></li>
    </ul>
  </div>
</div>
<div class="header">
  <div class="summary">
<a href="#func-members">Functions</a>  </div>
  <div class="headertitle">
<h1>Plugin library access</h1>  </div>
</div>
<div class="contents">

<p>An SLV2Instance is an instantiated SLV2Plugin (ie a loaded dynamic library).  
<a href="#_details">More...</a></p>
<table class="memberdecls">
<tr><td colspan="2"><h2><a name="func-members"></a>
Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">SLV2Instance&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__slv2__library.html#gaa4a37fe6fdd901e9498ee64b834456dc">slv2_plugin_instantiate</a> (SLV2Plugin plugin, double sample_rate, const LV2_Feature *const *features)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__slv2__library.html#gad30406911275d08a9bc34fc16373a849">slv2_instance_free</a> (SLV2Instance instance)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__slv2__library.html#ga6c8419d13f7ff40a7e417bff709bdf85">slv2_instance_get_uri</a> (SLV2Instance instance)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__slv2__library.html#ga229db619d64c3a03cf7c3adfe5455bc1">slv2_instance_connect_port</a> (SLV2Instance instance, uint32_t port_index, void *data_location)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__slv2__library.html#gafca18967cc2a47d475ff5f98def1d6c2">slv2_instance_activate</a> (SLV2Instance instance)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__slv2__library.html#gab4b0b8304ad52ea754f8718e19a55555">slv2_instance_run</a> (SLV2Instance instance, uint32_t sample_count)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__slv2__library.html#gac0c874b71b4b3ae3b2e9f6bbf8c09ad7">slv2_instance_deactivate</a> (SLV2Instance instance)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static const void *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__slv2__library.html#gae4de9a82faf53cd45f0755d476a484e0">slv2_instance_get_extension_data</a> (SLV2Instance instance, const char *uri)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static const LV2_Descriptor *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__slv2__library.html#ga27d4c77b27244fbd898d834f328948fe">slv2_instance_get_descriptor</a> (SLV2Instance instance)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static LV2_Handle&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__slv2__library.html#gae7fac958253fdfcbfbefb17cc354b69e">slv2_instance_get_handle</a> (SLV2Instance instance)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">SLV2UIInstance&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__slv2__library.html#gab9b891a8db2fee40f7636d645c8bb853">slv2_ui_instantiate</a> (SLV2Plugin plugin, SLV2UI ui, LV2UI_Write_Function write_function, LV2UI_Controller controller, const LV2_Feature *const *features)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__slv2__library.html#ga504c2329c327e8e34662697c377f27ca">slv2_ui_instance_free</a> (SLV2UIInstance instance)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">const LV2UI_Descriptor *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__slv2__library.html#gaa5d7f1c510a9ad6442ff8d4258dde46a">slv2_ui_instance_get_descriptor</a> (SLV2UIInstance instance)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">LV2UI_Handle&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__slv2__library.html#ga7962a8d5023f20341420c310d0556ea3">slv2_ui_instance_get_handle</a> (SLV2UIInstance instance)</td></tr>
</table>
<hr/><a name="_details"></a><h2>Detailed Description</h2>
<p>These functions interact with the binary library code only, they do not read data files in any way. </p>
<hr/><h2>Function Documentation</h2>
<a class="anchor" id="gaa4a37fe6fdd901e9498ee64b834456dc"></a><!-- doxytag: member="plugininstance.h::slv2_plugin_instantiate" ref="gaa4a37fe6fdd901e9498ee64b834456dc" args="(SLV2Plugin plugin, double sample_rate, const LV2_Feature *const *features)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">SLV2Instance slv2_plugin_instantiate </td>
          <td>(</td>
          <td class="paramtype">SLV2Plugin&#160;</td>
          <td class="paramname"><em>plugin</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>sample_rate</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const LV2_Feature *const *&#160;</td>
          <td class="paramname"><em>features</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Instantiate a plugin. </p>
<p>The returned object represents shared library objects loaded into memory, it must be cleaned up with slv2_instance_free when no longer needed.</p>
<p><em>plugin</em> is not modified or directly referenced by the returned object (instances store only a copy of the plugin's URI).</p>
<p><em>host_features</em> NULL-terminated array of features the host supports. NULL may be passed if the host supports no additional features (unlike the LV2 specification - SLV2 takes care of it).</p>
<dl class="return"><dt><b>Returns:</b></dt><dd>NULL if instantiation failed. </dd></dl>

</div>
</div>
<a class="anchor" id="gad30406911275d08a9bc34fc16373a849"></a><!-- doxytag: member="plugininstance.h::slv2_instance_free" ref="gad30406911275d08a9bc34fc16373a849" args="(SLV2Instance instance)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void slv2_instance_free </td>
          <td>(</td>
          <td class="paramtype">SLV2Instance&#160;</td>
          <td class="paramname"><em>instance</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Free a plugin instance. </p>
<p><em>instance</em> is invalid after this call. </p>

</div>
</div>
<a class="anchor" id="ga6c8419d13f7ff40a7e417bff709bdf85"></a><!-- doxytag: member="plugininstance.h::slv2_instance_get_uri" ref="ga6c8419d13f7ff40a7e417bff709bdf85" args="(SLV2Instance instance)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static const char* slv2_instance_get_uri </td>
          <td>(</td>
          <td class="paramtype">SLV2Instance&#160;</td>
          <td class="paramname"><em>instance</em></td><td>)</td>
          <td><code> [inline, static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Get the URI of the plugin which <em>instance</em> is an instance of. </p>
<p>Returned string is shared and must not be modified or deleted. </p>

</div>
</div>
<a class="anchor" id="ga229db619d64c3a03cf7c3adfe5455bc1"></a><!-- doxytag: member="plugininstance.h::slv2_instance_connect_port" ref="ga229db619d64c3a03cf7c3adfe5455bc1" args="(SLV2Instance instance, uint32_t port_index, void *data_location)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static void slv2_instance_connect_port </td>
          <td>(</td>
          <td class="paramtype">SLV2Instance&#160;</td>
          <td class="paramname"><em>instance</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>port_index</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">void *&#160;</td>
          <td class="paramname"><em>data_location</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [inline, static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Connect a port to a data location. </p>
<p>This may be called regardless of whether the plugin is activated, activation and deactivation does not destroy port connections. </p>

</div>
</div>
<a class="anchor" id="gafca18967cc2a47d475ff5f98def1d6c2"></a><!-- doxytag: member="plugininstance.h::slv2_instance_activate" ref="gafca18967cc2a47d475ff5f98def1d6c2" args="(SLV2Instance instance)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static void slv2_instance_activate </td>
          <td>(</td>
          <td class="paramtype">SLV2Instance&#160;</td>
          <td class="paramname"><em>instance</em></td><td>)</td>
          <td><code> [inline, static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Activate a plugin instance. </p>
<p>This resets all state information in the plugin, except for port data locations (as set by slv2_instance_connect_port). This MUST be called before calling slv2_instance_run. </p>

</div>
</div>
<a class="anchor" id="gab4b0b8304ad52ea754f8718e19a55555"></a><!-- doxytag: member="plugininstance.h::slv2_instance_run" ref="gab4b0b8304ad52ea754f8718e19a55555" args="(SLV2Instance instance, uint32_t sample_count)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static void slv2_instance_run </td>
          <td>(</td>
          <td class="paramtype">SLV2Instance&#160;</td>
          <td class="paramname"><em>instance</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>sample_count</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [inline, static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Run <em>instance</em> for <em>sample_count</em> frames. </p>
<p>If the hint lv2:hardRtCapable is set for this plugin, this function is guaranteed not to block. </p>

</div>
</div>
<a class="anchor" id="gac0c874b71b4b3ae3b2e9f6bbf8c09ad7"></a><!-- doxytag: member="plugininstance.h::slv2_instance_deactivate" ref="gac0c874b71b4b3ae3b2e9f6bbf8c09ad7" args="(SLV2Instance instance)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static void slv2_instance_deactivate </td>
          <td>(</td>
          <td class="paramtype">SLV2Instance&#160;</td>
          <td class="paramname"><em>instance</em></td><td>)</td>
          <td><code> [inline, static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Deactivate a plugin instance. </p>
<p>Note that to run the plugin after this you must activate it, which will reset all state information (except port connections). </p>

</div>
</div>
<a class="anchor" id="gae4de9a82faf53cd45f0755d476a484e0"></a><!-- doxytag: member="plugininstance.h::slv2_instance_get_extension_data" ref="gae4de9a82faf53cd45f0755d476a484e0" args="(SLV2Instance instance, const char *uri)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static const void* slv2_instance_get_extension_data </td>
          <td>(</td>
          <td class="paramtype">SLV2Instance&#160;</td>
          <td class="paramname"><em>instance</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>uri</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [inline, static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Get extension data from the plugin instance. </p>
<p>The type and semantics of the data returned is specific to the particular extension, though in all cases it is shared and must not be deleted. </p>

</div>
</div>
<a class="anchor" id="ga27d4c77b27244fbd898d834f328948fe"></a><!-- doxytag: member="plugininstance.h::slv2_instance_get_descriptor" ref="ga27d4c77b27244fbd898d834f328948fe" args="(SLV2Instance instance)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static const LV2_Descriptor* slv2_instance_get_descriptor </td>
          <td>(</td>
          <td class="paramtype">SLV2Instance&#160;</td>
          <td class="paramname"><em>instance</em></td><td>)</td>
          <td><code> [inline, static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Get the LV2_Descriptor of the plugin instance. </p>
<p>Normally hosts should not need to access the LV2_Descriptor directly, use the slv2_instance_* functions.</p>
<p>The returned descriptor is shared and must not be deleted. </p>

</div>
</div>
<a class="anchor" id="gae7fac958253fdfcbfbefb17cc354b69e"></a><!-- doxytag: member="plugininstance.h::slv2_instance_get_handle" ref="gae7fac958253fdfcbfbefb17cc354b69e" args="(SLV2Instance instance)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static LV2_Handle slv2_instance_get_handle </td>
          <td>(</td>
          <td class="paramtype">SLV2Instance&#160;</td>
          <td class="paramname"><em>instance</em></td><td>)</td>
          <td><code> [inline, static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Get the LV2_Handle of the plugin instance. </p>
<p>Normally hosts should not need to access the LV2_Handle directly, use the slv2_instance_* functions.</p>
<p>The returned handle is shared and must not be deleted. </p>

</div>
</div>
<a class="anchor" id="gab9b891a8db2fee40f7636d645c8bb853"></a><!-- doxytag: member="pluginuiinstance.h::slv2_ui_instantiate" ref="gab9b891a8db2fee40f7636d645c8bb853" args="(SLV2Plugin plugin, SLV2UI ui, LV2UI_Write_Function write_function, LV2UI_Controller controller, const LV2_Feature *const *features)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">SLV2UIInstance slv2_ui_instantiate </td>
          <td>(</td>
          <td class="paramtype">SLV2Plugin&#160;</td>
          <td class="paramname"><em>plugin</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">SLV2UI&#160;</td>
          <td class="paramname"><em>ui</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">LV2UI_Write_Function&#160;</td>
          <td class="paramname"><em>write_function</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">LV2UI_Controller&#160;</td>
          <td class="paramname"><em>controller</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const LV2_Feature *const *&#160;</td>
          <td class="paramname"><em>features</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Instantiate a plugin UI. </p>
<p>The returned object represents shared library objects loaded into memory, it must be cleaned up with slv2_ui_instance_free when no longer needed.</p>
<p><em>plugin</em> is not modified or directly referenced by the returned object (instances store only a copy of the plugin's URI).</p>
<p><em>host_features</em> NULL-terminated array of features the host supports. NULL may be passed if the host supports no additional features (unlike the LV2 specification - SLV2 takes care of it).</p>
<dl class="return"><dt><b>Returns:</b></dt><dd>NULL if instantiation failed. </dd></dl>

</div>
</div>
<a class="anchor" id="ga504c2329c327e8e34662697c377f27ca"></a><!-- doxytag: member="pluginuiinstance.h::slv2_ui_instance_free" ref="ga504c2329c327e8e34662697c377f27ca" args="(SLV2UIInstance instance)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void slv2_ui_instance_free </td>
          <td>(</td>
          <td class="paramtype">SLV2UIInstance&#160;</td>
          <td class="paramname"><em>instance</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Free a plugin UI instance. </p>
<p>It is the caller's responsibility to ensure all references to the UI instance (including any returned widgets) are cut before calling this function.</p>
<p><em>instance</em> is invalid after this call. </p>

</div>
</div>
<a class="anchor" id="gaa5d7f1c510a9ad6442ff8d4258dde46a"></a><!-- doxytag: member="pluginuiinstance.h::slv2_ui_instance_get_descriptor" ref="gaa5d7f1c510a9ad6442ff8d4258dde46a" args="(SLV2UIInstance instance)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const LV2UI_Descriptor* slv2_ui_instance_get_descriptor </td>
          <td>(</td>
          <td class="paramtype">SLV2UIInstance&#160;</td>
          <td class="paramname"><em>instance</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Get the LV2UI_Descriptor of the plugin UI instance. </p>
<p>Normally hosts should not need to access the LV2UI_Descriptor directly, use the slv2_ui_instance_* functions.</p>
<p>The returned descriptor is shared and must not be deleted. </p>

</div>
</div>
<a class="anchor" id="ga7962a8d5023f20341420c310d0556ea3"></a><!-- doxytag: member="pluginuiinstance.h::slv2_ui_instance_get_handle" ref="ga7962a8d5023f20341420c310d0556ea3" args="(SLV2UIInstance instance)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">LV2UI_Handle slv2_ui_instance_get_handle </td>
          <td>(</td>
          <td class="paramtype">SLV2UIInstance&#160;</td>
          <td class="paramname"><em>instance</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Get the LV2UI_Handle of the plugin UI instance. </p>
<p>Normally hosts should not need to access the LV2UI_Handle directly, use the slv2_ui_instance_* functions.</p>
<p>The returned handle is shared and must not be deleted. </p>

</div>
</div>
</div>
<hr class="footer"/><address class="footer"><small>Generated on Thu Mar 24 2011 03:54:39 for SLV2 by&#160;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.3 </small></address>
</body>
</html>