266 lines
16 KiB
HTML
266 lines
16 KiB
HTML
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
|
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
|
|
<head>
|
|
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
|
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
|
|
<meta name="generator" content="Doxygen 1.13.2"/>
|
|
<meta name="viewport" content="width=device-width, initial-scale=1"/>
|
|
<title>Interface Technology Basics: IPluginBase 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>
|
|
<script type="text/javascript" src="clipboard.js"></script>
|
|
<link href="navtree.css" rel="stylesheet" type="text/css"/>
|
|
<script type="text/javascript" src="navtreedata.js"></script>
|
|
<script type="text/javascript" src="navtree.js"></script>
|
|
<script type="text/javascript" src="resize.js"></script>
|
|
<script type="text/javascript" src="cookie.js"></script>
|
|
<link href="search/search.css" rel="stylesheet" type="text/css"/>
|
|
<script type="text/javascript" src="search/searchdata.js"></script>
|
|
<script type="text/javascript" src="search/search.js"></script>
|
|
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
|
<link href="smtg_extra.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 id="projectrow">
|
|
<td id="projectalign">
|
|
<div id="projectname">Interface Technology Basics<span id="projectnumber"> VST 3.8</span>
|
|
</div>
|
|
<div id="projectbrief">SDK for developing VST plug-in</div>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
<!-- end header part -->
|
|
<!-- Generated by Doxygen 1.13.2 -->
|
|
<script type="text/javascript">
|
|
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
|
var searchBox = new SearchBox("searchBox", "search/",'.html');
|
|
/* @license-end */
|
|
</script>
|
|
<script type="text/javascript">
|
|
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
|
$(function() { codefold.init(0); });
|
|
/* @license-end */
|
|
</script>
|
|
<script type="text/javascript" src="menudata.js"></script>
|
|
<script type="text/javascript" src="menu.js"></script>
|
|
<script type="text/javascript">
|
|
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
|
$(function() {
|
|
initMenu('',true,false,'search.php','Search',true);
|
|
$(function() { init_search(); });
|
|
});
|
|
/* @license-end */
|
|
</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">
|
|
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
|
$(function(){initNavTree('classSteinberg_1_1IPluginBase.html',''); initResizable(true); });
|
|
/* @license-end */
|
|
</script>
|
|
<div id="doc-content">
|
|
<!-- window showing the filter options -->
|
|
<div id="MSearchSelectWindow"
|
|
onmouseover="return searchBox.OnSearchSelectShow()"
|
|
onmouseout="return searchBox.OnSearchSelectHide()"
|
|
onkeydown="return searchBox.OnSearchSelectKey(event)">
|
|
</div>
|
|
|
|
<!-- iframe showing the search results (closed by default) -->
|
|
<div id="MSearchResultsWindow">
|
|
<div id="MSearchResults">
|
|
<div class="SRPage">
|
|
<div id="SRIndex">
|
|
<div id="SRResults"></div>
|
|
<div class="SRStatus" id="Loading">Loading...</div>
|
|
<div class="SRStatus" id="Searching">Searching...</div>
|
|
<div class="SRStatus" id="NoMatches">No Matches</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="header">
|
|
<div class="summary">
|
|
<a href="#pub-methods">Public Member Functions</a> |
|
|
<a href="#pub-static-attribs">Static Public Attributes</a> |
|
|
<a href="classSteinberg_1_1IPluginBase-members.html">List of all members</a> </div>
|
|
<div class="headertitle"><div class="title">IPluginBase Class Reference<span class="mlabels"><span class="mlabel abstract">abstract</span></span><div class="ingroups"><a class="el" href="group__pluginBase.html">Basic Interfaces</a></div></div></div>
|
|
</div><!--header-->
|
|
<div class="contents">
|
|
|
|
<p>Basic interface to a plug-in component: <a class="el" href="classSteinberg_1_1IPluginBase.html" title="Basic interface to a plug-in component: IPluginBase.">IPluginBase</a>.
|
|
<a href="#details">More...</a></p>
|
|
|
|
<p><code>#include <ipluginbase.h></code></p>
|
|
<div id="dynsection-0" onclick="return dynsection.toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
|
|
<img id="dynsection-0-trigger" src="closed.png" alt="+"/> Inheritance diagram for IPluginBase:</div>
|
|
<div id="dynsection-0-summary" class="dynsummary" style="display:block;">
|
|
</div>
|
|
<div id="dynsection-0-content" class="dyncontent" style="display:none;">
|
|
<div class="center"><img src="classSteinberg_1_1IPluginBase__inherit__graph.png" border="0" usemap="#aIPluginBase_inherit__map" alt="Inheritance graph"/></div>
|
|
<map name="aIPluginBase_inherit__map" id="aIPluginBase_inherit__map">
|
|
<area shape="rect" title="Basic interface to a plug-in component: IPluginBase." alt="" coords="19,155,101,238"/>
|
|
<area shape="rect" href="classSteinberg_1_1FUnknown.html" title="The basic interface of all interfaces." alt="" coords="5,5,114,107"/>
|
|
<area shape="poly" title=" " alt="" coords="62,122,62,155,57,155,57,122"/>
|
|
</map>
|
|
</div>
|
|
<table class="memberdecls">
|
|
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-methods" name="pub-methods"></a>
|
|
Public Member Functions</h2></td></tr>
|
|
<tr class="memitem:a3c81be4ff2e7bbb541d3527264f26eed" id="r_a3c81be4ff2e7bbb541d3527264f26eed"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="group__smtgtypedef.html#ga902761e005a6252e538c766de48fc957">tresult</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="#a3c81be4ff2e7bbb541d3527264f26eed">initialize</a> (<a class="el" href="classSteinberg_1_1FUnknown.html">FUnknown</a> *context)=0</td></tr>
|
|
<tr class="memdesc:a3c81be4ff2e7bbb541d3527264f26eed"><td class="mdescLeft"> </td><td class="mdescRight">The host passes a number of interfaces as context to initialize the plug-in class. <br /></td></tr>
|
|
<tr class="separator:a3c81be4ff2e7bbb541d3527264f26eed"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a1563a6e0e622483924e5f21242407f16" id="r_a1563a6e0e622483924e5f21242407f16"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="group__smtgtypedef.html#ga902761e005a6252e538c766de48fc957">tresult</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="#a1563a6e0e622483924e5f21242407f16">terminate</a> ()=0</td></tr>
|
|
<tr class="memdesc:a1563a6e0e622483924e5f21242407f16"><td class="mdescLeft"> </td><td class="mdescRight">This function is called before the plug-in is unloaded and can be used for cleanups. <br /></td></tr>
|
|
<tr class="separator:a1563a6e0e622483924e5f21242407f16"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="inherit_header pub_methods_classSteinberg_1_1FUnknown"><td colspan="2" onclick="javascript:dynsection.toggleInherit('pub_methods_classSteinberg_1_1FUnknown')"><img src="closed.png" alt="-"/> Public Member Functions inherited from <a class="el" href="classSteinberg_1_1FUnknown.html">FUnknown</a></td></tr>
|
|
<tr class="memitem:a4199134d0669bfa92b7419dac14c01a7 inherit pub_methods_classSteinberg_1_1FUnknown" id="r_a4199134d0669bfa92b7419dac14c01a7"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="group__smtgtypedef.html#ga902761e005a6252e538c766de48fc957">tresult</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classSteinberg_1_1FUnknown.html#a4199134d0669bfa92b7419dac14c01a7">queryInterface</a> (const <a class="el" href="group__pluginBase.html#ga6935af93744bfe4ecc455f274ef1ec36">TUID</a> _iid, void **obj)=0</td></tr>
|
|
<tr class="memdesc:a4199134d0669bfa92b7419dac14c01a7 inherit pub_methods_classSteinberg_1_1FUnknown"><td class="mdescLeft"> </td><td class="mdescRight">Query for a pointer to the specified interface. <br /></td></tr>
|
|
<tr class="separator:a4199134d0669bfa92b7419dac14c01a7 inherit pub_methods_classSteinberg_1_1FUnknown"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:aaa3c5a2a5410d41153d7f5e3f4e0a635 inherit pub_methods_classSteinberg_1_1FUnknown" id="r_aaa3c5a2a5410d41153d7f5e3f4e0a635"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="group__smtgtypedef.html#gacbd4acd0d29e2d6c43104827f77d9cd2">uint32</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classSteinberg_1_1FUnknown.html#aaa3c5a2a5410d41153d7f5e3f4e0a635">addRef</a> ()=0</td></tr>
|
|
<tr class="memdesc:aaa3c5a2a5410d41153d7f5e3f4e0a635 inherit pub_methods_classSteinberg_1_1FUnknown"><td class="mdescLeft"> </td><td class="mdescRight">Adds a reference and returns the new reference count. <br /></td></tr>
|
|
<tr class="separator:aaa3c5a2a5410d41153d7f5e3f4e0a635 inherit pub_methods_classSteinberg_1_1FUnknown"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a58847c78bf6142f01ce214c2802cb146 inherit pub_methods_classSteinberg_1_1FUnknown" id="r_a58847c78bf6142f01ce214c2802cb146"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="group__smtgtypedef.html#gacbd4acd0d29e2d6c43104827f77d9cd2">uint32</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classSteinberg_1_1FUnknown.html#a58847c78bf6142f01ce214c2802cb146">release</a> ()=0</td></tr>
|
|
<tr class="memdesc:a58847c78bf6142f01ce214c2802cb146 inherit pub_methods_classSteinberg_1_1FUnknown"><td class="mdescLeft"> </td><td class="mdescRight">Releases a reference and returns the new reference count. <br /></td></tr>
|
|
<tr class="separator:a58847c78bf6142f01ce214c2802cb146 inherit pub_methods_classSteinberg_1_1FUnknown"><td class="memSeparator" colspan="2"> </td></tr>
|
|
</table><table class="memberdecls">
|
|
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-static-attribs" name="pub-static-attribs"></a>
|
|
Static Public Attributes</h2></td></tr>
|
|
<tr class="memitem:a07978c93295b03d09c4bc97aa12e9c60" id="r_a07978c93295b03d09c4bc97aa12e9c60"><td class="memItemLeft" align="right" valign="top">static const <a class="el" href="classSteinberg_1_1FUID.html">FUID</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="#a07978c93295b03d09c4bc97aa12e9c60">iid</a></td></tr>
|
|
<tr class="separator:a07978c93295b03d09c4bc97aa12e9c60"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="inherit_header pub_static_attribs_classSteinberg_1_1FUnknown"><td colspan="2" onclick="javascript:dynsection.toggleInherit('pub_static_attribs_classSteinberg_1_1FUnknown')"><img src="closed.png" alt="-"/> Static Public Attributes inherited from <a class="el" href="classSteinberg_1_1FUnknown.html">FUnknown</a></td></tr>
|
|
<tr class="memitem:a07978c93295b03d09c4bc97aa12e9c60 inherit pub_static_attribs_classSteinberg_1_1FUnknown" id="r_a07978c93295b03d09c4bc97aa12e9c60"><td class="memItemLeft" align="right" valign="top">static const <a class="el" href="classSteinberg_1_1FUID.html">FUID</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classSteinberg_1_1FUnknown.html#a07978c93295b03d09c4bc97aa12e9c60">iid</a></td></tr>
|
|
<tr class="separator:a07978c93295b03d09c4bc97aa12e9c60 inherit pub_static_attribs_classSteinberg_1_1FUnknown"><td class="memSeparator" colspan="2"> </td></tr>
|
|
</table>
|
|
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
|
|
<div class="textblock"><p>Basic interface to a plug-in component: <a class="el" href="classSteinberg_1_1IPluginBase.html" title="Basic interface to a plug-in component: IPluginBase.">IPluginBase</a>. </p>
|
|
<ul>
|
|
<li>[plug imp]</li>
|
|
<li>initialize/terminate the plug-in component</li>
|
|
</ul>
|
|
<p>The host uses this interface to initialize and to terminate the plug-in component. The context that is passed to the initialize method contains any interface to the host that the plug-in will need to work. These interfaces can vary from category to category. A list of supported host context interfaces should be included in the documentation of a specific category. </p>
|
|
</div><h2 class="groupheader">Member Function Documentation</h2>
|
|
<a id="a3c81be4ff2e7bbb541d3527264f26eed" name="a3c81be4ff2e7bbb541d3527264f26eed"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a3c81be4ff2e7bbb541d3527264f26eed">◆ </a></span>initialize()</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="group__smtgtypedef.html#ga902761e005a6252e538c766de48fc957">tresult</a> initialize </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="classSteinberg_1_1FUnknown.html">FUnknown</a> *</td> <td class="paramname"><span class="paramname"><em>context</em></span></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel pure-virtual">pure virtual</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>The host passes a number of interfaces as context to initialize the plug-in class. </p>
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramname">context,passed</td><td>by the host, is mandatory and should implement IHostApplication </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="section note"><dt>Note</dt><dd>Extensive memory allocations etc. should be performed in this method rather than in the class' constructor! If the method does NOT return kResultOk, the object is released immediately. In this case terminate is not called! </dd></dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a1563a6e0e622483924e5f21242407f16" name="a1563a6e0e622483924e5f21242407f16"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a1563a6e0e622483924e5f21242407f16">◆ </a></span>terminate()</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="group__smtgtypedef.html#ga902761e005a6252e538c766de48fc957">tresult</a> terminate </td>
|
|
<td>(</td>
|
|
<td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel pure-virtual">pure virtual</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>This function is called before the plug-in is unloaded and can be used for cleanups. </p>
|
|
<p>You have to release all references to any host application interfaces. </p>
|
|
|
|
</div>
|
|
</div>
|
|
<h2 class="groupheader">Member Data Documentation</h2>
|
|
<a id="a07978c93295b03d09c4bc97aa12e9c60" name="a07978c93295b03d09c4bc97aa12e9c60"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a07978c93295b03d09c4bc97aa12e9c60">◆ </a></span>iid</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">const::Steinberg::FUID iid</td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel static">static</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
</div>
|
|
</div>
|
|
</div><!-- contents -->
|
|
</div><!-- doc-content -->
|
|
<html>
|
|
<head>
|
|
<title>Empty</title>
|
|
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
|
|
<meta name="Author" content="Steinberg">
|
|
</head>
|
|
<body>
|
|
<br/>
|
|
<hr width="100%" size="2" align="left" />
|
|
<div align=right>
|
|
Copyright ©<span id="year"></span> <a href="http://www.steinberg.net" target="_blank"><u>Steinberg Media Technologies GmbH</u></a>.
|
|
All Rights Reserved. This documentation is under this <a href="http://www.steinberg.net/sdklicenses" target="_blank"><u>license</u></a>.
|
|
</div>
|
|
<script>
|
|
document.querySelector("#year").textContent = new Date().getFullYear();
|
|
</script>
|
|
</body>
|
|
</html>
|