]> Shamusworld >> Repos - ardour-manual/blobdiff - _manual/24_lua-scripting/02_class_reference.html
Tidying doc about Cleaning up Sessions
[ardour-manual] / _manual / 24_lua-scripting / 02_class_reference.html
index 2465fb56d5a42fb0ed230e9949f5d038adc359a0..f21f6aea82c427a6e30c9fc1d10b210755b1b0b7 100644 (file)
@@ -261,8 +261,8 @@ 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::PortManager::*)(boost::shared_ptr&lt;ARDOUR::Port&gt;)">disconnect_port</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR:Port">Port</a>)</span></td><td class="fill"></td></tr>
  <tr><td class="def"><em>LuaTable</em>(<span class="em">int</span>, ...)</td><td class="decl"><span class="functionname"><abbr title="int (ARDOUR::PortManager::*)(std::string const&amp;, ARDOUR::DataType, ARDOUR::PortFlags, std::vector&lt;std::string &gt;&amp;)">get_backend_ports</abbr></span><span class="functionargs"> (<span class="em">std::string</span>, <a class="" href="#ARDOUR:DataType">DataType</a>, <a class="" href="#ARDOUR.PortFlags">PortFlags</a>, <a class="" href="#C:StringVector">StringVector&amp;</a>)</span></td><td class="fill"></td></tr>
  <tr><td class="def"><em>LuaTable</em>(<span class="em">int</span>, ...)</td><td class="decl"><span class="functionname"><abbr title="int (ARDOUR::PortManager::*)(std::string const&amp;, std::vector&lt;std::string &gt;&amp;)">get_connections</abbr></span><span class="functionargs"> (<span class="em">std::string</span>, <a class="" href="#C:StringVector">StringVector&amp;</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::PortManager::*)(ARDOUR::DataType, std::vector&lt;std::string &gt;&amp;, ARDOUR::MidiPortFlags, ARDOUR::MidiPortFlags)">get_physical_inputs</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR:DataType">DataType</a>, <a class="" href="#C:StringVector">StringVector&amp;</a>, <span>--MISSING (ARDOUR::MidiPortFlags)--</span>, <span>--MISSING (ARDOUR::MidiPortFlags)--</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::PortManager::*)(ARDOUR::DataType, std::vector&lt;std::string &gt;&amp;, ARDOUR::MidiPortFlags, ARDOUR::MidiPortFlags)">get_physical_outputs</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR:DataType">DataType</a>, <a class="" href="#C:StringVector">StringVector&amp;</a>, <span>--MISSING (ARDOUR::MidiPortFlags)--</span>, <span>--MISSING (ARDOUR::MidiPortFlags)--</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::PortManager::*)(ARDOUR::DataType, std::vector&lt;std::string &gt;&amp;, ARDOUR::MidiPortFlags, ARDOUR::MidiPortFlags)">get_physical_inputs</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR:DataType">DataType</a>, <a class="" href="#C:StringVector">StringVector&amp;</a>, <a class="" href="#ARDOUR.MidiPortFlags">MidiPortFlags</a>, <a class="" href="#ARDOUR.MidiPortFlags">MidiPortFlags</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::PortManager::*)(ARDOUR::DataType, std::vector&lt;std::string &gt;&amp;, ARDOUR::MidiPortFlags, ARDOUR::MidiPortFlags)">get_physical_outputs</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR:DataType">DataType</a>, <a class="" href="#C:StringVector">StringVector&amp;</a>, <a class="" href="#ARDOUR.MidiPortFlags">MidiPortFlags</a>, <a class="" href="#ARDOUR.MidiPortFlags">MidiPortFlags</a>)</span></td><td class="fill"></td></tr>
  <tr><td class="def"><a class="" href="#ARDOUR:Port">Port</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::Port&gt; (ARDOUR::PortManager::*)(std::string const&amp;)">get_port_by_name</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"><dl><dt class="param-name-index-invalid">name</dt><dd class="param-descr-index-invalid"> Full or short name of port  </dd></dl><div class="result-discussion"><p class="para-returns"><span class="word-returns">Returns</span>  Corresponding Port or 0.</p></div></div></td></tr>
  <tr><td class="def"><em>LuaTable</em>(<span class="em">int</span>, ...)</td><td class="decl"><span class="functionname"><abbr title="int (ARDOUR::PortManager::*)(ARDOUR::DataType, std::list&lt;boost::shared_ptr&lt;ARDOUR::Port&gt; &gt;&amp;)">get_ports</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR:DataType">DataType</a>, <a class="" href="#ARDOUR:PortList">PortList&amp;</a>)</span></td><td class="fill"></td></tr>
@@ -387,6 +387,93 @@ 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 (std::list&lt;ARDOUR::AudioRange &gt;::*)() const">size</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
  <tr><td class="def"><em>LuaTable</em></td><td class="decl"><span class="functionname"><abbr title="int (*)(lua_State*) const">table</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
  </table>
+<h3 id="ARDOUR:AudioRegion" class="cls pointerclass"><abbr title="Pointer Class">&Rarr;</abbr>&nbsp;ARDOUR:AudioRegion</h3>
+<p class="cdecl"><em>C&#8225;</em>: boost::shared_ptr&lt; ARDOUR::AudioRegion &gt;, boost::weak_ptr&lt; ARDOUR::AudioRegion &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"><a class="" href="#ARDOUR:AudioSource">AudioSource</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::AudioSource&gt; (ARDOUR::AudioRegion::*)(unsigned int) const">audio_source</abbr></span><span class="functionargs"> (<span class="em">unsigned 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="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::AudioRegion)">sameinstance</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR:AudioRegion">AudioRegion</a>)</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::AudioRegion::*)() const">scale_amplitude</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::AudioRegion::*)(float)">set_scale_amplitude</abbr></span><span class="functionargs"> (<span class="em">float</span>)</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"><a class="" href="#C:StringVector">StringVector</a></td><td class="decl"><span class="functionname"><abbr title="std::vector&lt;std::string &gt; (ARDOUR::Region::*)()">master_source_names</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
+ <tr><td class="def"><a class="" href="#ARDOUR:SourceList">SourceList</a></td><td class="decl"><span class="functionname"><abbr title="std::vector&lt;boost::shared_ptr&lt;ARDOUR::Source&gt; &gt; const&amp; (ARDOUR::Region::*)() const">master_sources</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">unsigned int</span></td><td class="decl"><span class="functionname"><abbr title="unsigned int (ARDOUR::Region::*)() const">n_channels</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">double</span></td><td class="decl"><span class="functionname"><abbr title="double (ARDOUR::Region::*)() const">quarter_note</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"><a class="" href="#ARDOUR:Source">Source</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::Source&gt; (ARDOUR::Region::*)(unsigned int) const">source</abbr></span><span class="functionargs"> (<span class="em">unsigned 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::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:AudioRegion">AudioRegion</a></td><td class="decl"><span class="functionname"><abbr title="ARDOUR::AudioRegion (ARDOUR::Region::*)()">to_audioregion</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></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:AudioSource" class="cls pointerclass"><abbr title="Pointer Class">&Rarr;</abbr>&nbsp;ARDOUR:AudioSource</h3>
 <p class="cdecl"><em>C&#8225;</em>: boost::shared_ptr&lt; ARDOUR::AudioSource &gt;, boost::weak_ptr&lt; ARDOUR::AudioSource &gt;</p>
  <p class="classinfo">is-a: <a class="" href="#ARDOUR:Source">ARDOUR:Source</a></p>
@@ -502,6 +589,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">          Return the first processor that accepts has at least one MIDI input     and at least one audio output. In the vast majority of cases, this      will be &quot;the instrument&quot;. This does not preclude other MIDI-&gt;audio         processors later in the processing chain, but that would be a           special case not covered by this utility function.</p></div></td></tr>
  <tr><td class="def"><a class="" href="#ARDOUR:Amp">Amp</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::Amp&gt; (ARDOUR::Route::*)() const">trim</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:Automatable">Automatable</a></td><td class="decl"><span class="functionname"><abbr title="ARDOUR::Automatable (ARDOUR::Route::*)()">to_automatable</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
  <tr><td class="def"><a class="" href="#ARDOUR:Track">Track</a></td><td class="decl"><span class="functionname"><abbr title="ARDOUR::Track (ARDOUR::Route::*)()">to_track</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
 </table>
 <h4 class="cls">Inherited from ARDOUR:Stripable</h4>
@@ -1141,12 +1229,13 @@ Pointer Classes cannot be created in lua scripts. It always requires a call to C
 <div class="clear"></div>
 <table class="classmembers">
  <tr><th colspan="3">Methods</th></tr>
- <tr><td class="def"><span class="em">LuaTable</span></td><td class="decl"><span class="functionname"><abbr title="int (*)(lua_State*) const">build_filename</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
+ <tr><td class="def"><span class="em">...</span></td><td class="decl"><span class="functionname"><abbr title="int (*)(lua_State*) const">build_filename</abbr></span><span class="functionargs"> (<span class="em">--lua--</span>)</span></td><td class="fill"></td></tr>
+<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> Creates a filename from a series of elements using the correct separator for filenames.</p><p> No attempt is made to force the resulting filename to be an absolute path. If the first element is a relative path, the result will be a relative path.</p></div></td></tr>
  <tr><td class="def"><em>LuaTable</em>(<span class="em">float</span>, ...)</td><td class="decl"><span class="functionname"><abbr title="float (*)(boost::shared_ptr&lt;ARDOUR::PluginInsert&gt;, unsigned int, bool&amp;)">get_plugin_insert_param</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR:PluginInsert">PluginInsert</a>, <span class="em">unsigned int</span>, <span class="em">bool&amp;</span>)</span></td><td class="fill"></td></tr>
 <tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> get a plugin control parameter value</p><dl><dt class="param-name-index-1">which</dt><dd class="param-descr-index-1"> control port to query (starting at 0, including ports of type input and output) </dd><dt class="param-name-index-2">ok</dt><dd class="param-descr-index-2"> boolean variable contains true or false after call returned. to be checked by caller before using value. </dd><dt class="param-name-index-invalid">proc</dt><dd class="param-descr-index-invalid"> Plugin-Insert </dd></dl><div class="result-discussion"><p class="para-returns"><span class="word-returns">Returns</span>  value</p></div></div></td></tr>
  <tr><td class="def"><em>LuaTable</em>(<span class="em">float</span>, ...)</td><td class="decl"><span class="functionname"><abbr title="float (*)(boost::shared_ptr&lt;ARDOUR::Processor&gt;, unsigned int, bool&amp;)">get_processor_param</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR:Processor">Processor</a>, <span class="em">unsigned int</span>, <span class="em">bool&amp;</span>)</span></td><td class="fill"></td></tr>
 <tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> get a plugin control parameter value</p><dl><dt class="param-name-index-0">proc</dt><dd class="param-descr-index-0"> Plugin-Processor </dd><dt class="param-name-index-1">which</dt><dd class="param-descr-index-1"> control port to set (starting at 0, including ports of type input and output)) </dd><dt class="param-name-index-2">ok</dt><dd class="param-descr-index-2"> boolean variable contains true or false after call returned. to be checked by caller before using value. </dd></dl><div class="result-discussion"><p class="para-returns"><span class="word-returns">Returns</span>  value</p></div></div></td></tr>
- <tr><td class="def"><span class="em">LuaTable</span></td><td class="decl"><span class="functionname"><abbr title="int (*)(lua_State*) const">hsla_to_rgba</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
+ <tr><td class="def"><span class="em">...</span></td><td class="decl"><span class="functionname"><abbr title="int (*)(lua_State*) const">hsla_to_rgba</abbr></span><span class="functionargs"> (<span class="em">--lua--</span>)</span></td><td class="fill"></td></tr>
 <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>
@@ -1156,7 +1245,7 @@ Pointer Classes cannot be created in lua scripts. It always requires a call to C
  <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>
 <tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> search a Plugin</p><dl><dt class="param-name-index-0">id</dt><dd class="param-descr-index-0"> Plugin Name, ID or URI </dd><dt class="param-name-index-1">type</dt><dd class="param-descr-index-1"> Plugin Type </dd></dl><div class="result-discussion"><p class="para-returns"><span class="word-returns">Returns</span>  PluginInfo or nil if not found</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; (*)()">nil_proc</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">LuaTable</span></td><td class="decl"><span class="functionname"><abbr title="int (*)(lua_State*) const">plugin_automation</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
+ <tr><td class="def"><span class="em">...</span></td><td class="decl"><span class="functionname"><abbr title="int (*)(lua_State*) const">plugin_automation</abbr></span><span class="functionargs"> (<span class="em">--lua--</span>)</span></td><td class="fill"></td></tr>
 <tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> A convenience function to get a Automation Lists and ParamaterDescriptor for a given plugin control.</p><p> This is equivalent to the following lua code </p><pre> function (processor, param_id)
   local plugininsert = processor:to_insert ()
   local plugin = plugininsert:plugin(0)
@@ -1166,10 +1255,14 @@ Pointer Classes cannot be created in lua scripts. It always requires a call to C
   local acl = ac:alist()
   return ac:alist(), ac:to_ctrl():list(), t[2]
  end</pre><p> Example usage: get the third input parameter of first plugin on the given route (Ardour starts counting at zero). </p><pre> local al, cl, pd = ARDOUR.LuaAPI.plugin_automation (route:nth_plugin (0), 3)</pre><div class="result-discussion"><p class="para-returns"><span class="word-returns">Returns</span>  3 parameters: AutomationList, ControlList, ParamaterDescriptor</p></div></div></td></tr>
+ <tr><td class="def"><span class="em">...</span></td><td class="decl"><span class="functionname"><abbr title="int (*)(lua_State*) const">sample_to_timecode</abbr></span><span class="functionargs"> (<span class="em">--lua--</span>)</span></td><td class="fill"></td></tr>
+<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> Generic conversion from audio sample count to timecode. (TimecodeType, sample-rate, sample-pos)</p></div></td></tr>
  <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (*)(boost::shared_ptr&lt;ARDOUR::PluginInsert&gt;, unsigned int, float)">set_plugin_insert_param</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR:PluginInsert">PluginInsert</a>, <span class="em">unsigned int</span>, <span class="em">float</span>)</span></td><td class="fill"></td></tr>
 <tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> set a plugin control-input parameter value</p><p> This is a wrapper around set_processor_param which looks up the Processor by plugin-insert.</p><dl><dt class="param-name-index-1">which</dt><dd class="param-descr-index-1"> control-input to set (starting at 0) </dd><dt class="param-name-index-invalid">proc</dt><dd class="param-descr-index-invalid"> Plugin-Insert </dd><dt class="param-name-index-invalid">value</dt><dd class="param-descr-index-invalid"> value to set </dd></dl><div class="result-discussion"><p class="para-returns"><span class="word-returns">Returns</span>  true on success, false on error or out-of-bounds value</p></div></div></td></tr>
  <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (*)(boost::shared_ptr&lt;ARDOUR::Processor&gt;, unsigned int, float)">set_processor_param</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR:Processor">Processor</a>, <span class="em">unsigned int</span>, <span class="em">float</span>)</span></td><td class="fill"></td></tr>
 <tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> set a plugin control-input parameter value</p><dl><dt class="param-name-index-0">proc</dt><dd class="param-descr-index-0"> Plugin-Processor </dd><dt class="param-name-index-1">which</dt><dd class="param-descr-index-1"> control-input to set (starting at 0) </dd><dt class="param-name-index-invalid">value</dt><dd class="param-descr-index-invalid"> value to set </dd></dl><div class="result-discussion"><p class="para-returns"><span class="word-returns">Returns</span>  true on success, false on error or out-of-bounds value</p></div></div></td></tr>
+ <tr><td class="def"><span class="em">...</span></td><td class="decl"><span class="functionname"><abbr title="int (*)(lua_State*) const">timecode_to_sample</abbr></span><span class="functionargs"> (<span class="em">--lua--</span>)</span></td><td class="fill"></td></tr>
+<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> Generic conversion from timecode to audio sample count. (TimecodeType, sample-rate, hh, mm, ss, ff)</p></div></td></tr>
  <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (*)(unsigned long)">usleep</abbr></span><span class="functionargs"> (<span class="em">unsigned long</span>)</span></td><td class="fill"></td></tr>
  </table>
 <h3 id="ARDOUR:LuaAPI:Vamp" class="cls class"><abbr title="Class">&comp;</abbr>&nbsp;ARDOUR:LuaAPI:Vamp</h3>
@@ -1303,7 +1396,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::MidiBuffer::*)(ARDOUR::MidiBuffer const*)">copy</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR:MidiBuffer">MidiBuffer</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="bool (ARDOUR::MidiBuffer::*)() 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="bool (ARDOUR::MidiBuffer::*)(long, unsigned long, unsigned char const*)">push_back</abbr></span><span class="functionargs"> (<span class="em">long</span>, <span class="em">unsigned long</span>, <span class="em">unsigned char*</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::MidiBuffer::*)(Evoral::MIDIEvent&lt;long&gt; const&amp;)">push_event</abbr></span><span class="functionargs"> (<a class="" href="#Evoral:MidiEvent">MidiEvent</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="bool (ARDOUR::MidiBuffer::*)(Evoral::Event&lt;long&gt; const&amp;)">push_event</abbr></span><span class="functionargs"> (<a class="" href="#Evoral:Event">Event</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::MidiBuffer::*)(unsigned long)">resize</abbr></span><span class="functionargs"> (<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"> Reallocate the buffer used internally to handle at least <em>size_t</em> units of data.</p><p> The buffer is not silent after this operation. the <em>capacity</em> argument passed to the constructor must have been non-zero.</p></div></td></tr>
  <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="void (*)(ARDOUR::MidiBuffer)">sameinstance</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR:MidiBuffer">MidiBuffer</a>)</span></td><td class="fill"></td></tr>
@@ -1517,7 +1610,7 @@ 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"><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">double</span></td><td class="decl"><span class="functionname"><abbr title="double (ARDOUR::Region::*)() const">pulse</abbr></span><span class="functionargs"> ()</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::Region::*)() const">quarter_note</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>
@@ -1547,6 +1640,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:AudioRegion">AudioRegion</a></td><td class="decl"><span class="functionname"><abbr title="ARDOUR::AudioRegion (ARDOUR::Region::*)()">to_audioregion</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></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>
@@ -1663,6 +1757,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">          Return the first processor that accepts has at least one MIDI input     and at least one audio output. In the vast majority of cases, this      will be &quot;the instrument&quot;. This does not preclude other MIDI-&gt;audio         processors later in the processing chain, but that would be a           special case not covered by this utility function.</p></div></td></tr>
  <tr><td class="def"><a class="" href="#ARDOUR:Amp">Amp</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::Amp&gt; (ARDOUR::Route::*)() const">trim</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:Automatable">Automatable</a></td><td class="decl"><span class="functionname"><abbr title="ARDOUR::Automatable (ARDOUR::Route::*)()">to_automatable</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
  <tr><td class="def"><a class="" href="#ARDOUR:Track">Track</a></td><td class="decl"><span class="functionname"><abbr title="ARDOUR::Track (ARDOUR::Route::*)()">to_track</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
 </table>
 <h4 class="cls">Inherited from ARDOUR:Stripable</h4>
@@ -2168,6 +2263,7 @@ Pointer Classes cannot be created in lua scripts. It always requires a call to C
  <tr><td class="def"><a class="" href="#ARDOUR:ChanCount">ChanCount</a></td><td class="decl"><span class="functionname"><abbr title="ARDOUR::ChanCount (ARDOUR::PluginInsert::*)() const">natural_output_streams</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
  <tr><td class="def"><a class="" href="#ARDOUR:ChanMapping">ChanMapping</a></td><td class="decl"><span class="functionname"><abbr title="ARDOUR::ChanMapping (ARDOUR::PluginInsert::*)(unsigned int) const">output_map</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:Plugin">Plugin</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::Plugin&gt; (ARDOUR::PluginInsert::*)(unsigned int) const">plugin</abbr></span><span class="functionargs"> (<span class="em">unsigned 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::PluginInsert::*)()">reset_parameters_to_default</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::PluginInsert)">sameinstance</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR:PluginInsert">PluginInsert</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::PluginInsert::*)(unsigned int, ARDOUR::ChanMapping)">set_input_map</abbr></span><span class="functionargs"> (<span class="em">unsigned int</span>, <a class="" href="#ARDOUR:ChanMapping">ChanMapping</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::PluginInsert::*)(unsigned int, ARDOUR::ChanMapping)">set_output_map</abbr></span><span class="functionargs"> (<span class="em">unsigned int</span>, <a class="" href="#ARDOUR:ChanMapping">ChanMapping</a>)</span></td><td class="fill"></td></tr>
@@ -2254,8 +2350,8 @@ 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::PortManager::*)(boost::shared_ptr&lt;ARDOUR::Port&gt;)">disconnect_port</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR:Port">Port</a>)</span></td><td class="fill"></td></tr>
  <tr><td class="def"><em>LuaTable</em>(<span class="em">int</span>, ...)</td><td class="decl"><span class="functionname"><abbr title="int (ARDOUR::PortManager::*)(std::string const&amp;, ARDOUR::DataType, ARDOUR::PortFlags, std::vector&lt;std::string &gt;&amp;)">get_backend_ports</abbr></span><span class="functionargs"> (<span class="em">std::string</span>, <a class="" href="#ARDOUR:DataType">DataType</a>, <a class="" href="#ARDOUR.PortFlags">PortFlags</a>, <a class="" href="#C:StringVector">StringVector&amp;</a>)</span></td><td class="fill"></td></tr>
  <tr><td class="def"><em>LuaTable</em>(<span class="em">int</span>, ...)</td><td class="decl"><span class="functionname"><abbr title="int (ARDOUR::PortManager::*)(std::string const&amp;, std::vector&lt;std::string &gt;&amp;)">get_connections</abbr></span><span class="functionargs"> (<span class="em">std::string</span>, <a class="" href="#C:StringVector">StringVector&amp;</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::PortManager::*)(ARDOUR::DataType, std::vector&lt;std::string &gt;&amp;, ARDOUR::MidiPortFlags, ARDOUR::MidiPortFlags)">get_physical_inputs</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR:DataType">DataType</a>, <a class="" href="#C:StringVector">StringVector&amp;</a>, <span>--MISSING (ARDOUR::MidiPortFlags)--</span>, <span>--MISSING (ARDOUR::MidiPortFlags)--</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::PortManager::*)(ARDOUR::DataType, std::vector&lt;std::string &gt;&amp;, ARDOUR::MidiPortFlags, ARDOUR::MidiPortFlags)">get_physical_outputs</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR:DataType">DataType</a>, <a class="" href="#C:StringVector">StringVector&amp;</a>, <span>--MISSING (ARDOUR::MidiPortFlags)--</span>, <span>--MISSING (ARDOUR::MidiPortFlags)--</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::PortManager::*)(ARDOUR::DataType, std::vector&lt;std::string &gt;&amp;, ARDOUR::MidiPortFlags, ARDOUR::MidiPortFlags)">get_physical_inputs</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR:DataType">DataType</a>, <a class="" href="#C:StringVector">StringVector&amp;</a>, <a class="" href="#ARDOUR.MidiPortFlags">MidiPortFlags</a>, <a class="" href="#ARDOUR.MidiPortFlags">MidiPortFlags</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::PortManager::*)(ARDOUR::DataType, std::vector&lt;std::string &gt;&amp;, ARDOUR::MidiPortFlags, ARDOUR::MidiPortFlags)">get_physical_outputs</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR:DataType">DataType</a>, <a class="" href="#C:StringVector">StringVector&amp;</a>, <a class="" href="#ARDOUR.MidiPortFlags">MidiPortFlags</a>, <a class="" href="#ARDOUR.MidiPortFlags">MidiPortFlags</a>)</span></td><td class="fill"></td></tr>
  <tr><td class="def"><a class="" href="#ARDOUR:Port">Port</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::Port&gt; (ARDOUR::PortManager::*)(std::string const&amp;)">get_port_by_name</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"><dl><dt class="param-name-index-invalid">name</dt><dd class="param-descr-index-invalid"> Full or short name of port  </dd></dl><div class="result-discussion"><p class="para-returns"><span class="word-returns">Returns</span>  Corresponding Port or 0.</p></div></div></td></tr>
  <tr><td class="def"><em>LuaTable</em>(<span class="em">int</span>, ...)</td><td class="decl"><span class="functionname"><abbr title="int (ARDOUR::PortManager::*)(ARDOUR::DataType, std::list&lt;boost::shared_ptr&lt;ARDOUR::Port&gt; &gt;&amp;)">get_ports</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR:DataType">DataType</a>, <a class="" href="#ARDOUR:PortList">PortList&amp;</a>)</span></td><td class="fill"></td></tr>
@@ -2454,7 +2550,7 @@ 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"><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">double</span></td><td class="decl"><span class="functionname"><abbr title="double (ARDOUR::Region::*)() const">pulse</abbr></span><span class="functionargs"> ()</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::Region::*)() const">quarter_note</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">bool</span></td><td class="decl"><span class="functionname"><abbr title="void (*)(ARDOUR::Region)">sameinstance</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR:Region">Region</a>)</span></td><td class="fill"></td></tr>
@@ -2485,6 +2581,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:AudioRegion">AudioRegion</a></td><td class="decl"><span class="functionname"><abbr title="ARDOUR::AudioRegion (ARDOUR::Region::*)()">to_audioregion</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></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>
@@ -2580,6 +2677,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">          Return the first processor that accepts has at least one MIDI input     and at least one audio output. In the vast majority of cases, this      will be &quot;the instrument&quot;. This does not preclude other MIDI-&gt;audio         processors later in the processing chain, but that would be a           special case not covered by this utility function.</p></div></td></tr>
  <tr><td class="def"><a class="" href="#ARDOUR:Amp">Amp</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::Amp&gt; (ARDOUR::Route::*)() const">trim</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:Automatable">Automatable</a></td><td class="decl"><span class="functionname"><abbr title="ARDOUR::Automatable (ARDOUR::Route::*)()">to_automatable</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
  <tr><td class="def"><a class="" href="#ARDOUR:Track">Track</a></td><td class="decl"><span class="functionname"><abbr title="ARDOUR::Track (ARDOUR::Route::*)()">to_track</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
  </table>
 <h4 class="cls">Inherited from ARDOUR:Stripable</h4>
@@ -2646,11 +2744,59 @@ Pointer Classes cannot be created in lua scripts. It always requires a call to C
  <tr><th colspan="3">Constructor</th></tr>
  <tr><td class="def">&Copf;</td><td class="decl"><span class="functionname">ARDOUR.Route.ProcessorStreams</span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
  </table>
-<h3 id="ARDOUR:RouteGroup" class="cls opaque"><abbr title="Opaque Object">&empty;</abbr>&nbsp;ARDOUR:RouteGroup</h3>
+<h3 id="ARDOUR:RouteGroup" class="cls class"><abbr title="Class">&comp;</abbr>&nbsp;ARDOUR:RouteGroup</h3>
 <p class="cdecl"><em>C&#8225;</em>: ARDOUR::RouteGroup</p>
 <div class="clear"></div>
 <div class="classdox"><p class="para-brief"> A group identifier for routes.</p><p> RouteGroups permit to define properties which are shared among all Routes that use the given identifier.</p><p> A route can at most be in one group.</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>
+<table class="classmembers">
+ <tr><th colspan="3">Methods</th></tr>
+ <tr><td class="def"><span class="em">int</span></td><td class="decl"><span class="functionname"><abbr title="int (ARDOUR::RouteGroup::*)(boost::shared_ptr&lt;ARDOUR::Route&gt;)">add</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR:Route">Route</a>)</span></td><td class="fill"></td></tr>
+<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> Add a route to a group.  Adding a route which is already in the group is allowed; nothing will happen.  </p><dl><dt class="param-name-index-0">r</dt><dd class="param-descr-index-0"> Route to add.</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::RouteGroup::*)()">clear</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::RouteGroup::*)()">destroy_subgroup</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::RouteGroup::*)() const">empty</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
+ <tr><td class="def"><span class="em">int</span></td><td class="decl"><span class="functionname"><abbr title="int (ARDOUR::RouteGroup::*)() const">group_master_number</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::RouteGroup::*)() const">has_subgroup</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::RouteGroup::*)() const">is_active</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::RouteGroup::*)() const">is_color</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::RouteGroup::*)() const">is_gain</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::RouteGroup::*)() const">is_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::RouteGroup::*)() const">is_monitoring</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::RouteGroup::*)() const">is_mute</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::RouteGroup::*)() const">is_recenable</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::RouteGroup::*)() const">is_relative</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::RouteGroup::*)() const">is_route_active</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::RouteGroup::*)() const">is_select</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::RouteGroup::*)() const">is_solo</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::RouteGroup::*)(bool, ARDOUR::Placement)">make_subgroup</abbr></span><span class="functionargs"> (<span class="em">bool</span>, <a class="" href="#ARDOUR.Placement">Placement</a>)</span></td><td class="fill"></td></tr>
+ <tr><td class="def"><span class="em">int</span></td><td class="decl"><span class="functionname"><abbr title="int (ARDOUR::RouteGroup::*)(boost::shared_ptr&lt;ARDOUR::Route&gt;)">remove</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR:Route">Route</a>)</span></td><td class="fill"></td></tr>
+ <tr><td class="def"><a class="" href="#ARDOUR:RouteListPtr">RouteListPtr</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;std::list&lt;boost::shared_ptr&lt;ARDOUR::Route&gt; &gt; &gt; (ARDOUR::RouteGroup::*)()">route_list</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::RouteGroup::*)(bool, void*)">set_active</abbr></span><span class="functionargs"> (<span class="em">bool</span>, <span class="em">void*</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::RouteGroup::*)(bool)">set_color</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::RouteGroup::*)(bool)">set_gain</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::RouteGroup::*)(bool, void*)">set_hidden</abbr></span><span class="functionargs"> (<span class="em">bool</span>, <span class="em">void*</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::RouteGroup::*)(bool)">set_monitoring</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::RouteGroup::*)(bool)">set_mute</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::RouteGroup::*)(bool)">set_recenable</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::RouteGroup::*)(bool, void*)">set_relative</abbr></span><span class="functionargs"> (<span class="em">bool</span>, <span class="em">void*</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::RouteGroup::*)(bool)">set_route_active</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::RouteGroup::*)(bool)">set_select</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::RouteGroup::*)(bool)">set_solo</abbr></span><span class="functionargs"> (<span class="em">bool</span>)</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 (ARDOUR::RouteGroup::*)() const">size</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
+ </table>
+<h3 id="ARDOUR:RouteGroupList" class="cls class"><abbr title="Class">&comp;</abbr>&nbsp;ARDOUR:RouteGroupList</h3>
+<p class="cdecl"><em>C&#8225;</em>: std::list&lt;ARDOUR::RouteGroup* &gt;</p>
+<div class="clear"></div>
+<table class="classmembers">
+ <tr><th colspan="3">Constructor</th></tr>
+ <tr><td class="def">&Copf;</td><td class="decl"><span class="functionname">ARDOUR.RouteGroupList</span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
+ <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 (std::list&lt;ARDOUR::RouteGroup* &gt;::*)() const">empty</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
+ <tr><td class="def"><em>LuaIter</em></td><td class="decl"><span class="functionname"><abbr title="int (*)(lua_State*) const">iter</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 (std::list&lt;ARDOUR::RouteGroup* &gt;::*)()">reverse</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::list&lt;ARDOUR::RouteGroup* &gt;::*)() const">size</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
+ <tr><td class="def"><em>LuaTable</em></td><td class="decl"><span class="functionname"><abbr title="int (*)(lua_State*) const">table</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
+ </table>
 <h3 id="ARDOUR:RouteList" class="cls class"><abbr title="Class">&comp;</abbr>&nbsp;ARDOUR:RouteList</h3>
 <p class="cdecl"><em>C&#8225;</em>: std::list&lt;boost::shared_ptr&lt;ARDOUR::Route&gt; &gt;</p>
 <div class="clear"></div>
@@ -2704,7 +2850,6 @@ Pointer Classes cannot be created in lua scripts. It always requires a call to C
  <tr><td class="def"><a class="" href="#ARDOUR:AudioEngine">AudioEngine</a></td><td class="decl"><span class="functionname"><abbr title="ARDOUR::AudioEngine&amp; (ARDOUR::Session::*)()">engine</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::Session::*)() const">frame_rate</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"> &quot;actual&quot; sample rate of session, set by current audioengine rate, pullup&#47;down etc. </p></div></td></tr>
- <tr><td class="def"><span class="em">double</span></td><td class="decl"><span class="functionname"><abbr title="double (ARDOUR::Session::*)() const">frames_per_timecode_frame</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::Session::*)() const">get_block_size</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::Session::*)() const">get_play_loop</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
  <tr><td class="def"><a class="" href="#ARDOUR:Route">Route</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::Route&gt; (ARDOUR::Session::*)(unsigned int) const">get_remote_nth_route</abbr></span><span class="functionargs"> (<span class="em">unsigned int</span>)</span></td><td class="fill"></td></tr>
@@ -2726,11 +2871,13 @@ Pointer Classes cannot be created in lua scripts. It always requires a call to C
  <tr><td class="def"><a class="" href="#ARDOUR:RouteList">RouteList</a></td><td class="decl"><span class="functionname"><abbr title="std::list&lt;boost::shared_ptr&lt;ARDOUR::Route&gt; &gt; (ARDOUR::Session::*)(ARDOUR::RouteGroup*, unsigned int, std::string, boost::shared_ptr&lt;ARDOUR::PluginInfo&gt;, ARDOUR::Plugin::PresetRecord*, ARDOUR::PresentationInfo::Flag, unsigned int)">new_midi_route</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR:RouteGroup">RouteGroup</a>, <span class="em">unsigned int</span>, <span class="em">std::string</span>, <a class="" href="#ARDOUR:PluginInfo">PluginInfo</a>, <a class="" href="#ARDOUR:PresetRecord">PresetRecord</a>, <a class="" href="#ARDOUR.PresentationInfo.Flag">Flag</a>, <span class="em">unsigned int</span>)</span></td><td class="fill"></td></tr>
  <tr><td class="def"><a class="" href="#ARDOUR:MidiTrackList">MidiTrackList</a></td><td class="decl"><span class="functionname"><abbr title="std::list&lt;boost::shared_ptr&lt;ARDOUR::MidiTrack&gt; &gt; (ARDOUR::Session::*)(ARDOUR::ChanCount const&amp;, ARDOUR::ChanCount const&amp;, boost::shared_ptr&lt;ARDOUR::PluginInfo&gt;, ARDOUR::Plugin::PresetRecord*, ARDOUR::RouteGroup*, unsigned int, std::string, unsigned int, ARDOUR::TrackMode)">new_midi_track</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR:ChanCount">ChanCount</a>, <a class="" href="#ARDOUR:ChanCount">ChanCount</a>, <a class="" href="#ARDOUR:PluginInfo">PluginInfo</a>, <a class="" href="#ARDOUR:PresetRecord">PresetRecord</a>, <a class="" href="#ARDOUR:RouteGroup">RouteGroup</a>, <span class="em">unsigned int</span>, <span class="em">std::string</span>, <span class="em">unsigned int</span>, <a class="" href="#ARDOUR.TrackMode">TrackMode</a>)</span></td><td class="fill"></td></tr>
  <tr><td class="def"><a class="" href="#ARDOUR:RouteList">RouteList</a></td><td class="decl"><span class="functionname"><abbr title="std::list&lt;boost::shared_ptr&lt;ARDOUR::Route&gt; &gt; (ARDOUR::Session::*)(unsigned int, unsigned int, std::string const&amp;, std::string const&amp;, ARDOUR::PlaylistDisposition)">new_route_from_template</abbr></span><span class="functionargs"> (<span class="em">unsigned int</span>, <span class="em">unsigned int</span>, <span class="em">std::string</span>, <span class="em">std::string</span>, <a class="" href="#ARDOUR.PlaylistDisposition">PlaylistDisposition</a>)</span></td><td class="fill"></td></tr>
+ <tr><td class="def"><a class="" href="#ARDOUR:RouteGroup">RouteGroup</a></td><td class="decl"><span class="functionname"><abbr title="ARDOUR::RouteGroup* (ARDOUR::Session::*)(std::string const&amp;)">new_route_group</abbr></span><span class="functionargs"> (<span class="em">std::string</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::Session::*)() const">nominal_frame_rate</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"> &quot;native&quot; sample rate of session, regardless of current audioengine rate, pullup&#47;down etc </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 (ARDOUR::Session::*)() const">path</abbr></span><span class="functionargs"> ()</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::*)(PBD::ID) const">processor_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.Session.RecordState">RecordState</a></td><td class="decl"><span class="functionname"><abbr title="ARDOUR::Session::RecordState (ARDOUR::Session::*)() const">record_status</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::Session::*)(ARDOUR::RouteGroup*)">remove_route_group</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR:RouteGroup">RouteGroup</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::Session::*)(long, bool)">request_locate</abbr></span><span class="functionargs"> (<span class="em">long</span>, <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::Session::*)(bool, bool)">request_play_loop</abbr></span><span class="functionargs"> (<span class="em">bool</span>, <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::Session::*)(bool, bool)">request_stop</abbr></span><span class="functionargs"> (<span class="em">bool</span>, <span class="em">bool</span>)</span></td><td class="fill"></td></tr>
@@ -2738,6 +2885,9 @@ Pointer Classes cannot be created in lua scripts. It always requires a call to C
  <tr><td class="def"><a class="" href="#ARDOUR:Route">Route</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::Route&gt; (ARDOUR::Session::*)(PBD::ID) const">route_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:Route">Route</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::Route&gt; (ARDOUR::Session::*)(std::string) const">route_by_name</abbr></span><span class="functionargs"> (<span class="em">std::string</span>)</span></td><td class="fill"></td></tr>
  <tr><td class="def"><a class="" href="#ARDOUR:Route">Route</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::Route&gt; (ARDOUR::Session::*)(unsigned int) const">route_by_selected_count</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:RouteGroupList">RouteGroupList</a></td><td class="decl"><span class="functionname"><abbr title="std::list&lt;ARDOUR::RouteGroup* &gt; const&amp; (ARDOUR::Session::*)() const">route_groups</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">sample_to_timecode_lua</abbr></span><span class="functionargs"> (<span class="em">--lua--</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::Session::*)() const">samples_per_timecode_frame</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
  <tr><td class="def"><span class="em">int</span></td><td class="decl"><span class="functionname"><abbr title="int (ARDOUR::Session::*)(std::string, bool, bool, bool)">save_state</abbr></span><span class="functionargs"> (<span class="em">std::string</span>, <span class="em">bool</span>, <span class="em">bool</span>, <span class="em">bool</span>)</span></td><td class="fill"></td></tr>
 <tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> save session </p><dl><dt class="param-name-index-0">snapshot_name</dt><dd class="param-descr-index-0"> name of the session (use an empty string for the current name) </dd><dt class="param-name-index-1">pending</dt><dd class="param-descr-index-1"> save a &#39;recovery&#39;, not full state (default: false) </dd><dt class="param-name-index-2">switch_to_snapshot</dt><dd class="param-descr-index-2"> switch to given snapshot after saving (default: false) </dd><dt class="param-name-index-3">template_only</dt><dd class="param-descr-index-3"> save a session template (default: false) </dd></dl><div class="result-discussion"><p class="para-returns"><span class="word-returns">Returns</span>  zero on success</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::Session::*)()">scripts_changed</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
@@ -2746,8 +2896,12 @@ Pointer Classes cannot be created in lua scripts. It always requires a call to C
  <tr><td class="def"><a class="" href="#ARDOUR:Source">Source</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::Source&gt; (ARDOUR::Session::*)(PBD::ID const&amp;)">source_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:TempoMap">TempoMap</a></td><td class="decl"><span class="functionname"><abbr title="ARDOUR::TempoMap&amp; (ARDOUR::Session::*)()">tempo_map</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::Session::*)() const">timecode_drop_frames</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::Session::*)() const">timecode_drop_frames</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::Session::*)() const">timecode_frames_per_hour</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::Session::*)() const">timecode_frames_per_hour</abbr></span><span class="functionargs"> ()</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::Session::*)() const">timecode_frames_per_second</abbr></span><span class="functionargs"> ()</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::Session::*)() const">timecode_frames_per_second</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">timecode_to_sample_lua</abbr></span><span class="functionargs"> (<span class="em">--lua--</span>)</span></td><td class="fill"></td></tr>
  <tr><td class="def"><a class="" href="#ARDOUR:Track">Track</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::Track&gt; (ARDOUR::Session::*)(PBD::ID) const">track_by_diskstream_id</abbr></span><span class="functionargs"> (<a class="" href="#PBD:ID">ID</a>)</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::Session::*)() const">transport_frame</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::Session::*)() const">transport_rolling</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
@@ -3305,12 +3459,15 @@ 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">ARDOUR.Tempo</span><span class="functionargs"> (<span class="em">double</span>, <span class="em">double</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">bpm</dt><dd class="param-descr-index-0"> Beats Per Minute </dd><dt class="param-name-index-1">type</dt><dd class="param-descr-index-1"> Note Type (default `4&#39;: quarter note)</dd></dl></div></td></tr>
+<tr><td></td><td class="doc" colspan="2"><div class="dox"><dl><dt class="param-name-index-0">npm</dt><dd class="param-descr-index-0"> Note Types per minute </dd><dt class="param-name-index-1">type</dt><dd class="param-descr-index-1"> Note Type (default `4&#39;: quarter note)</dd></dl></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 (ARDOUR::Tempo::*)() const">beats_per_minute</abbr></span><span class="functionargs"> ()</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::Tempo::*)(long) const">frames_per_beat</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"> audio samples per beat </p><dl><dt class="param-name-index-0">sr</dt><dd class="param-descr-index-0"> samplerate</dd></dl></div></td></tr>
+ <tr><td class="def"><span class="em">double</span></td><td class="decl"><span class="functionname"><abbr title="double (ARDOUR::Tempo::*)(long) const">frames_per_note_type</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"> audio samples per note type. if you want an instantaneous value for this, use TempoMap::frames_per_quarter_note_at() instead. </p><dl><dt class="param-name-index-0">sr</dt><dd class="param-descr-index-0"> samplerate</dd></dl></div></td></tr>
+ <tr><td class="def"><span class="em">double</span></td><td class="decl"><span class="functionname"><abbr title="double (ARDOUR::Tempo::*)(long) const">frames_per_quarter_note</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"> audio samples per quarter note. if you want an instantaneous value for this, use TempoMap::frames_per_quarter_note_at() instead. </p><dl><dt class="param-name-index-0">sr</dt><dd class="param-descr-index-0"> samplerate</dd></dl></div></td></tr>
  <tr><td class="def"><span class="em">double</span></td><td class="decl"><span class="functionname"><abbr title="double (ARDOUR::Tempo::*)() const">note_type</abbr></span><span class="functionargs"> ()</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::Tempo::*)() const">note_types_per_minute</abbr></span><span class="functionargs"> ()</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::Tempo::*)() const">quarter_notes_per_minute</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
  </table>
 <h3 id="ARDOUR:TempoMap" class="cls class"><abbr title="Class">&comp;</abbr>&nbsp;ARDOUR:TempoMap</h3>
 <p class="cdecl"><em>C&#8225;</em>: ARDOUR::TempoMap</p>
@@ -3318,11 +3475,12 @@ Pointer Classes cannot be created in lua scripts. It always requires a call to C
 <div class="classdox"><p class="para-brief"> Tempo Map - mapping of timecode to musical time. convert audio-samples, sample-rate to Bar&#47;Beat&#47;Tick, Meter&#47;Tempo</p></div>
 <table class="classmembers">
  <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: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;, 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>, <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></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> Returns the BBT time corresponding to the supplied frame position. </p><dl><dt class="param-name-index-0">frame</dt><dd class="param-descr-index-0"> the position in audio samples. </dd></dl><div class="result-discussion"><p class="para-returns"><span class="word-returns">Returns</span>  the BBT time at the frame position .</p></div></div></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) const">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) const">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>
@@ -3405,6 +3563,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">          Return the first processor that accepts has at least one MIDI input     and at least one audio output. In the vast majority of cases, this      will be &quot;the instrument&quot;. This does not preclude other MIDI-&gt;audio         processors later in the processing chain, but that would be a           special case not covered by this utility function.</p></div></td></tr>
  <tr><td class="def"><a class="" href="#ARDOUR:Amp">Amp</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::Amp&gt; (ARDOUR::Route::*)() const">trim</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:Automatable">Automatable</a></td><td class="decl"><span class="functionname"><abbr title="ARDOUR::Automatable (ARDOUR::Route::*)()">to_automatable</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
  <tr><td class="def"><a class="" href="#ARDOUR:Track">Track</a></td><td class="decl"><span class="functionname"><abbr title="ARDOUR::Track (ARDOUR::Route::*)()">to_track</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
 </table>
 <h4 class="cls">Inherited from ARDOUR:Stripable</h4>
@@ -4066,31 +4225,15 @@ Pointer Classes cannot be created in lua scripts. It always requires a call to C
 <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::Event&lt;long&gt;::*)()">buffer</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::Event&lt;long&gt;::*)() const">channel</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 (Evoral::Event&lt;long&gt;::*)()">clear</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 (Evoral::Event&lt;long&gt;::*)(unsigned int, unsigned char*, bool)">set_buffer</abbr></span><span class="functionargs"> (<span class="em">unsigned int</span>, <span class="em">unsigned char*</span>, <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 (Evoral::Event&lt;long&gt;::*)(unsigned char)">set_channel</abbr></span><span class="functionargs"> (<span class="em">unsigned char</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 (Evoral::Event&lt;long&gt;::*)(unsigned char)">set_type</abbr></span><span class="functionargs"> (<span class="em">unsigned char</span>)</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 (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>
+ <tr><td class="def"><span class="em">unsigned char</span></td><td class="decl"><span class="functionname"><abbr title="unsigned char (Evoral::Event&lt;long&gt;::*)() const">type</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
  </table>
-<h3 id="Evoral:MidiEvent" class="cls class"><abbr title="Class">&comp;</abbr>&nbsp;Evoral:MidiEvent</h3>
-<p class="cdecl"><em>C&#8225;</em>: Evoral::MIDIEvent&lt;long&gt;</p>
- <p class="classinfo">is-a: <a class="" href="#Evoral:Event">Evoral:Event</a></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::MIDIEvent&lt;long&gt;::*)() const">channel</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 (Evoral::MIDIEvent&lt;long&gt;::*)(unsigned char)">set_channel</abbr></span><span class="functionargs"> (<span class="em">unsigned char</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 (Evoral::MIDIEvent&lt;long&gt;::*)(unsigned char)">set_type</abbr></span><span class="functionargs"> (<span class="em">unsigned char</span>)</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::MIDIEvent&lt;long&gt;::*)() const">type</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- </table>
-<h4 class="cls">Inherited from Evoral:Event</h4>
-<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::Event&lt;long&gt;::*)()">buffer</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 (Evoral::Event&lt;long&gt;::*)()">clear</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 (Evoral::Event&lt;long&gt;::*)(unsigned int, unsigned char*, bool)">set_buffer</abbr></span><span class="functionargs"> (<span class="em">unsigned int</span>, <span class="em">unsigned char*</span>, <span class="em">bool</span>)</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 (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>
@@ -4401,6 +4544,26 @@ 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">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="Timecode:Time" class="cls class"><abbr title="Class">&comp;</abbr>&nbsp;Timecode:Time</h3>
+<p class="cdecl"><em>C&#8225;</em>: Timecode::Time</p>
+<div class="clear"></div>
+<table class="classmembers">
+ <tr><th colspan="3">Constructor</th></tr>
+ <tr><td class="def">&Copf;</td><td class="decl"><span class="functionname">Timecode.Time</span><span class="functionargs"> (<span class="em">double</span>)</span></td><td class="fill"></td></tr>
+ <tr><th colspan="3">Data Members</th></tr>
+ <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname">drop</span></td><td class="fill"></td></tr>
+<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> Whether this Time uses dropframe Timecode</p></div></td></tr>
+ <tr><td class="def"><span class="em">unsigned int</span></td><td class="decl"><span class="functionname">frames</span></td><td class="fill"></td></tr>
+<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> Timecode frames (not audio samples)</p></div></td></tr>
+ <tr><td class="def"><span class="em">unsigned int</span></td><td class="decl"><span class="functionname">hours</span></td><td class="fill"></td></tr>
+ <tr><td class="def"><span class="em">unsigned int</span></td><td class="decl"><span class="functionname">minutes</span></td><td class="fill"></td></tr>
+ <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname">negative</span></td><td class="fill"></td></tr>
+ <tr><td class="def"><span class="em">double</span></td><td class="decl"><span class="functionname">rate</span></td><td class="fill"></td></tr>
+<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> Frame rate of this Time</p></div></td></tr>
+ <tr><td class="def"><span class="em">unsigned int</span></td><td class="decl"><span class="functionname">seconds</span></td><td class="fill"></td></tr>
+ <tr><td class="def"><span class="em">unsigned int</span></td><td class="decl"><span class="functionname">subframes</span></td><td class="fill"></td></tr>
+<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> Typically unused</p></div></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>
  <p class="classinfo">is-a: <a class="" href="#Vamp:PluginBase">Vamp:PluginBase</a></p>
@@ -4747,6 +4910,12 @@ Pointer Classes cannot be created in lua scripts. It always requires a call to C
 <li class="const">ARDOUR.AutomationType.RecSafeAutomation</li>
 <li class="const">ARDOUR.AutomationType.TrimAutomation</li>
 <li class="const">ARDOUR.AutomationType.PhaseAutomation</li>
+<li class="const">ARDOUR.AutomationType.MidiCCAutomation</li>
+<li class="const">ARDOUR.AutomationType.MidiPgmChangeAutomation</li>
+<li class="const">ARDOUR.AutomationType.MidiPitchBenderAutomation</li>
+<li class="const">ARDOUR.AutomationType.MidiChannelPressureAutomation</li>
+<li class="const">ARDOUR.AutomationType.MidiNotePressureAutomation</li>
+<li class="const">ARDOUR.AutomationType.MidiSystemExclusiveAutomation</li>
 </ul>
 <h3 id="ARDOUR.SrcQuality" class="cls enum"><abbr title="Enum">&isin;</abbr>&nbsp;ARDOUR.SrcQuality</h3>
 <ul class="enum">
@@ -4777,6 +4946,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.Placement" class="cls enum"><abbr title="Enum">&isin;</abbr>&nbsp;ARDOUR.Placement</h3>
+<ul class="enum">
+<li class="const">ARDOUR.Placement.PreFader</li>
+<li class="const">ARDOUR.Placement.PostFader</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>
@@ -4790,6 +4964,13 @@ Pointer Classes cannot be created in lua scripts. It always requires a call to C
 <li class="const">ARDOUR.PortFlags.CanMonitor</li>
 <li class="const">ARDOUR.PortFlags.IsTerminal</li>
 </ul>
+<h3 id="ARDOUR.MidiPortFlags" class="cls enum"><abbr title="Enum">&isin;</abbr>&nbsp;ARDOUR.MidiPortFlags</h3>
+<ul class="enum">
+<li class="const">ARDOUR.MidiPortFlags.MidiPortMusic</li>
+<li class="const">ARDOUR.MidiPortFlags.MidiPortControl</li>
+<li class="const">ARDOUR.MidiPortFlags.MidiPortSelection</li>
+<li class="const">ARDOUR.MidiPortFlags.MidiPortVirtual</li>
+</ul>
 <h3 id="ARDOUR.PlaylistDisposition" class="cls enum"><abbr title="Enum">&isin;</abbr>&nbsp;ARDOUR.PlaylistDisposition</h3>
 <ul class="enum">
 <li class="const">ARDOUR.PlaylistDisposition.CopyPlaylist</li>
@@ -4863,6 +5044,18 @@ Pointer Classes cannot be created in lua scripts. It always requires a call to C
 <li class="const">ARDOUR.LocationFlags.IsSkip</li>
 <li class="const">ARDOUR.LocationFlags.IsSkipping</li>
 </ul>
+<h3 id="ARDOUR.DSP.Biquad.Type" class="cls enum"><abbr title="Enum">&isin;</abbr>&nbsp;ARDOUR.DSP.Biquad.Type</h3>
+<ul class="enum">
+<li class="const">ARDOUR.DSP.BiquadType.LowPass</li>
+<li class="const">ARDOUR.DSP.BiquadType.HighPass</li>
+<li class="const">ARDOUR.DSP.BiquadType.BandPassSkirt</li>
+<li class="const">ARDOUR.DSP.BiquadType.BandPass0dB</li>
+<li class="const">ARDOUR.DSP.BiquadType.Notch</li>
+<li class="const">ARDOUR.DSP.BiquadType.AllPass</li>
+<li class="const">ARDOUR.DSP.BiquadType.Peaking</li>
+<li class="const">ARDOUR.DSP.BiquadType.LowShelf</li>
+<li class="const">ARDOUR.DSP.BiquadType.HighShelf</li>
+</ul>
 <h3 id="Cairo.LineCap" class="cls enum"><abbr title="Enum">&isin;</abbr>&nbsp;Cairo.LineCap</h3>
 <ul class="enum">
 <li class="const">Cairo.LineCap.Butt</li>
@@ -5050,18 +5243,6 @@ Pointer Classes cannot be created in lua scripts. It always requires a call to C
 <li class="const">Editing.ImportSerializeFiles</li>
 <li class="const">Editing.ImportDistinctChannels</li>
 </ul>
-<h3 id="ARDOUR.DSP.Biquad.Type" class="cls enum"><abbr title="Enum">&isin;</abbr>&nbsp;ARDOUR.DSP.Biquad.Type</h3>
-<ul class="enum">
-<li class="const">ARDOUR.DSP.BiquadType.LowPass</li>
-<li class="const">ARDOUR.DSP.BiquadType.HighPass</li>
-<li class="const">ARDOUR.DSP.BiquadType.BandPassSkirt</li>
-<li class="const">ARDOUR.DSP.BiquadType.BandPass0dB</li>
-<li class="const">ARDOUR.DSP.BiquadType.Notch</li>
-<li class="const">ARDOUR.DSP.BiquadType.AllPass</li>
-<li class="const">ARDOUR.DSP.BiquadType.Peaking</li>
-<li class="const">ARDOUR.DSP.BiquadType.LowShelf</li>
-<li class="const">ARDOUR.DSP.BiquadType.HighShelf</li>
-</ul>
 <h2 id="h_index" >Class Index</h2>
 <ul class="classindex">
 <li><a class="" href="#ARDOUR:Amp">ARDOUR:Amp</a></li>
@@ -5073,6 +5254,7 @@ Pointer Classes cannot be created in lua scripts. It always requires a call to C
 <li><a class="" href="#ARDOUR:AudioPort">ARDOUR:AudioPort</a></li>
 <li><a class="" href="#ARDOUR:AudioRange">ARDOUR:AudioRange</a></li>
 <li><a class="" href="#ARDOUR:AudioRangeList">ARDOUR:AudioRangeList</a></li>
+<li><a class="" href="#ARDOUR:AudioRegion">ARDOUR:AudioRegion</a></li>
 <li><a class="" href="#ARDOUR:AudioSource">ARDOUR:AudioSource</a></li>
 <li><a class="" href="#ARDOUR:AudioTrack">ARDOUR:AudioTrack</a></li>
 <li><a class="" href="#ARDOUR:AudioTrackList">ARDOUR:AudioTrackList</a></li>
@@ -5155,6 +5337,7 @@ Pointer Classes cannot be created in lua scripts. It always requires a call to C
 <li><a class="" href="#ARDOUR:Route">ARDOUR:Route</a></li>
 <li><a class="" href="#ARDOUR:Route:ProcessorStreams">ARDOUR:Route:ProcessorStreams</a></li>
 <li><a class="" href="#ARDOUR:RouteGroup">ARDOUR:RouteGroup</a></li>
+<li><a class="" href="#ARDOUR:RouteGroupList">ARDOUR:RouteGroupList</a></li>
 <li><a class="" href="#ARDOUR:RouteList">ARDOUR:RouteList</a></li>
 <li><a class="" href="#ARDOUR:RouteListPtr">ARDOUR:RouteListPtr</a></li>
 <li><a class="" href="#ARDOUR:Session">ARDOUR:Session</a></li>
@@ -5202,7 +5385,6 @@ Pointer Classes cannot be created in lua scripts. It always requires a call to C
 <li><a class="" href="#Evoral:ControlList">Evoral:ControlList</a></li>
 <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>
@@ -5225,6 +5407,7 @@ Pointer Classes cannot be created in lua scripts. It always requires a call to C
 <li><a class="" href="#PBD:StatefulPtr">PBD:StatefulPtr</a></li>
 <li><a class="" href="#PBD:XMLNode">PBD:XMLNode</a></li>
 <li><a class="" href="#Timecode:BBT_TIME">Timecode:BBT_TIME</a></li>
+<li><a class="" href="#Timecode:Time">Timecode:Time</a></li>
 <li><a class="" href="#Vamp:Plugin">Vamp:Plugin</a></li>
 <li><a class="" href="#Vamp:Plugin:Feature">Vamp:Plugin:Feature</a></li>
 <li><a class="" href="#Vamp:Plugin:FeatureList">Vamp:Plugin:FeatureList</a></li>
@@ -5236,6 +5419,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>
-<!-- 461 / 2055 !-->
+<!-- 476 / 2168 !-->
 </div>
-<div class="luafooter">Ardour 5.4-270-gd253d49 &nbsp;-&nbsp; Thu, 10 Nov 2016 02:00:45 +0100</div>
+<div class="luafooter">Ardour 5.5-66-g4992ed1 &nbsp;-&nbsp; Thu, 08 Dec 2016 13:34:35 +0100</div>