update lua class doc

This commit is contained in:
Robin Gareus 2016-10-08 02:27:56 +02:00
parent 32de311e4e
commit 6aad482c99
1 changed files with 313 additions and 5 deletions

View File

@ -316,6 +316,7 @@ Pointer Classes cannot be created in lua scripts. It always requires a call to C
<tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::Playlist::*)(boost::shared_ptr&lt;ARDOUR::Region&gt;)">uncombine</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR:Region">Region</a>)</span></td><td class="fill"></td></tr>
<tr><th colspan="3">Cast</th></tr>
<tr><td class="def"><a class="" href="#ARDOUR:AudioPlaylist">AudioPlaylist</a></td><td class="decl"><span class="functionname"><abbr title="ARDOUR::AudioPlaylist (ARDOUR::Playlist::*)()">to_audioplaylist</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
<tr><td class="def"><a class="" href="#ARDOUR:MidiPlaylist">MidiPlaylist</a></td><td class="decl"><span class="functionname"><abbr title="ARDOUR::MidiPlaylist (ARDOUR::Playlist::*)()">to_midiplaylist</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
</table>
<h4 class="cls">Inherited from ARDOUR:SessionObject</h4>
<table class="classmembers">
@ -543,6 +544,22 @@ Pointer Classes cannot be created in lua scripts. It always requires a call to C
<tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="void (*)()">isnil</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
<tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="void (*)(ARDOUR::Automatable)">sameinstance</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR:Automatable">Automatable</a>)</span></td><td class="fill"></td></tr>
</table>
<h3 id="ARDOUR:AutomatableSequence" class="cls pointerclass"><abbr title="Pointer Class">&Rarr;</abbr>&nbsp;ARDOUR:AutomatableSequence</h3>
<p class="cdecl"><em>C&#8225;</em>: boost::shared_ptr&lt; ARDOUR::AutomatableSequence&lt;Evoral::Beats&gt; &gt;, boost::weak_ptr&lt; ARDOUR::AutomatableSequence&lt;Evoral::Beats&gt; &gt;</p>
<p class="classinfo">is-a: <a class="" href="#ARDOUR:Automatable">ARDOUR:Automatable</a></p>
<div class="clear"></div>
<table class="classmembers">
<tr><th colspan="3">Methods</th></tr>
<tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="void (*)()">isnil</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
<tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="void (*)(ARDOUR::AutomatableSequence&lt;Evoral::Beats&gt;)">sameinstance</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR:AutomatableSequence">AutomatableSequence</a>)</span></td><td class="fill"></td></tr>
<tr><th colspan="3">Cast</th></tr>
<tr><td class="def"><a class="" href="#Evoral:Sequence">Sequence</a></td><td class="decl"><span class="functionname"><abbr title="Evoral::Sequence&lt;Evoral::Beats&gt; (ARDOUR::AutomatableSequence&lt;Evoral::Beats&gt;::*)()">to_sequence</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
</table>
<h4 class="cls">Inherited from ARDOUR:Automatable</h4>
<table class="classmembers">
<tr><th colspan="3">Methods</th></tr>
<tr><td class="def"><a class="" href="#ARDOUR:AutomationControl">AutomationControl</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::AutomationControl&gt; (ARDOUR::Automatable::*)(Evoral::Parameter const&amp;, bool)">automation_control</abbr></span><span class="functionargs"> (<a class="" href="#Evoral:Parameter">Parameter</a>, <span class="em">bool</span>)</span></td><td class="fill"></td></tr>
</table>
<h3 id="ARDOUR:AutomationControl" class="cls pointerclass"><abbr title="Pointer Class">&Rarr;</abbr>&nbsp;ARDOUR:AutomationControl</h3>
<p class="cdecl"><em>C&#8225;</em>: boost::shared_ptr&lt; ARDOUR::AutomationControl &gt;, boost::weak_ptr&lt; ARDOUR::AutomationControl &gt;</p>
<p class="classinfo">is-a: <a class="" href="#PBD:Controllable">PBD:Controllable</a></p>
@ -1083,6 +1100,7 @@ Pointer Classes cannot be created in lua scripts. It always requires a call to C
<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> A convenience function for colorspace HSL to RGB conversion. All ranges are 0..1</p><p> Example: </p><pre> local r, g, b, a = ARDOUR.LuaAPI.hsla_to_rgba (hue, saturation, luminosity, alpha)</pre><div class="result-discussion"><p class="para-returns"><span class="word-returns">Returns</span> 4 parameters: red, green, blue, alpha (in range 0..1)</p></div></div></td></tr>
<tr><td class="def"><a class="" href="#ARDOUR:Processor">Processor</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::Processor&gt; (*)(ARDOUR::Session*, std::string const&amp;)">new_luaproc</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR:Session">Session</a>, <span class="em">std::string</span>)</span></td><td class="fill"></td></tr>
<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> create a new Lua Processor (Plugin)</p><dl><dt class="param-name-index-0">s</dt><dd class="param-descr-index-0"> Session Handle </dd><dt class="param-name-index-1">p</dt><dd class="param-descr-index-1"> Identifier or Name of the Processor </dd></dl><div class="result-discussion"><p class="para-returns"><span class="word-returns">Returns</span> Processor object (may be nil)</p></div></div></td></tr>
<tr><td class="def"><a class="" href="#Evoral:NotePtr">NotePtr</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;Evoral::Note&lt;Evoral::Beats&gt; &gt; (*)(unsigned char, Evoral::Beats, Evoral::Beats, unsigned char, unsigned char)">new_noteptr</abbr></span><span class="functionargs"> (<span class="em">unsigned char</span>, <a class="" href="#Evoral:Beats">Beats</a>, <a class="" href="#Evoral:Beats">Beats</a>, <span class="em">unsigned char</span>, <span class="em">unsigned char</span>)</span></td><td class="fill"></td></tr>
<tr><td class="def"><a class="" href="#ARDOUR:Processor">Processor</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::Processor&gt; (*)(ARDOUR::Session*, std::string const&amp;, ARDOUR::PluginType, std::string const&amp;)">new_plugin</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR:Session">Session</a>, <span class="em">std::string</span>, <a class="" href="#ARDOUR.PluginType">PluginType</a>, <span class="em">std::string</span>)</span></td><td class="fill"></td></tr>
<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> create a new Plugin Instance</p><dl><dt class="param-name-index-0">s</dt><dd class="param-descr-index-0"> Session Handle </dd><dt class="param-name-index-1">id</dt><dd class="param-descr-index-1"> Plugin Name, ID or URI </dd><dt class="param-name-index-2">type</dt><dd class="param-descr-index-2"> Plugin Type </dd></dl><div class="result-discussion"><p class="para-returns"><span class="word-returns">Returns</span> Processor or nil</p></div></div></td></tr>
<tr><td class="def"><a class="" href="#ARDOUR:PluginInfo">PluginInfo</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::PluginInfo&gt; (*)(std::string const&amp;, ARDOUR::PluginType)">new_plugin_info</abbr></span><span class="functionargs"> (<span class="em">std::string</span>, <a class="" href="#ARDOUR.PluginType">PluginType</a>)</span></td><td class="fill"></td></tr>
@ -1114,10 +1132,11 @@ Pointer Classes cannot be created in lua scripts. It always requires a call to C
<tr><td class="def"><span class="em">int</span></td><td class="decl"><span class="functionname"><abbr title="int (ARDOUR::LuaAPI::Vamp::*)(boost::shared_ptr&lt;ARDOUR::Readable&gt;, unsigned int, luabridge::LuaRef)">analyze</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR:Readable">Readable</a>, <span class="em">unsigned int</span>, <span>Lua-Function</span>)</span></td><td class="fill"></td></tr>
<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> high-level abstraction to process a single channel of the given Readable.</p><p> If the plugin is not yet initialized, initialize() is called.</p><p> if is not nil, it is called with the immediate Vamp::Plugin::Features on every process call.</p><dl><dt class="param-name-index-0">r</dt><dd class="param-descr-index-0"> readable </dd><dt class="param-name-index-1">channel</dt><dd class="param-descr-index-1"> channel to process </dd><dt class="param-name-index-2">fn</dt><dd class="param-descr-index-2"> lua callback function </dd></dl><div class="result-discussion"><p class="para-returns"><span class="word-returns">Returns</span> 0 on success</p></div></div></td></tr>
<tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::LuaAPI::Vamp::*)()">initialize</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> initialize the plugin for use with analyze().</p><p> This is equivalent to plugin():initialise (1, 512, 1024) and prepares a plugin for analyze.</p><p> Manual initialization is only required to set plugin-parameters which depend on prior initialization of the plugin.</p><pre> vamp:reset ()
<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> initialize the plugin for use with analyze().</p><p> This is equivalent to plugin():initialise (1, ssiz, bsiz) and prepares a plugin for analyze. (by preferred step and block sizes are used. if the plugin does not specify them or they&#39;re larger than 8K, both are set to 1024)</p><p> Manual initialization is only required to set plugin-parameters which depend on prior initialization of the plugin.</p><pre> vamp:reset ()
vamp:initialize ()
vamp:plugin():setParameter (0, 1.5, nil)
vamp:analyze (r, 0)</pre></div></td></tr>
<tr><td class="def"><a class="" href="#C:StringVector">StringVector</a></td><td class="decl"><span class="functionname"><abbr title="std::vector&lt;std::string &gt; (*)()">list_plugins</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
<tr><td class="def"><a class="" href="#Vamp:Plugin">Plugin</a></td><td class="decl"><span class="functionname"><abbr title="Vamp::Plugin* (ARDOUR::LuaAPI::Vamp::*)()">plugin</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
<tr><td class="def"><a class="" href="#Vamp:Plugin:FeatureSet">FeatureSet</a></td><td class="decl"><span class="functionname"><abbr title="std::map&lt;int, std::vector&lt;Vamp::Plugin::Feature &gt; &gt; &gt; &gt; (ARDOUR::LuaAPI::Vamp::*)(std::vector&lt;float* &gt; const&amp;, Vamp::RealTime)">process</abbr></span><span class="functionargs"> (<a class="" href="#C:FloatArrayVector">FloatArrayVector</a>, <a class="" href="#Vamp:RealTime">RealTime</a>)</span></td><td class="fill"></td></tr>
<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> process given array of audio-samples.</p><p> This is a lua-binding for vamp:plugin():process ()</p><dl><dt class="param-name-index-0">d</dt><dd class="param-descr-index-0"> audio-data, the vector must match the configured channel count and hold a complete buffer for every channel as set during plugin():initialise() </dd><dt class="param-name-index-1">rt</dt><dd class="param-descr-index-1"> timestamp matching the provided buffer. </dd></dl><div class="result-discussion"><p class="para-returns"><span class="word-returns">Returns</span> features extracted from that data (if the plugin is causal)</p></div></div></td></tr>
@ -1201,6 +1220,129 @@ Pointer Classes cannot be created in lua scripts. It always requires a call to C
<tr><td class="def"><span class="em">unsigned long</span></td><td class="decl"><span class="functionname"><abbr title="unsigned long (ARDOUR::MidiBuffer::*)() const">size</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
<tr><td class="def"><em>...</em></td><td class="decl"><span class="functionname"><abbr title="int (*)(lua_State*) const">table</abbr></span><span class="functionargs"> (<span class="em">--lua--</span>)</span></td><td class="fill"></td></tr>
</table>
<h3 id="ARDOUR:MidiModel" class="cls pointerclass"><abbr title="Pointer Class">&Rarr;</abbr>&nbsp;ARDOUR:MidiModel</h3>
<p class="cdecl"><em>C&#8225;</em>: boost::shared_ptr&lt; ARDOUR::MidiModel &gt;, boost::weak_ptr&lt; ARDOUR::MidiModel &gt;</p>
<p class="classinfo">is-a: <a class="" href="#ARDOUR:AutomatableSequence">ARDOUR:AutomatableSequence</a></p>
<div class="clear"></div>
<div class="classdox"><p class="para-brief"> This is a higher level (than MidiBuffer) model of MIDI data, with separate representations for notes (instead of just unassociated note on&#47;off events) and controller data. Controller data is represented as part of the Automatable base (i.e. in a map of AutomationList, keyed by Parameter). Because of this MIDI controllers and automatable controllers&#47;widgets&#47;etc are easily interchangeable.</p></div>
<table class="classmembers">
<tr><th colspan="3">Methods</th></tr>
<tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::MidiModel::*)(ARDOUR::Session*, Command*)">apply_command</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR:Session">Session</a>, <a class="" href="#PBD:Command">Command</a>)</span></td><td class="fill"></td></tr>
<tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="void (*)()">isnil</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
<tr><td class="def"><a class="" href="#ARDOUR:MidiModel:NoteDiffCommand">NoteDiffCommand</a></td><td class="decl"><span class="functionname"><abbr title="ARDOUR::MidiModel::NoteDiffCommand* (ARDOUR::MidiModel::*)(std::string const&amp;)">new_note_diff_command</abbr></span><span class="functionargs"> (<span class="em">std::string</span>)</span></td><td class="fill"></td></tr>
<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> Start a new NoteDiff command.</p><p> This has no side-effects on the model or Session, the returned command can be held on to for as long as the caller wishes, or discarded without formality, until apply_command is called and ownership is taken.</p></div></td></tr>
<tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="void (*)(ARDOUR::MidiModel)">sameinstance</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR:MidiModel">MidiModel</a>)</span></td><td class="fill"></td></tr>
</table>
<h4 class="cls">Inherited from ARDOUR:AutomatableSequence</h4>
<table class="classmembers">
<tr><th colspan="3">Cast</th></tr>
<tr><td class="def"><a class="" href="#Evoral:Sequence">Sequence</a></td><td class="decl"><span class="functionname"><abbr title="Evoral::Sequence&lt;Evoral::Beats&gt; (ARDOUR::AutomatableSequence&lt;Evoral::Beats&gt;::*)()">to_sequence</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
</table>
<h4 class="cls">Inherited from ARDOUR:Automatable</h4>
<table class="classmembers">
<tr><th colspan="3">Methods</th></tr>
<tr><td class="def"><a class="" href="#ARDOUR:AutomationControl">AutomationControl</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::AutomationControl&gt; (ARDOUR::Automatable::*)(Evoral::Parameter const&amp;, bool)">automation_control</abbr></span><span class="functionargs"> (<a class="" href="#Evoral:Parameter">Parameter</a>, <span class="em">bool</span>)</span></td><td class="fill"></td></tr>
</table>
<h3 id="ARDOUR:MidiModel:DiffCommand" class="cls opaque"><abbr title="Opaque Object">&empty;</abbr>&nbsp;ARDOUR:MidiModel:DiffCommand</h3>
<p class="cdecl"><em>C&#8225;</em>: ARDOUR::MidiModel::DiffCommand</p>
<p class="classinfo">is-a: <a class="" href="#PBD:Command">PBD:Command</a></p>
<div class="clear"></div>
<div class="classdox"><p class="para-brief"> Base class for Undo&#47;Redo commands and changesets </p></div>
<p class="classinfo">This class object is only used indirectly as return-value and function-parameter. It provides no methods by itself.</p>
<h4 class="cls">Inherited from PBD:Command</h4>
<table class="classmembers">
<tr><th colspan="3">Methods</th></tr>
<tr><td class="def"><span class="em">std::string</span></td><td class="decl"><span class="functionname"><abbr title="std::string const&amp; (Command::*)() const">name</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
<tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (Command::*)(std::string const&amp;)">set_name</abbr></span><span class="functionargs"> (<span class="em">std::string</span>)</span></td><td class="fill"></td></tr>
</table>
<h4 class="cls">Inherited from PBD:Stateful</h4>
<table class="classmembers">
<tr><th colspan="3">Methods</th></tr>
<tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (PBD::Stateful::*)()">clear_changes</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> Forget about any changes to this object&#39;s properties </p></div></td></tr>
<tr><td class="def"><a class="" href="#PBD:ID">ID</a></td><td class="decl"><span class="functionname"><abbr title="PBD::ID const&amp; (PBD::Stateful::*)() const">id</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
<tr><td class="def"><a class="" href="#ARDOUR:OwnedPropertyList">OwnedPropertyList</a></td><td class="decl"><span class="functionname"><abbr title="PBD::OwnedPropertyList const&amp; (PBD::Stateful::*)() const">properties</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
</table>
<h3 id="ARDOUR:MidiModel:NoteDiffCommand" class="cls class"><abbr title="Class">&comp;</abbr>&nbsp;ARDOUR:MidiModel:NoteDiffCommand</h3>
<p class="cdecl"><em>C&#8225;</em>: ARDOUR::MidiModel::NoteDiffCommand</p>
<p class="classinfo">is-a: <a class="" href="#ARDOUR:MidiModel:DiffCommand">ARDOUR:MidiModel:DiffCommand</a></p>
<div class="clear"></div>
<div class="classdox"><p class="para-brief"> Base class for Undo&#47;Redo commands and changesets </p></div>
<table class="classmembers">
<tr><th colspan="3">Methods</th></tr>
<tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::MidiModel::NoteDiffCommand::*)(boost::shared_ptr&lt;Evoral::Note&lt;Evoral::Beats&gt; &gt;)">add</abbr></span><span class="functionargs"> (<a class="" href="#Evoral:NotePtr">NotePtr</a>)</span></td><td class="fill"></td></tr>
<tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::MidiModel::NoteDiffCommand::*)(boost::shared_ptr&lt;Evoral::Note&lt;Evoral::Beats&gt; &gt;)">remove</abbr></span><span class="functionargs"> (<a class="" href="#Evoral:NotePtr">NotePtr</a>)</span></td><td class="fill"></td></tr>
</table>
<h4 class="cls">Inherited from PBD:Command</h4>
<table class="classmembers">
<tr><th colspan="3">Methods</th></tr>
<tr><td class="def"><span class="em">std::string</span></td><td class="decl"><span class="functionname"><abbr title="std::string const&amp; (Command::*)() const">name</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
<tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (Command::*)(std::string const&amp;)">set_name</abbr></span><span class="functionargs"> (<span class="em">std::string</span>)</span></td><td class="fill"></td></tr>
</table>
<h4 class="cls">Inherited from PBD:Stateful</h4>
<table class="classmembers">
<tr><th colspan="3">Methods</th></tr>
<tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (PBD::Stateful::*)()">clear_changes</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> Forget about any changes to this object&#39;s properties </p></div></td></tr>
<tr><td class="def"><a class="" href="#PBD:ID">ID</a></td><td class="decl"><span class="functionname"><abbr title="PBD::ID const&amp; (PBD::Stateful::*)() const">id</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
<tr><td class="def"><a class="" href="#ARDOUR:OwnedPropertyList">OwnedPropertyList</a></td><td class="decl"><span class="functionname"><abbr title="PBD::OwnedPropertyList const&amp; (PBD::Stateful::*)() const">properties</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
</table>
<h3 id="ARDOUR:MidiPlaylist" class="cls pointerclass"><abbr title="Pointer Class">&Rarr;</abbr>&nbsp;ARDOUR:MidiPlaylist</h3>
<p class="cdecl"><em>C&#8225;</em>: boost::shared_ptr&lt; ARDOUR::MidiPlaylist &gt;, boost::weak_ptr&lt; ARDOUR::MidiPlaylist &gt;</p>
<p class="classinfo">is-a: <a class="" href="#ARDOUR:Playlist">ARDOUR:Playlist</a></p>
<div class="clear"></div>
<div class="classdox"><p class="para-brief"> A named object associated with a Session. Objects derived from this class are expected to be destroyed before the session calls drop_references().</p></div>
<table class="classmembers">
<tr><th colspan="3">Methods</th></tr>
<tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="void (*)()">isnil</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
<tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="void (*)(ARDOUR::MidiPlaylist)">sameinstance</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR:MidiPlaylist">MidiPlaylist</a>)</span></td><td class="fill"></td></tr>
<tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::MidiPlaylist::*)(ARDOUR::NoteMode)">set_note_mode</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR.NoteMode">NoteMode</a>)</span></td><td class="fill"></td></tr>
</table>
<h4 class="cls">Inherited from ARDOUR:Playlist</h4>
<table class="classmembers">
<tr><th colspan="3">Methods</th></tr>
<tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::Playlist::*)(boost::shared_ptr&lt;ARDOUR::Region&gt;, long, float, bool, int)">add_region</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR:Region">Region</a>, <span class="em">long</span>, <span class="em">float</span>, <span class="em">bool</span>, <span class="em">int</span>)</span></td><td class="fill"></td></tr>
<tr><td class="def"><a class="" href="#ARDOUR:Region">Region</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::Region&gt; (ARDOUR::Playlist::*)(std::list&lt;boost::shared_ptr&lt;ARDOUR::Region&gt; &gt; const&amp;)">combine</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR:RegionList">RegionList</a>)</span></td><td class="fill"></td></tr>
<tr><td class="def"><span class="em">unsigned int</span></td><td class="decl"><span class="functionname"><abbr title="unsigned int (ARDOUR::Playlist::*)(long) const">count_regions_at</abbr></span><span class="functionargs"> (<span class="em">long</span>)</span></td><td class="fill"></td></tr>
<tr><td class="def"><a class="" href="#ARDOUR:Playlist">Playlist</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::Playlist&gt; (ARDOUR::Playlist::*)(std::list&lt;ARDOUR::AudioRange &gt;&amp;, bool)">cut</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR:AudioRangeList">AudioRangeList&amp;</a>, <span class="em">bool</span>)</span></td><td class="fill"></td></tr>
<tr><td class="def"><a class="" href="#ARDOUR:DataType">DataType</a></td><td class="decl"><span class="functionname"><abbr title="ARDOUR::DataType const&amp; (ARDOUR::Playlist::*)() const">data_type</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
<tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::Playlist::*)(boost::shared_ptr&lt;ARDOUR::Region&gt;, long, long, float)">duplicate</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR:Region">Region</a>, <span class="em">long</span>, <span class="em">long</span>, <span class="em">float</span>)</span></td><td class="fill"></td></tr>
<tr><td></td><td class="doc" colspan="2"><div class="dox"><dl><dt class="param-name-index-2">gap</dt><dd class="param-descr-index-2"> from the beginning of the region to the next beginning </dd></dl></div></td></tr>
<tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::Playlist::*)(ARDOUR::AudioRange&amp;, float)">duplicate_range</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR:AudioRange">AudioRange&amp;</a>, <span class="em">float</span>)</span></td><td class="fill"></td></tr>
<tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::Playlist::*)(boost::shared_ptr&lt;ARDOUR::Region&gt;, long, long, long)">duplicate_until</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR:Region">Region</a>, <span class="em">long</span>, <span class="em">long</span>, <span class="em">long</span>)</span></td><td class="fill"></td></tr>
<tr><td></td><td class="doc" colspan="2"><div class="dox"><dl><dt class="param-name-index-2">gap</dt><dd class="param-descr-index-2"> from the beginning of the region to the next beginning </dd><dt class="param-name-index-3">end</dt><dd class="param-descr-index-3"> the first frame that does _not_ contain a duplicated frame </dd></dl></div></td></tr>
<tr><td class="def"><a class="" href="#ARDOUR:Region">Region</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::Region&gt; (ARDOUR::Playlist::*)(long, ARDOUR::RegionPoint, int)">find_next_region</abbr></span><span class="functionargs"> (<span class="em">long</span>, <a class="" href="#ARDOUR.RegionPoint">RegionPoint</a>, <span class="em">int</span>)</span></td><td class="fill"></td></tr>
<tr><td class="def"><span class="em">long</span></td><td class="decl"><span class="functionname"><abbr title="long (ARDOUR::Playlist::*)(long, int)">find_next_region_boundary</abbr></span><span class="functionargs"> (<span class="em">long</span>, <span class="em">int</span>)</span></td><td class="fill"></td></tr>
<tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::Playlist::*)(boost::shared_ptr&lt;ARDOUR::Region&gt;)">lower_region</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR:Region">Region</a>)</span></td><td class="fill"></td></tr>
<tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::Playlist::*)(boost::shared_ptr&lt;ARDOUR::Region&gt;)">lower_region_to_bottom</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR:Region">Region</a>)</span></td><td class="fill"></td></tr>
<tr><td class="def"><span class="em">unsigned int</span></td><td class="decl"><span class="functionname"><abbr title="unsigned int (ARDOUR::Playlist::*)() const">n_regions</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
<tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::Playlist::*)(boost::shared_ptr&lt;ARDOUR::Region&gt;)">raise_region</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR:Region">Region</a>)</span></td><td class="fill"></td></tr>
<tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::Playlist::*)(boost::shared_ptr&lt;ARDOUR::Region&gt;)">raise_region_to_top</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR:Region">Region</a>)</span></td><td class="fill"></td></tr>
<tr><td class="def"><a class="" href="#ARDOUR:Region">Region</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::Region&gt; (ARDOUR::Playlist::*)(PBD::ID const&amp;) const">region_by_id</abbr></span><span class="functionargs"> (<a class="" href="#PBD:ID">ID</a>)</span></td><td class="fill"></td></tr>
<tr><td class="def"><a class="" href="#ARDOUR:RegionListPtr">RegionListPtr</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;std::list&lt;boost::shared_ptr&lt;ARDOUR::Region&gt; &gt; &gt; (ARDOUR::Playlist::*)()">region_list</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
<tr><td class="def"><a class="" href="#ARDOUR:RegionListPtr">RegionListPtr</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;std::list&lt;boost::shared_ptr&lt;ARDOUR::Region&gt; &gt; &gt; (ARDOUR::Playlist::*)(long)">regions_at</abbr></span><span class="functionargs"> (<span class="em">long</span>)</span></td><td class="fill"></td></tr>
<tr><td class="def"><a class="" href="#ARDOUR:RegionListPtr">RegionListPtr</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;std::list&lt;boost::shared_ptr&lt;ARDOUR::Region&gt; &gt; &gt; (ARDOUR::Playlist::*)(long, long)">regions_touched</abbr></span><span class="functionargs"> (<span class="em">long</span>, <span class="em">long</span>)</span></td><td class="fill"></td></tr>
<tr><td></td><td class="doc" colspan="2"><div class="dox"><dl><dt class="param-name-index-0">start</dt><dd class="param-descr-index-0"> Range start. </dd><dt class="param-name-index-1">end</dt><dd class="param-descr-index-1"> Range end. </dd></dl><div class="result-discussion"><p class="para-returns"><span class="word-returns">Returns</span> regions which have some part within this range.</p></div></div></td></tr>
<tr><td class="def"><a class="" href="#ARDOUR:RegionListPtr">RegionListPtr</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;std::list&lt;boost::shared_ptr&lt;ARDOUR::Region&gt; &gt; &gt; (ARDOUR::Playlist::*)(Evoral::Range&lt;long&gt;)">regions_with_end_within</abbr></span><span class="functionargs"> (<a class="" href="#Evoral:Range">Range</a>)</span></td><td class="fill"></td></tr>
<tr><td class="def"><a class="" href="#ARDOUR:RegionListPtr">RegionListPtr</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;std::list&lt;boost::shared_ptr&lt;ARDOUR::Region&gt; &gt; &gt; (ARDOUR::Playlist::*)(Evoral::Range&lt;long&gt;)">regions_with_start_within</abbr></span><span class="functionargs"> (<a class="" href="#Evoral:Range">Range</a>)</span></td><td class="fill"></td></tr>
<tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::Playlist::*)(boost::shared_ptr&lt;ARDOUR::Region&gt;)">remove_region</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR:Region">Region</a>)</span></td><td class="fill"></td></tr>
<tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::Playlist::*)(long)">split</abbr></span><span class="functionargs"> (<span class="em">long</span>)</span></td><td class="fill"></td></tr>
<tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::Playlist::*)(boost::shared_ptr&lt;ARDOUR::Region&gt;, long, int)">split_region</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR:Region">Region</a>, <span class="em">long</span>, <span class="em">int</span>)</span></td><td class="fill"></td></tr>
<tr><td class="def"><a class="" href="#ARDOUR:Region">Region</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::Region&gt; (ARDOUR::Playlist::*)(long)">top_region_at</abbr></span><span class="functionargs"> (<span class="em">long</span>)</span></td><td class="fill"></td></tr>
<tr><td class="def"><a class="" href="#ARDOUR:Region">Region</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::Region&gt; (ARDOUR::Playlist::*)(long)">top_unmuted_region_at</abbr></span><span class="functionargs"> (<span class="em">long</span>)</span></td><td class="fill"></td></tr>
<tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::Playlist::*)(boost::shared_ptr&lt;ARDOUR::Region&gt;)">uncombine</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR:Region">Region</a>)</span></td><td class="fill"></td></tr>
<tr><th colspan="3">Cast</th></tr>
<tr><td class="def"><a class="" href="#ARDOUR:AudioPlaylist">AudioPlaylist</a></td><td class="decl"><span class="functionname"><abbr title="ARDOUR::AudioPlaylist (ARDOUR::Playlist::*)()">to_audioplaylist</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
<tr><td class="def"><a class="" href="#ARDOUR:MidiPlaylist">MidiPlaylist</a></td><td class="decl"><span class="functionname"><abbr title="ARDOUR::MidiPlaylist (ARDOUR::Playlist::*)()">to_midiplaylist</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
</table>
<h4 class="cls">Inherited from ARDOUR:SessionObject</h4>
<table class="classmembers">
<tr><th colspan="3">Methods</th></tr>
<tr><td class="def"><span class="em">std::string</span></td><td class="decl"><span class="functionname"><abbr title="std::string (ARDOUR::SessionObject::*)() const">name</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
<tr><th colspan="3">Cast</th></tr>
<tr><td class="def"><a class="" href="#PBD:Stateful">Stateful</a></td><td class="decl"><span class="functionname"><abbr title="PBD::Stateful (ARDOUR::SessionObject::*)()">to_stateful</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
<tr><td class="def"><a class="" href="#PBD:StatefulDestructible">StatefulDestructible</a></td><td class="decl"><span class="functionname"><abbr title="PBD::StatefulDestructible (ARDOUR::SessionObject::*)()">to_statefuldestructible</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
</table>
<h3 id="ARDOUR:MidiPort" class="cls pointerclass"><abbr title="Pointer Class">&Rarr;</abbr>&nbsp;ARDOUR:MidiPort</h3>
<p class="cdecl"><em>C&#8225;</em>: boost::shared_ptr&lt; ARDOUR::MidiPort &gt;, boost::weak_ptr&lt; ARDOUR::MidiPort &gt;</p>
<p class="classinfo">is-a: <a class="" href="#ARDOUR:Port">ARDOUR:Port</a></p>
@ -1237,6 +1379,101 @@ Pointer Classes cannot be created in lua scripts. It always requires a call to C
<tr><td class="def"><a class="" href="#ARDOUR:AudioPort">AudioPort</a></td><td class="decl"><span class="functionname"><abbr title="ARDOUR::AudioPort (ARDOUR::Port::*)()">to_audioport</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
<tr><td class="def"><a class="" href="#ARDOUR:MidiPort">MidiPort</a></td><td class="decl"><span class="functionname"><abbr title="ARDOUR::MidiPort (ARDOUR::Port::*)()">to_midiport</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
</table>
<h3 id="ARDOUR:MidiRegion" class="cls pointerclass"><abbr title="Pointer Class">&Rarr;</abbr>&nbsp;ARDOUR:MidiRegion</h3>
<p class="cdecl"><em>C&#8225;</em>: boost::shared_ptr&lt; ARDOUR::MidiRegion &gt;, boost::weak_ptr&lt; ARDOUR::MidiRegion &gt;</p>
<p class="classinfo">is-a: <a class="" href="#ARDOUR:Region">ARDOUR:Region</a></p>
<div class="clear"></div>
<div class="classdox"><p class="para-brief"> A named object associated with a Session. Objects derived from this class are expected to be destroyed before the session calls drop_references().</p></div>
<table class="classmembers">
<tr><th colspan="3">Methods</th></tr>
<tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::MidiRegion::*)(std::string) const">do_export</abbr></span><span class="functionargs"> (<span class="em">std::string</span>)</span></td><td class="fill"></td></tr>
<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> Export the MIDI data of the MidiRegion to a new MIDI file (SMF).</p></div></td></tr>
<tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="void (*)()">isnil</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
<tr><td class="def"><a class="" href="#ARDOUR:MidiSource">MidiSource</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::MidiSource&gt; (ARDOUR::MidiRegion::*)(unsigned int) const">midi_source</abbr></span><span class="functionargs"> (<span class="em">unsigned int</span>)</span></td><td class="fill"></td></tr>
<tr><td class="def"><a class="" href="#ARDOUR:MidiModel">MidiModel</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::MidiModel&gt; (ARDOUR::MidiRegion::*)()">model</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
<tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="void (*)(ARDOUR::MidiRegion)">sameinstance</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR:MidiRegion">MidiRegion</a>)</span></td><td class="fill"></td></tr>
</table>
<h4 class="cls">Inherited from ARDOUR:Region</h4>
<table class="classmembers">
<tr><th colspan="3">Methods</th></tr>
<tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::Region::*)() const">at_natural_position</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
<tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::Region::*)() const">automatic</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
<tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::Region::*)() const">can_move</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
<tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::Region::*)() const">captured</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
<tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::Region::*)()">clear_sync_position</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
<tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::Region::*)(long) const">covers</abbr></span><span class="functionargs"> (<span class="em">long</span>)</span></td><td class="fill"></td></tr>
<tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::Region::*)(long, int)">cut_end</abbr></span><span class="functionargs"> (<span class="em">long</span>, <span class="em">int</span>)</span></td><td class="fill"></td></tr>
<tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::Region::*)(long, int)">cut_front</abbr></span><span class="functionargs"> (<span class="em">long</span>, <span class="em">int</span>)</span></td><td class="fill"></td></tr>
<tr><td class="def"><a class="" href="#ARDOUR:DataType">DataType</a></td><td class="decl"><span class="functionname"><abbr title="ARDOUR::DataType const&amp; (ARDOUR::Region::*)() const">data_type</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
<tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::Region::*)() const">external</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
<tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::Region::*)() const">hidden</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
<tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::Region::*)() const">import</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
<tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::Region::*)() const">is_compound</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
<tr><td class="def"><span class="em">unsigned int</span></td><td class="decl"><span class="functionname"><abbr title="unsigned int (ARDOUR::Region::*)() const">layer</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
<tr><td class="def"><span class="em">long</span></td><td class="decl"><span class="functionname"><abbr title="long (ARDOUR::Region::*)() const">length</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
<tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::Region::*)() const">locked</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
<tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::Region::*)()">lower</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
<tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::Region::*)()">lower_to_bottom</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
<tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::Region::*)(long, int)">move_start</abbr></span><span class="functionargs"> (<span class="em">long</span>, <span class="em">int</span>)</span></td><td class="fill"></td></tr>
<tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::Region::*)()">move_to_natural_position</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
<tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::Region::*)() const">muted</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
<tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::Region::*)(long)">nudge_position</abbr></span><span class="functionargs"> (<span class="em">long</span>)</span></td><td class="fill"></td></tr>
<tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::Region::*)() const">opaque</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
<tr><td class="def"><span class="em">long</span></td><td class="decl"><span class="functionname"><abbr title="long (ARDOUR::Region::*)() const">position</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> How the region parameters play together:</p><p> POSITION: first frame of the region along the timeline START: first frame of the region within its source(s) LENGTH: number of frames the region represents</p></div></td></tr>
<tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::Region::*)() const">position_locked</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
<tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::Region::*)()">raise</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
<tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::Region::*)()">raise_to_top</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
<tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::Region::*)(bool)">set_hidden</abbr></span><span class="functionargs"> (<span class="em">bool</span>)</span></td><td class="fill"></td></tr>
<tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::Region::*)(long)">set_initial_position</abbr></span><span class="functionargs"> (<span class="em">long</span>)</span></td><td class="fill"></td></tr>
<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> A gui may need to create a region, then place it in an initial position determined by the user. When this takes place within one gui operation, we have to reset _last_position to prevent an implied move.</p></div></td></tr>
<tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::Region::*)(long, int)">set_length</abbr></span><span class="functionargs"> (<span class="em">long</span>, <span class="em">int</span>)</span></td><td class="fill"></td></tr>
<tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::Region::*)(bool)">set_locked</abbr></span><span class="functionargs"> (<span class="em">bool</span>)</span></td><td class="fill"></td></tr>
<tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::Region::*)(bool)">set_muted</abbr></span><span class="functionargs"> (<span class="em">bool</span>)</span></td><td class="fill"></td></tr>
<tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::Region::*)(bool)">set_opaque</abbr></span><span class="functionargs"> (<span class="em">bool</span>)</span></td><td class="fill"></td></tr>
<tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::Region::*)(long, int)">set_position</abbr></span><span class="functionargs"> (<span class="em">long</span>, <span class="em">int</span>)</span></td><td class="fill"></td></tr>
<tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::Region::*)(bool)">set_position_locked</abbr></span><span class="functionargs"> (<span class="em">bool</span>)</span></td><td class="fill"></td></tr>
<tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::Region::*)(long)">set_start</abbr></span><span class="functionargs"> (<span class="em">long</span>)</span></td><td class="fill"></td></tr>
<tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::Region::*)(long)">set_sync_position</abbr></span><span class="functionargs"> (<span class="em">long</span>)</span></td><td class="fill"></td></tr>
<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> Set the region&#39;s sync point. </p><dl><dt class="param-name-index-0">absolute_pos</dt><dd class="param-descr-index-0"> Session time.</dd></dl></div></td></tr>
<tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::Region::*)(bool)">set_video_locked</abbr></span><span class="functionargs"> (<span class="em">bool</span>)</span></td><td class="fill"></td></tr>
<tr><td class="def"><span class="em">float</span></td><td class="decl"><span class="functionname"><abbr title="float (ARDOUR::Region::*)() const">shift</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
<tr><td class="def"><span class="em">long</span></td><td class="decl"><span class="functionname"><abbr title="long (ARDOUR::Region::*)() const">start</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
<tr><td class="def"><span class="em">float</span></td><td class="decl"><span class="functionname"><abbr title="float (ARDOUR::Region::*)() const">stretch</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
<tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::Region::*)() const">sync_marked</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
<tr><td class="def"><em>LuaTable</em>(<span class="em">long</span>, ...)</td><td class="decl"><span class="functionname"><abbr title="long (ARDOUR::Region::*)(int&amp;) const">sync_offset</abbr></span><span class="functionargs"> (<span class="em">int&amp;</span>)</span></td><td class="fill"></td></tr>
<tr><td class="def"><span class="em">long</span></td><td class="decl"><span class="functionname"><abbr title="long (ARDOUR::Region::*)() const">sync_position</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
<tr><td></td><td class="doc" colspan="2"><div class="dox"><div class="result-discussion"><p class="para-returns"><span class="word-returns">Returns</span> Sync position in session time </p></div></div></td></tr>
<tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::Region::*)(long, int)">trim_end</abbr></span><span class="functionargs"> (<span class="em">long</span>, <span class="em">int</span>)</span></td><td class="fill"></td></tr>
<tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::Region::*)(long, int)">trim_front</abbr></span><span class="functionargs"> (<span class="em">long</span>, <span class="em">int</span>)</span></td><td class="fill"></td></tr>
<tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::Region::*)(long, long, int)">trim_to</abbr></span><span class="functionargs"> (<span class="em">long</span>, <span class="em">long</span>, <span class="em">int</span>)</span></td><td class="fill"></td></tr>
<tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::Region::*)() const">video_locked</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
<tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::Region::*)() const">whole_file</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
<tr><th colspan="3">Cast</th></tr>
<tr><td class="def"><a class="" href="#ARDOUR:MidiRegion">MidiRegion</a></td><td class="decl"><span class="functionname"><abbr title="ARDOUR::MidiRegion (ARDOUR::Region::*)()">to_midiregion</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
<tr><td class="def"><a class="" href="#ARDOUR:Readable">Readable</a></td><td class="decl"><span class="functionname"><abbr title="ARDOUR::Readable (ARDOUR::Region::*)()">to_readable</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
</table>
<h4 class="cls">Inherited from ARDOUR:SessionObject</h4>
<table class="classmembers">
<tr><th colspan="3">Methods</th></tr>
<tr><td class="def"><span class="em">std::string</span></td><td class="decl"><span class="functionname"><abbr title="std::string (ARDOUR::SessionObject::*)() const">name</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
<tr><th colspan="3">Cast</th></tr>
<tr><td class="def"><a class="" href="#PBD:Stateful">Stateful</a></td><td class="decl"><span class="functionname"><abbr title="PBD::Stateful (ARDOUR::SessionObject::*)()">to_stateful</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
<tr><td class="def"><a class="" href="#PBD:StatefulDestructible">StatefulDestructible</a></td><td class="decl"><span class="functionname"><abbr title="PBD::StatefulDestructible (ARDOUR::SessionObject::*)()">to_statefuldestructible</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
</table>
<h3 id="ARDOUR:MidiSource" class="cls pointerclass"><abbr title="Pointer Class">&Rarr;</abbr>&nbsp;ARDOUR:MidiSource</h3>
<p class="cdecl"><em>C&#8225;</em>: boost::shared_ptr&lt; ARDOUR::MidiSource &gt;, boost::weak_ptr&lt; ARDOUR::MidiSource &gt;</p>
<p class="classinfo">is-a: <a class="" href="#ARDOUR:Source">ARDOUR:Source</a></p>
<div class="clear"></div>
<div class="classdox"><p class="para-brief"> Source for MIDI data </p></div>
<table class="classmembers">
<tr><th colspan="3">Methods</th></tr>
<tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::MidiSource::*)() const">empty</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
<tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="void (*)()">isnil</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
<tr><td class="def"><span class="em">long</span></td><td class="decl"><span class="functionname"><abbr title="long (ARDOUR::MidiSource::*)(long) const">length</abbr></span><span class="functionargs"> (<span class="em">long</span>)</span></td><td class="fill"></td></tr>
<tr><td class="def"><a class="" href="#ARDOUR:MidiModel">MidiModel</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::MidiModel&gt; (ARDOUR::MidiSource::*)()">model</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
<tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="void (*)(ARDOUR::MidiSource)">sameinstance</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR:MidiSource">MidiSource</a>)</span></td><td class="fill"></td></tr>
</table>
<h3 id="ARDOUR:MidiTrack" class="cls pointerclass"><abbr title="Pointer Class">&Rarr;</abbr>&nbsp;ARDOUR:MidiTrack</h3>
<p class="cdecl"><em>C&#8225;</em>: boost::shared_ptr&lt; ARDOUR::MidiTrack &gt;, boost::weak_ptr&lt; ARDOUR::MidiTrack &gt;</p>
<p class="classinfo">is-a: <a class="" href="#ARDOUR:Track">ARDOUR:Track</a></p>
@ -1645,6 +1882,7 @@ Pointer Classes cannot be created in lua scripts. It always requires a call to C
<tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (ARDOUR::Playlist::*)(boost::shared_ptr&lt;ARDOUR::Region&gt;)">uncombine</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR:Region">Region</a>)</span></td><td class="fill"></td></tr>
<tr><th colspan="3">Cast</th></tr>
<tr><td class="def"><a class="" href="#ARDOUR:AudioPlaylist">AudioPlaylist</a></td><td class="decl"><span class="functionname"><abbr title="ARDOUR::AudioPlaylist (ARDOUR::Playlist::*)()">to_audioplaylist</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
<tr><td class="def"><a class="" href="#ARDOUR:MidiPlaylist">MidiPlaylist</a></td><td class="decl"><span class="functionname"><abbr title="ARDOUR::MidiPlaylist (ARDOUR::Playlist::*)()">to_midiplaylist</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
</table>
<h4 class="cls">Inherited from ARDOUR:SessionObject</h4>
<table class="classmembers">
@ -2070,6 +2308,7 @@ Pointer Classes cannot be created in lua scripts. It always requires a call to C
<tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::Region::*)() const">video_locked</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
<tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::Region::*)() const">whole_file</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
<tr><th colspan="3">Cast</th></tr>
<tr><td class="def"><a class="" href="#ARDOUR:MidiRegion">MidiRegion</a></td><td class="decl"><span class="functionname"><abbr title="ARDOUR::MidiRegion (ARDOUR::Region::*)()">to_midiregion</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
<tr><td class="def"><a class="" href="#ARDOUR:Readable">Readable</a></td><td class="decl"><span class="functionname"><abbr title="ARDOUR::Readable (ARDOUR::Region::*)()">to_readable</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
</table>
<h4 class="cls">Inherited from ARDOUR:SessionObject</h4>
@ -2857,6 +3096,9 @@ Pointer Classes cannot be created in lua scripts. It always requires a call to C
<tr><th colspan="3">Methods</th></tr>
<tr><td class="def"><a class="" href="#ARDOUR:MeterSection">MeterSection</a></td><td class="decl"><span class="functionname"><abbr title="ARDOUR::MeterSection* (ARDOUR::TempoMap::*)(ARDOUR::Meter const&amp;, double const&amp;, Timecode::BBT_Time const&amp;, long const&amp;, ARDOUR::PositionLockStyle)">add_meter</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR:Meter">Meter</a>, <span class="em">double</span>, <a class="" href="#Timecode:BBT_TIME">BBT_TIME</a>, <span class="em">long</span>, <a class="" href="#ARDOUR.PositionLockStyle">PositionLockStyle</a>)</span></td><td class="fill"></td></tr>
<tr><td class="def"><a class="" href="#ARDOUR:TempoSection">TempoSection</a></td><td class="decl"><span class="functionname"><abbr title="ARDOUR::TempoSection* (ARDOUR::TempoMap::*)(ARDOUR::Tempo const&amp;, double const&amp;, long const&amp;, ARDOUR::TempoSection::Type, ARDOUR::PositionLockStyle)">add_tempo</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR:Tempo">Tempo</a>, <span class="em">double</span>, <span class="em">long</span>, <a class="" href="#ARDOUR.TempoSection.Type">Type</a>, <a class="" href="#ARDOUR.PositionLockStyle">PositionLockStyle</a>)</span></td><td class="fill"></td></tr>
<tr><td class="def"><a class="" href="#Timecode:BBT_TIME">BBT_TIME</a></td><td class="decl"><span class="functionname"><abbr title="Timecode::BBT_Time (ARDOUR::TempoMap::*)(long)">bbt_at_frame</abbr></span><span class="functionargs"> (<span class="em">long</span>)</span></td><td class="fill"></td></tr>
<tr><td class="def"><span class="em">double</span></td><td class="decl"><span class="functionname"><abbr title="double (ARDOUR::TempoMap::*)(long const&amp;, int)">exact_beat_at_frame</abbr></span><span class="functionargs"> (<span class="em">long</span>, <span class="em">int</span>)</span></td><td class="fill"></td></tr>
<tr><td class="def"><span class="em">double</span></td><td class="decl"><span class="functionname"><abbr title="double (ARDOUR::TempoMap::*)(long const&amp;, int)">exact_qn_at_frame</abbr></span><span class="functionargs"> (<span class="em">long</span>, <span class="em">int</span>)</span></td><td class="fill"></td></tr>
<tr><td class="def"><a class="" href="#ARDOUR:MeterSection">MeterSection</a></td><td class="decl"><span class="functionname"><abbr title="ARDOUR::MeterSection const&amp; (ARDOUR::TempoMap::*)(double) const">meter_section_at_beat</abbr></span><span class="functionargs"> (<span class="em">double</span>)</span></td><td class="fill"></td></tr>
<tr><td class="def"><a class="" href="#ARDOUR:MeterSection">MeterSection</a></td><td class="decl"><span class="functionname"><abbr title="ARDOUR::MeterSection const&amp; (ARDOUR::TempoMap::*)(long) const">meter_section_at_frame</abbr></span><span class="functionargs"> (<span class="em">long</span>)</span></td><td class="fill"></td></tr>
<tr><td class="def"><a class="" href="#ARDOUR:TempoSection">TempoSection</a></td><td class="decl"><span class="functionname"><abbr title="ARDOUR::TempoSection const&amp; (ARDOUR::TempoMap::*)(long) const">tempo_section_at_frame</abbr></span><span class="functionargs"> (<span class="em">long</span>)</span></td><td class="fill"></td></tr>
@ -3534,6 +3776,9 @@ Pointer Classes cannot be created in lua scripts. It always requires a call to C
<div class="clear"></div>
<div class="classdox"><p class="para-brief"> Musical time in beats. </p></div>
<table class="classmembers">
<tr><th colspan="3">Constructor</th></tr>
<tr><td class="def">&Copf;</td><td class="decl"><span class="functionname">Evoral.Beats</span><span class="functionargs"> (<span class="em">double</span>)</span></td><td class="fill"></td></tr>
<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> Create from a real number of beats. </p></div></td></tr>
<tr><th colspan="3">Methods</th></tr>
<tr><td class="def"><span class="em">double</span></td><td class="decl"><span class="functionname"><abbr title="double (Evoral::Beats::*)() const">to_double</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
</table>
@ -3614,6 +3859,20 @@ Pointer Classes cannot be created in lua scripts. It always requires a call to C
<tr><td class="def"><span class="em">unsigned int</span></td><td class="decl"><span class="functionname"><abbr title="unsigned int (Evoral::Event&lt;long&gt;::*)() const">size</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
<tr><td class="def"><span class="em">long</span></td><td class="decl"><span class="functionname"><abbr title="long (Evoral::Event&lt;long&gt;::*)()">time</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
</table>
<h3 id="Evoral:NotePtr" class="cls pointerclass"><abbr title="Pointer Class">&Rarr;</abbr>&nbsp;Evoral:NotePtr</h3>
<p class="cdecl"><em>C&#8225;</em>: boost::shared_ptr&lt; Evoral::Note&lt;Evoral::Beats&gt; &gt;, boost::weak_ptr&lt; Evoral::Note&lt;Evoral::Beats&gt; &gt;</p>
<div class="clear"></div>
<table class="classmembers">
<tr><th colspan="3">Methods</th></tr>
<tr><td class="def"><span class="em">unsigned char</span></td><td class="decl"><span class="functionname"><abbr title="unsigned char (Evoral::Note&lt;Evoral::Beats&gt;::*)() const">channel</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
<tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="void (*)()">isnil</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
<tr><td class="def"><a class="" href="#Evoral:Beats">Beats</a></td><td class="decl"><span class="functionname"><abbr title="Evoral::Beats (Evoral::Note&lt;Evoral::Beats&gt;::*)() const">length</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
<tr><td class="def"><span class="em">unsigned char</span></td><td class="decl"><span class="functionname"><abbr title="unsigned char (Evoral::Note&lt;Evoral::Beats&gt;::*)() const">note</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
<tr><td class="def"><span class="em">unsigned char</span></td><td class="decl"><span class="functionname"><abbr title="unsigned char (Evoral::Note&lt;Evoral::Beats&gt;::*)() const">off_velocity</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
<tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="void (*)(Evoral::Note&lt;Evoral::Beats&gt;)">sameinstance</abbr></span><span class="functionargs"> (<a class="" href="#Evoral:NotePtr">NotePtr</a>)</span></td><td class="fill"></td></tr>
<tr><td class="def"><a class="" href="#Evoral:Beats">Beats</a></td><td class="decl"><span class="functionname"><abbr title="Evoral::Beats (Evoral::Note&lt;Evoral::Beats&gt;::*)() const">time</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
<tr><td class="def"><span class="em">unsigned char</span></td><td class="decl"><span class="functionname"><abbr title="unsigned char (Evoral::Note&lt;Evoral::Beats&gt;::*)() const">velocity</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
</table>
<h3 id="Evoral:Parameter" class="cls class"><abbr title="Class">&comp;</abbr>&nbsp;Evoral:Parameter</h3>
<p class="cdecl"><em>C&#8225;</em>: Evoral::Parameter</p>
<div class="clear"></div>
@ -3653,6 +3912,15 @@ Pointer Classes cannot be created in lua scripts. It always requires a call to C
<tr><td class="def"><span class="em">long</span></td><td class="decl"><span class="functionname">from</span></td><td class="fill"></td></tr>
<tr><td class="def"><span class="em">long</span></td><td class="decl"><span class="functionname">to</span></td><td class="fill"></td></tr>
</table>
<h3 id="Evoral:Sequence" class="cls pointerclass"><abbr title="Pointer Class">&Rarr;</abbr>&nbsp;Evoral:Sequence</h3>
<p class="cdecl"><em>C&#8225;</em>: boost::shared_ptr&lt; Evoral::Sequence&lt;Evoral::Beats&gt; &gt;, boost::weak_ptr&lt; Evoral::Sequence&lt;Evoral::Beats&gt; &gt;</p>
<p class="classinfo">is-a: <a class="" href="#Evoral:ControlSet">Evoral:ControlSet</a></p>
<div class="clear"></div>
<table class="classmembers">
<tr><th colspan="3">Methods</th></tr>
<tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="void (*)()">isnil</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
<tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="void (*)(Evoral::Sequence&lt;Evoral::Beats&gt;)">sameinstance</abbr></span><span class="functionargs"> (<a class="" href="#Evoral:Sequence">Sequence</a>)</span></td><td class="fill"></td></tr>
</table>
<h3 id="LuaSignal:Set" class="cls class"><abbr title="Class">&comp;</abbr>&nbsp;LuaSignal:Set</h3>
<p class="cdecl"><em>C&#8225;</em>: std::bitset&lt;47ul&gt;</p>
<div class="clear"></div>
@ -3896,6 +4164,10 @@ Pointer Classes cannot be created in lua scripts. It always requires a call to C
<table class="classmembers">
<tr><th colspan="3">Constructor</th></tr>
<tr><td class="def">&Copf;</td><td class="decl"><span class="functionname">Timecode.BBT_TIME</span><span class="functionargs"> (<span class="em">unsigned int</span>, <span class="em">unsigned int</span>, <span class="em">unsigned int</span>)</span></td><td class="fill"></td></tr>
<tr><th colspan="3">Data Members</th></tr>
<tr><td class="def"><span class="em">unsigned int</span></td><td class="decl"><span class="functionname">bars</span></td><td class="fill"></td></tr>
<tr><td class="def"><span class="em">unsigned int</span></td><td class="decl"><span class="functionname">beats</span></td><td class="fill"></td></tr>
<tr><td class="def"><span class="em">unsigned int</span></td><td class="decl"><span class="functionname">ticks</span></td><td class="fill"></td></tr>
</table>
<h3 id="Vamp:Plugin" class="cls class"><abbr title="Class">&comp;</abbr>&nbsp;Vamp:Plugin</h3>
<p class="cdecl"><em>C&#8225;</em>: Vamp::Plugin</p>
@ -3904,8 +4176,26 @@ Pointer Classes cannot be created in lua scripts. It always requires a call to C
<div class="classdox"><p class="para-brief"> Vamp::Plugin is a base class for plugin instance classes that provide feature extraction from audio or related data.</p><p> In most cases, the input will be audio and the output will be a stream of derived data at a lower sampling resolution than the input.</p><p> Note that this class inherits several abstract methods from PluginBase. These must be implemented by the subclass.</p><p> PLUGIN LIFECYCLE</p><p> Feature extraction plugins are managed differently from real-time plugins (such as VST effects). The main difference is that the parameters for a feature extraction plugin are configured before the plugin is used, and do not change during use.</p><p> 1. Host constructs the plugin, passing it the input sample rate. The plugin may do basic initialisation, but should not do anything computationally expensive at this point. You must make sure your plugin is cheap to construct, otherwise you&#39;ll seriously affect the startup performance of almost all hosts. If you have serious initialisation to do, the proper place is in initialise() (step 5).</p><p> 2. Host may query the plugin&#39;s available outputs.</p><p> 3. Host queries programs and parameter descriptors, and may set some or all of them. Parameters that are not explicitly set should take their default values as specified in the parameter descriptor. When a program is set, the parameter values may change and the host will re-query them to check.</p><p> 4. Host queries the preferred step size, block size and number of channels. These may all vary depending on the parameter values. (Note however that you cannot make the number of distinct outputs dependent on parameter values.)</p><p> 5. Plugin is properly initialised with a call to initialise. This fixes the step size, block size, and number of channels, as well as all of the parameter and program settings. If the values passed in to initialise do not match the plugin&#39;s advertised preferred values from step 4, the plugin may refuse to initialise and return false (although if possible it should accept the new values). Any computationally expensive setup code should take place here.</p><p> 6. Host finally checks the number of values, resolution, extents etc per output (which may vary depending on the number of channels, step size and block size as well as the parameter values).</p><p> 7. Host will repeatedly call the process method to pass in blocks of input data. This method may return features extracted from that data (if the plugin is causal).</p><p> 8. Host will call getRemainingFeatures exactly once, after all the input data has been processed. This may return any non-causal or leftover features.</p><p> 9. At any point after initialise was called, the host may optionally call the reset method and restart processing. (This does not mean it can change the parameters, which are fixed from initialise until destruction.)</p><p> A plugin does not need to handle the case where setParameter or selectProgram is called after initialise has been called. It&#39;s the host&#39;s responsibility not to do that. Similarly, the plugin may safely assume that initialise is called no more than once.</p></div>
<table class="classmembers">
<tr><th colspan="3">Methods</th></tr>
<tr><td class="def"><a class="" href="#Vamp.Plugin.InputDomain">InputDomain</a></td><td class="decl"><span class="functionname"><abbr title="Vamp::Plugin::InputDomain (Vamp::Plugin::*)() const">getInputDomain</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> Get the plugin&#39;s required input domain.</p><p> If this is TimeDomain, the samples provided to the process() function (below) will be in the time domain, as for a traditional audio processing plugin.</p><p> If this is FrequencyDomain, the host will carry out a windowed FFT of size equal to the negotiated block size on the data before passing the frequency bin data in to process(). The input data for the FFT will be rotated so as to place the origin in the centre of the block. The plugin does not get to choose the window type -- the host will either let the user do so, or will use a Hanning window.</p></div></td></tr>
<tr><td class="def"><span class="em">unsigned long</span></td><td class="decl"><span class="functionname"><abbr title="unsigned long (Vamp::Plugin::*)() const">getMaxChannelCount</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> Get the maximum supported number of input channels.</p></div></td></tr>
<tr><td class="def"><span class="em">unsigned long</span></td><td class="decl"><span class="functionname"><abbr title="unsigned long (Vamp::Plugin::*)() const">getMinChannelCount</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> Get the minimum supported number of input channels.</p></div></td></tr>
<tr><td class="def"><a class="" href="#Vamp:Plugin:OutputList">OutputList</a></td><td class="decl"><span class="functionname"><abbr title="std::vector&lt;Vamp::Plugin::OutputDescriptor &gt; (Vamp::Plugin::*)() const">getOutputDescriptors</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> Get the outputs of this plugin. An output&#39;s index in this list is used as its numeric index when looking it up in the FeatureSet returned from the process() call.</p></div></td></tr>
<tr><td class="def"><span class="em">unsigned long</span></td><td class="decl"><span class="functionname"><abbr title="unsigned long (Vamp::Plugin::*)() const">getPreferredBlockSize</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> Get the preferred block size (window size -- the number of sample frames passed in each block to the process() function). This should be called before initialise().</p><p> A plugin that can handle any block size may return 0. The final block size will be set in the initialise() call.</p></div></td></tr>
<tr><td class="def"><span class="em">unsigned long</span></td><td class="decl"><span class="functionname"><abbr title="unsigned long (Vamp::Plugin::*)() const">getPreferredStepSize</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> Get the preferred step size (window increment -- the distance in sample frames between the start frames of consecutive blocks passed to the process() function) for the plugin. This should be called before initialise().</p><p> A plugin may return 0 if it has no particular interest in the step size. In this case, the host should make the step size equal to the block size if the plugin is accepting input in the time domain. If the plugin is accepting input in the frequency domain, the host may use any step size. The final step size will be set in the initialise() call.</p></div></td></tr>
<tr><td class="def"><a class="" href="#Vamp:Plugin:FeatureSet">FeatureSet</a></td><td class="decl"><span class="functionname"><abbr title="std::map&lt;int, std::vector&lt;Vamp::Plugin::Feature &gt; &gt; &gt; &gt; (Vamp::Plugin::*)()">getRemainingFeatures</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> After all blocks have been processed, calculate and return any remaining features derived from the complete input.</p></div></td></tr>
<tr><td class="def"><span class="em">std::string</span></td><td class="decl"><span class="functionname"><abbr title="std::string (Vamp::Plugin::*)() const">getType</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> Used to distinguish between Vamp::Plugin and other potential sibling subclasses of PluginBase. Do not reimplement this function in your subclass.</p></div></td></tr>
<tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (Vamp::Plugin::*)(unsigned long, unsigned long, unsigned long)">initialise</abbr></span><span class="functionargs"> (<span class="em">unsigned long</span>, <span class="em">unsigned long</span>, <span class="em">unsigned long</span>)</span></td><td class="fill"></td></tr>
<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> Initialise a plugin to prepare it for use with the given number of input channels, step size (window increment, in sample frames) and block size (window size, in sample frames).</p><p> The input sample rate should have been already specified at construction time.</p><p> Return true for successful initialisation, false if the number of input channels, step size and&#47;or block size cannot be supported.</p></div></td></tr>
<tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (Vamp::Plugin::*)()">reset</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> Reset the plugin after use, to prepare it for another clean run. Not called for the first initialisation (i.e. initialise must also do a reset).</p></div></td></tr>
</table>
<h4 class="cls">Inherited from Vamp:PluginBase</h4>
<table class="classmembers">
@ -3930,8 +4220,6 @@ Pointer Classes cannot be created in lua scripts. It always requires a call to C
<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> Get the version number of the plugin.</p></div></td></tr>
<tr><td class="def"><a class="" href="#C:StringVector">StringVector</a></td><td class="decl"><span class="functionname"><abbr title="std::vector&lt;std::string &gt; (Vamp::PluginBase::*)() const">getPrograms</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> Get the program settings available in this plugin. 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&#47;or non-public internal processing parameters). The host should re-read the plugin&#39;s parameter values after setting a new program.</p><p> The programs must have unique names.</p></div></td></tr>
<tr><td class="def"><span class="em">std::string</span></td><td class="decl"><span class="functionname"><abbr title="std::string (Vamp::PluginBase::*)() const">getType</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> Get the type of plugin. This is to be implemented by the immediate subclass, not by actual plugins. Do not attempt to implement this in plugin code.</p></div></td></tr>
<tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (Vamp::PluginBase::*)(std::string)">selectProgram</abbr></span><span class="functionargs"> (<span class="em">std::string</span>)</span></td><td class="fill"></td></tr>
<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> Select a program. (If the given program name is not one of the available programs, do nothing.)</p></div></td></tr>
<tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (Vamp::PluginBase::*)(std::string, float)">setParameter</abbr></span><span class="functionargs"> (<span class="em">std::string</span>, <span class="em">float</span>)</span></td><td class="fill"></td></tr>
@ -3978,6 +4266,7 @@ Pointer Classes cannot be created in lua scripts. It always requires a call to C
<tr><td class="def">&Copf;</td><td class="decl"><span class="functionname">Vamp.Plugin.FeatureSet</span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
<tr><th colspan="3">Methods</th></tr>
<tr><td class="def"><em>LuaTable</em></td><td class="decl"><span class="functionname"><abbr title="int (*)(lua_State*) const">add</abbr></span><span class="functionargs"> (<em>LuaTable</em> {<a class="" href="#Vamp:Plugin:Feature">Feature</a>})</span></td><td class="fill"></td></tr>
<tr><td class="def"><em>...</em></td><td class="decl"><span class="functionname"><abbr title="int (*)(lua_State*) const">at</abbr></span><span class="functionargs"> (<span class="em">--lua--</span>)</span></td><td class="fill"></td></tr>
<tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (std::map&lt;int, std::vector&lt;Vamp::Plugin::Feature &gt; &gt; &gt; &gt;::*)()">clear</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
<tr><td class="def"><span class="em">unsigned long</span></td><td class="decl"><span class="functionname"><abbr title="unsigned long (std::map&lt;int, std::vector&lt;Vamp::Plugin::Feature &gt; &gt; &gt; &gt;::*)(int const&amp;) const">count</abbr></span><span class="functionargs"> (<span class="em">int</span>)</span></td><td class="fill"></td></tr>
<tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (std::map&lt;int, std::vector&lt;Vamp::Plugin::Feature &gt; &gt; &gt; &gt;::*)() const">empty</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
@ -4153,6 +4442,11 @@ Pointer Classes cannot be created in lua scripts. It always requires a call to C
<li class="const">Evoral.InterpolationStyle.Linear</li>
<li class="const">Evoral.InterpolationStyle.Curved</li>
</ul>
<h3 id="Vamp.Plugin.InputDomain" class="cls enum"><abbr title="Enum">&isin;</abbr>&nbsp;Vamp.Plugin.InputDomain</h3>
<ul class="enum">
<li class="const">Vamp.Plugin.InputDomain.TimeDomain</li>
<li class="const">Vamp.Plugin.InputDomain.FrequencyDomain</li>
</ul>
<h3 id="Vamp.Plugin.OutputDescriptor.SampleType" class="cls enum"><abbr title="Enum">&isin;</abbr>&nbsp;Vamp.Plugin.OutputDescriptor.SampleType</h3>
<ul class="enum">
<li class="const">Vamp.Plugin.OutputDescriptor.SampleType.OneSamplePerStep</li>
@ -4247,6 +4541,11 @@ Pointer Classes cannot be created in lua scripts. It always requires a call to C
<li class="const">ARDOUR.MeterPoint.MeterOutput</li>
<li class="const">ARDOUR.MeterPoint.MeterCustom</li>
</ul>
<h3 id="ARDOUR.NoteMode" class="cls enum"><abbr title="Enum">&isin;</abbr>&nbsp;ARDOUR.NoteMode</h3>
<ul class="enum">
<li class="const">ARDOUR.NoteMode.Sustained</li>
<li class="const">ARDOUR.NoteMode.Percussive</li>
</ul>
<h3 id="ARDOUR.PortFlags" class="cls enum"><abbr title="Enum">&isin;</abbr>&nbsp;ARDOUR.PortFlags</h3>
<ul class="enum">
<li class="const">ARDOUR.PortFlags.IsInput</li>
@ -4542,6 +4841,7 @@ Pointer Classes cannot be created in lua scripts. It always requires a call to C
<li><a class="" href="#ARDOUR:AudioTrack">ARDOUR:AudioTrack</a></li>
<li><a class="" href="#ARDOUR:AudioTrackList">ARDOUR:AudioTrackList</a></li>
<li><a class="" href="#ARDOUR:Automatable">ARDOUR:Automatable</a></li>
<li><a class="" href="#ARDOUR:AutomatableSequence">ARDOUR:AutomatableSequence</a></li>
<li><a class="" href="#ARDOUR:AutomationControl">ARDOUR:AutomationControl</a></li>
<li><a class="" href="#ARDOUR:AutomationList">ARDOUR:AutomationList</a></li>
<li><a class="" href="#ARDOUR:BackendVector">ARDOUR:BackendVector</a></li>
@ -4573,7 +4873,13 @@ Pointer Classes cannot be created in lua scripts. It always requires a call to C
<li><a class="" href="#ARDOUR:MeterSection">ARDOUR:MeterSection</a></li>
<li><a class="" href="#ARDOUR:MetricSection">ARDOUR:MetricSection</a></li>
<li><a class="" href="#ARDOUR:MidiBuffer">ARDOUR:MidiBuffer</a></li>
<li><a class="" href="#ARDOUR:MidiModel">ARDOUR:MidiModel</a></li>
<li><a class="" href="#ARDOUR:MidiModel:DiffCommand">ARDOUR:MidiModel:DiffCommand</a></li>
<li><a class="" href="#ARDOUR:MidiModel:NoteDiffCommand">ARDOUR:MidiModel:NoteDiffCommand</a></li>
<li><a class="" href="#ARDOUR:MidiPlaylist">ARDOUR:MidiPlaylist</a></li>
<li><a class="" href="#ARDOUR:MidiPort">ARDOUR:MidiPort</a></li>
<li><a class="" href="#ARDOUR:MidiRegion">ARDOUR:MidiRegion</a></li>
<li><a class="" href="#ARDOUR:MidiSource">ARDOUR:MidiSource</a></li>
<li><a class="" href="#ARDOUR:MidiTrack">ARDOUR:MidiTrack</a></li>
<li><a class="" href="#ARDOUR:MidiTrackList">ARDOUR:MidiTrackList</a></li>
<li><a class="" href="#ARDOUR:MonitorProcessor">ARDOUR:MonitorProcessor</a></li>
@ -4657,9 +4963,11 @@ Pointer Classes cannot be created in lua scripts. It always requires a call to C
<li><a class="" href="#Evoral:ControlSet">Evoral:ControlSet</a></li>
<li><a class="" href="#Evoral:Event">Evoral:Event</a></li>
<li><a class="" href="#Evoral:MidiEvent">Evoral:MidiEvent</a></li>
<li><a class="" href="#Evoral:NotePtr">Evoral:NotePtr</a></li>
<li><a class="" href="#Evoral:Parameter">Evoral:Parameter</a></li>
<li><a class="" href="#Evoral:ParameterDescriptor">Evoral:ParameterDescriptor</a></li>
<li><a class="" href="#Evoral:Range">Evoral:Range</a></li>
<li><a class="" href="#Evoral:Sequence">Evoral:Sequence</a></li>
<li><a class="" href="#LuaSignal:Set">LuaSignal:Set</a></li>
<li><a class="" href="#PBD">PBD</a></li>
<li><a class="" href="#PBD:Command">PBD:Command</a></li>
@ -4688,6 +4996,6 @@ Pointer Classes cannot be created in lua scripts. It always requires a call to C
<li><a class="" href="#Vamp:PluginBase:ParameterList">Vamp:PluginBase:ParameterList</a></li>
<li><a class="" href="#Vamp:RealTime">Vamp:RealTime</a></li>
</ul>
<!-- 424 / 1776 !-->
<!-- 450 / 1911 !-->
</div>
<div class="luafooter">Ardour 5.4-25-gb233a56 &nbsp;-&nbsp; Wed, 05 Oct 2016 04:37:46 +0200</div>
<div class="luafooter">Ardour 5.4-66-g40a57f2 &nbsp;-&nbsp; Sat, 08 Oct 2016 01:49:55 +0200</div>