diff options
Diffstat (limited to 'vendor/vstsdk2.4/doc/html/sequences.html')
| -rw-r--r-- | vendor/vstsdk2.4/doc/html/sequences.html | 99 |
1 files changed, 99 insertions, 0 deletions
diff --git a/vendor/vstsdk2.4/doc/html/sequences.html b/vendor/vstsdk2.4/doc/html/sequences.html new file mode 100644 index 0000000..8070c00 --- /dev/null +++ b/vendor/vstsdk2.4/doc/html/sequences.html @@ -0,0 +1,99 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"> +<title>VST SDK 2.4: VST Calling Sequences</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.4.7 --> +<div class="tabs"> + <ul> + <li><a href="main.html"><span>Main Page</span></a></li> + <li><a href="namespaces.html"><span>Namespaces</span></a></li> + <li><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> + <li><a href="pages.html"><span>Related Pages</span></a></li> + </ul></div> +<h1><a class="anchor" name="sequences">VST Calling Sequences</a></h1><h2><a class="anchor" name="Introduction"> +Introduction</a></h2> +The diagrams below illustrate the most important calling sequences taking place between VST host application and plug-in. This is of interest to plug-in developers as well as to host developers.<p> +<hr> + <h2><a class="anchor" name="threading"> +Threading issues</a></h2> +In general, processEvents(), startProcess(), stopProcess(), process(), processReplacing() and processDoubleReplacing() are called from a time-critical high priority thread (except for offline processing).<br> + To satisfy realtime constraints for low latency audio processing, memory allocations and lock-based syncronisation should be avoided.<br> + The same applies to setParameter() and setProgram() when playing automation from host. Any others functions are called from UI thread in general.<br> + The host takes care that processing and setup functions are isolated from each other. setSampleRate(), setBlockSize(), setProcessPrecision(), etc. calls occur only in suspended state, i.e. before resume() is called.<p> +<hr> + <h2><a class="anchor" name="sequencediagrams"> +Sequence Diagrams</a></h2> +<ul> +<li><a href="#init">Initialization</a></li><li><a href="#termination">Termination</a></li><li><a href="#turnon">Turn On</a></li><li><a href="#turnoff">Turn Off</a></li><li><a href="#sr">Sample rate change</a></li><li><a href="#bs">Block size change</a></li><li><a href="#speaker">Speaker arrangement negotiation</a></li><li><a href="#ios">IO change</a></li><li><a href="#control">Control change</a></li><li><a href="#offline">Offline process</a></li></ul> +<p> +<table width="100%" cellspacing="0" cellpadding="5" border="0"> +<tr> +<td id="init" valign="top"><div align="center"> +<img src="Initialisation.gif" alt="Initialisation.gif"> +<p><strong>Figure 3: A plug-in is initialized</strong></p></div> + </td><td id="termination" valign="top"><div align="center"> +<img src="Termination.gif" alt="Termination.gif"> +<p><strong>Figure 4: A plug-in is terminated</strong></p></div> + </td></tr> +<tr> +<td id="turnon" valign="top"><div align="center"> +<img src="TurnOn.gif" alt="TurnOn.gif"> +<p><strong>Figure 1: A plug-in is turned on</strong></p></div> + </td><td id="turnoff" valign="top"><div align="center"> +<img src="TurnOff.gif" alt="TurnOff.gif"> +<p><strong>Figure 2: A plug-in is turned off</strong></p></div> + </td></tr> +<tr> +<td id="sr" valign="top"><div align="center"> +<img src="Sampleratechange.gif" alt="Sampleratechange.gif"> +<p><strong>Figure 6: The sample rate changed</strong></p></div> + </td><td id="bs" valign="top"><div align="center"> +<img src="Blocksizechange.gif" alt="Blocksizechange.gif"> +<p><strong>Figure 9: The block size changed</strong></p></div> + </td></tr> +</table> +<table width="100%" cellspacing="0" cellpadding="5" border="0"> +<tr> +<td id="speaker"><div align="center"> +<img src="SpeakerarrangementnegotiationforVSTfx.gif" alt="SpeakerarrangementnegotiationforVSTfx.gif"> +<p><strong>Figure 5: The speaker arrangements negotiation between the host and the plug-in</strong></p></div> + </td></tr> +<tr> +<td id="ios"><div align="center"> +<img src="IOchange.gif" alt="IOchange.gif"> +<p><strong>Figure 7: The number of IOs changed caused e.g. by user interaction</strong></p></div> + </td></tr> +<tr> +<td id="control"><div align="center"> +<img src="ControlChanged.gif" alt="ControlChanged.gif"> +<p><strong>Figure 8: A control changed within the userinterface of the plug-in</strong></p></div> + </td></tr> +<tr> +<td id="offline"><div align="center"> +<img src="Offlineprocessing.gif" alt="Offlineprocessing.gif"> +<p><strong>Figure 10: A plug-in processes offline</strong></p></div> + </td></tr> +</table> +<html> + +<head> + <title>Empty</title> + <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> + <meta name="Author" content="mario"> +</head> + +<body> + +<br/> +<hr width="100%" size="2" align="left" /> +<div align=left> +Copyright ©2006 <a href="http://www.steinberg.net" target="_blank"><u>Steinberg Media Technologies</u></a>. +All Rights Reserved. +</div> +</body> + +</html> |
