]> Shamusworld >> Repos - ardour-manual/commitdiff
Update Lua doc for 6.4
authorRobin Gareus <robin@gareus.org>
Sat, 21 Nov 2020 18:32:00 +0000 (19:32 +0100)
committerRobin Gareus <robin@gareus.org>
Sat, 21 Nov 2020 18:32:00 +0000 (19:32 +0100)
include/class-reference.html

index a95712e11147be83b8147f27452fbf6c9bf684fe..9d8816d5b9bed278b3bb788dd1d05369a72888e0 100644 (file)
@@ -650,9 +650,9 @@ Pointer Classes cannot be created in Lua scripts. It always requires a call to C
 <h4 class="cls">Inherited from ARDOUR:Track</h4>
 <table class="classmembers">
  <tr><th colspan="3">Methods</th></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:Region">Region</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::Region&gt; (ARDOUR::Track::*)(ARDOUR::InterThreadInfo&amp;)">bounce</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR:InterThreadInfo">InterThreadInfo&amp;</a>)</span></td><td class="fill"></td></tr>
+ <tr><td class="def"><a class="" href="#ARDOUR:Region">Region</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::Region&gt; (ARDOUR::Track::*)(ARDOUR::InterThreadInfo&amp;, std::string const&amp;)">bounce</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR:InterThreadInfo">InterThreadInfo&amp;</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"> bounce track from session start to session end to new region</p><dl><dt class="param-name-index-0">itt</dt><dd class="param-descr-index-0"> asynchronous progress report and cancel </dd></dl><div class="result-discussion"><p class="para-returns"><span class="word-returns">Returns</span>  a new audio region (or nil in case of error)</p></div></div></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:Region">Region</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::Region&gt; (ARDOUR::Track::*)(long, long, ARDOUR::InterThreadInfo&amp;, boost::shared_ptr&lt;ARDOUR::Processor&gt;, bool)">bounce_range</abbr></span><span class="functionargs"> (<span class="em">long</span>, <span class="em">long</span>, <a class="" href="#ARDOUR:InterThreadInfo">InterThreadInfo&amp;</a>, <a class="" href="#ARDOUR:Processor">Processor</a>, <span class="em">bool</span>)</span></td><td class="fill"></td></tr>
+ <tr><td class="def"><a class="" href="#ARDOUR:Region">Region</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::Region&gt; (ARDOUR::Track::*)(long, long, ARDOUR::InterThreadInfo&amp;, boost::shared_ptr&lt;ARDOUR::Processor&gt;, bool, std::string const&amp;)">bounce_range</abbr></span><span class="functionargs"> (<span class="em">long</span>, <span class="em">long</span>, <a class="" href="#ARDOUR:InterThreadInfo">InterThreadInfo&amp;</a>, <a class="" href="#ARDOUR:Processor">Processor</a>, <span class="em">bool</span>, <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"> Bounce the given range to a new audio region. </p><dl><dt class="param-name-index-0">start</dt><dd class="param-descr-index-0"> start time (in samples) </dd><dt class="param-name-index-1">end</dt><dd class="param-descr-index-1"> end time (in samples) </dd><dt class="param-name-index-2">itt</dt><dd class="param-descr-index-2"> asynchronous progress report and cancel </dd><dt class="param-name-index-3">endpoint</dt><dd class="param-descr-index-3"> the processor to tap the signal off (or nil for the top) </dd><dt class="param-name-index-4">include_endpoint</dt><dd class="param-descr-index-4"> include the given processor in the bounced audio. </dd></dl><div class="result-discussion"><p class="para-returns"><span class="word-returns">Returns</span>  a new audio region (or nil in case of error)</p></div></div></td></tr>
  <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::Track::*)(boost::shared_ptr&lt;ARDOUR::Processor&gt;, bool) const">bounceable</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR:Processor">Processor</a>, <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"> Test if the track can be bounced with the given settings. If sends&#47;inserts&#47;returns are present in the signal path or the given track has no audio outputs bouncing is not possible.</p><dl><dt class="param-name-index-0">endpoint</dt><dd class="param-descr-index-0"> the processor to tap the signal off (or nil for the top) </dd><dt class="param-name-index-1">include_endpoint</dt><dd class="param-descr-index-1"> include the given processor in the bounced audio. </dd></dl><div class="result-discussion"><p class="para-returns"><span class="word-returns">Returns</span>  true if the track can be bounced, or false otherwise.</p></div></div></td></tr>
@@ -671,7 +671,7 @@ 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">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::Route::*)() const">active</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::Route::*)(boost::shared_ptr&lt;ARDOUR::Route&gt;)">add_foldback_send</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR:Route">Route</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::Route::*)(boost::shared_ptr&lt;ARDOUR::Route&gt;, bool)">add_foldback_send</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR:Route">Route</a>, <span class="em">bool</span>)</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::Route::*)(boost::shared_ptr&lt;ARDOUR::Processor&gt;, int, ARDOUR::Route::ProcessorStreams*, bool)">add_processor_by_index</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR:Processor">Processor</a>, <span class="em">int</span>, <a class="" href="#ARDOUR:Route:ProcessorStreams">ProcessorStreams</a>, <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"> Add a processor to a route such that it ends up with a given index into the visible processors.  </p><dl><dt class="param-name-index-1">index</dt><dd class="param-descr-index-1"> Index to add the processor at, or -1 to add at the end of the list.  </dd></dl><div class="result-discussion"><p class="para-returns"><span class="word-returns">Returns</span>  0 on success, non-0 on failure.</p></div></div></td></tr>
  <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::Route::*)(boost::shared_ptr&lt;ARDOUR::Processor&gt;)">add_sidechain</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR:Processor">Processor</a>)</span></td><td class="fill"></td></tr>
@@ -890,27 +890,31 @@ 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">void</span></td><td class="decl"><span class="functionname"><abbr title="void (Evoral::ControlList::*)(double, double, bool, bool)">add</abbr></span><span class="functionargs"> (<span class="em">double</span>, <span class="em">double</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"> add automation events </p><dl><dt class="param-name-index-0">when</dt><dd class="param-descr-index-0"> absolute time in samples </dd><dt class="param-name-index-1">value</dt><dd class="param-descr-index-1"> parameter value </dd><dt class="param-name-index-2">with_guards</dt><dd class="param-descr-index-2"> if true, add guard-points </dd><dt class="param-name-index-3">with_initial</dt><dd class="param-descr-index-3"> if true, add an initial point if the list is empty</dd></dl></div></td></tr>
+<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> Add an event to this list.</p><p> This method is intended to write automation in realtime. If the transport is stopped, guard-points will be added regardless of parameter with_guards.</p><dl><dt class="param-name-index-0">when</dt><dd class="param-descr-index-0"> absolute time in samples </dd><dt class="param-name-index-1">value</dt><dd class="param-descr-index-1"> parameter value </dd><dt class="param-name-index-2">with_guards</dt><dd class="param-descr-index-2"> if true, add guard-points </dd><dt class="param-name-index-3">with_initial</dt><dd class="param-descr-index-3"> if true, add an initial point if the list is empty</dd></dl></div></td></tr>
  <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (Evoral::ControlList::*)(double, double)">clear</abbr></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"><p class="para-brief"> remove all automation events between the given time range </p><dl><dt class="param-name-index-0">start</dt><dd class="param-descr-index-0"> start of range (inclusive) in audio samples </dd><dt class="param-name-index-1">end</dt><dd class="param-descr-index-1"> end of range (inclusive) in audio samples</dd></dl></div></td></tr>
+<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> Remove all events in the given time range from this list.</p><dl><dt class="param-name-index-0">start</dt><dd class="param-descr-index-0"> start of range (inclusive) in audio samples </dd><dt class="param-name-index-1">end</dt><dd class="param-descr-index-1"> end of range (inclusive) in audio samples</dd></dl></div></td></tr>
  <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (Evoral::ControlList::*)()">clear_list</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 (Evoral::ControlList::*)(double, double, bool)">editor_add</abbr></span><span class="functionargs"> (<span class="em">double</span>, <span class="em">double</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"> Add an event to this list.</p><p> This method is intended for making manual changes from the GUI. An event will only be created if no other event exists at the given time.</p><dl><dt class="param-name-index-0">when</dt><dd class="param-descr-index-0"> absolute time in samples </dd><dt class="param-name-index-1">value</dt><dd class="param-descr-index-1"> parameter value </dd><dt class="param-name-index-invalid">with_guards</dt><dd class="param-descr-index-invalid"> if true, add guard-points</dd></dl><div class="result-discussion"><p class="para-returns"><span class="word-returns">Returns</span>  true if an event was added.</p></div></div></td></tr>
  <tr><td class="def"><span class="em">double</span></td><td class="decl"><span class="functionname"><abbr title="double (Evoral::ControlList::*)(double) const">eval</abbr></span><span class="functionargs"> (<span class="em">double</span>)</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> query value at given time (takes a read-lock, not safe while writing automation) </p><dl><dt class="param-name-index-0">where</dt><dd class="param-descr-index-0"> absolute time in samples </dd></dl><div class="result-discussion"><p class="para-returns"><span class="word-returns">Returns</span>  parameter value</p></div></div></td></tr>
+<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> Queries the event value at the given time (takes a read-lock, not safe while writing automation).</p><dl><dt class="param-name-index-0">where</dt><dd class="param-descr-index-0"> absolute time in samples </dd></dl><div class="result-discussion"><p class="para-returns"><span class="word-returns">Returns</span>  parameter value</p></div></div></td></tr>
  <tr><td class="def"><a class="" href="#ARDOUR:EventList">EventList</a></td><td class="decl"><span class="functionname"><abbr title="std::list&lt;Evoral::ControlEvent* &gt; const&amp; (Evoral::ControlList::*)() const">events</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>  the list of events </p></div></div></td></tr>
  <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (Evoral::ControlList::*)() const">in_write_pass</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>  true if transport is running and this list is in write mode </p></div></div></td></tr>
  <tr><td class="def"><a class="" href="#Evoral.ControlList.InterpolationStyle">InterpolationStyle</a></td><td class="decl"><span class="functionname"><abbr title="Evoral::ControlList::InterpolationStyle (Evoral::ControlList::*)() const">interpolation</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"> query interpolation style of the automation data </p><div class="result-discussion"><p class="para-returns"><span class="word-returns">Returns</span>  Interpolation Style</p></div></div></td></tr>
  <tr><td class="def"><em>LuaTable</em>(<span class="em">double</span>, ...)</td><td class="decl"><span class="functionname"><abbr title="double (Evoral::ControlList::*)(double, bool&amp;) const">rt_safe_eval</abbr></span><span class="functionargs"> (<span class="em">double</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"> realtime safe version of eval, may fail if read-lock cannot be taken </p><dl><dt class="param-name-index-0">where</dt><dd class="param-descr-index-0"> absolute time in samples </dd><dt class="param-name-index-1">ok</dt><dd class="param-descr-index-1"> boolean reference if returned value is valid </dd></dl><div class="result-discussion"><p class="para-returns"><span class="word-returns">Returns</span>  parameter value</p></div></div></td></tr>
+<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> Realtime safe version of eval(). This may fail if a read-lock cannot be taken.</p><dl><dt class="param-name-index-0">where</dt><dd class="param-descr-index-0"> absolute time in samples </dd><dt class="param-name-index-1">ok</dt><dd class="param-descr-index-1"> boolean reference if returned value is valid </dd></dl><div class="result-discussion"><p class="para-returns"><span class="word-returns">Returns</span>  parameter 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 (Evoral::ControlList::*)(Evoral::ControlList::InterpolationStyle)">set_interpolation</abbr></span><span class="functionargs"> (<a class="" href="#Evoral.ControlList.InterpolationStyle">InterpolationStyle</a>)</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> set the interpolation style of the automation data.</p><p> This will fail when asking for Logarithmic scale and min,max crosses 0 or Exponential scale with min != 0.</p><dl><dt class="param-name-index-0">is</dt><dd class="param-descr-index-0"> interpolation style </dd></dl><div class="result-discussion"><p class="para-returns"><span class="word-returns">Returns</span>  true if style change was successful</p></div></div></td></tr>
+<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> Sets the interpolation style of the automation data.</p><p> This will fail when asking for Logarithmic scale and min,max crosses 0 or Exponential scale with min != 0.</p><dl><dt class="param-name-index-0">is</dt><dd class="param-descr-index-0"> interpolation style </dd></dl><div class="result-discussion"><p class="para-returns"><span class="word-returns">Returns</span>  true if style change was successful</p></div></div></td></tr>
+ <tr><td class="def"><span class="em">unsigned long</span></td><td class="decl"><span class="functionname"><abbr title="unsigned long (Evoral::ControlList::*)() const">size</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::ControlList::*)(double)">thin</abbr></span><span class="functionargs"> (<span class="em">double</span>)</span></td><td class="fill"></td></tr>
 <tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> Thin the number of events in this list.</p><p> The thinning factor corresponds to the area of a triangle computed between three points in the list (time-difference * value-difference). If the area is large, it indicates significant non-linearity between the points.</p><p> Time is measured in samples, value is usually normalized to 0..1.</p><p> During automation recording we thin the recorded points using this value.  If a point is sufficiently co-linear with its neighbours (as defined by the area of the triangle formed by three of them), we will not include it in the list.  The larger the value, the more points are excluded, so this effectively measures the amount of thinning to be done.</p><dl><dt class="param-name-index-0">thinning_factor</dt><dd class="param-descr-index-0"> area-size (default: 20)</dd></dl></div></td></tr>
  <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (Evoral::ControlList::*)(double)">truncate_end</abbr></span><span class="functionargs"> (<span class="em">double</span>)</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> truncate the event list after the given time </p><dl><dt class="param-name-index-0">last_coordinate</dt><dd class="param-descr-index-0"> last event to include</dd></dl></div></td></tr>
+<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> Remove all events after the given time from this list.</p><dl><dt class="param-name-index-0">last_coordinate</dt><dd class="param-descr-index-0"> time in audio samples of the last event to keep</dd></dl></div></td></tr>
  <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (Evoral::ControlList::*)(double)">truncate_start</abbr></span><span class="functionargs"> (<span class="em">double</span>)</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> truncate the event list to the given time </p><dl><dt class="param-name-index-0">overall_length</dt><dd class="param-descr-index-0"> overall length</dd></dl></div></td></tr>
+<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> Remove all events up to to the given time from this list.</p><dl><dt class="param-name-index-0">overall_length</dt><dd class="param-descr-index-0"> overall length in audio samples</dd></dl></div></td></tr>
 </table>
 <h3 id="ARDOUR:BackendVector" class="cls class"><abbr title="Class">&comp;</abbr>&nbsp;ARDOUR:BackendVector</h3>
 <p class="cdecl"><em>C&#8225;</em>: std::vector&lt;ARDOUR::AudioBackendInfo const* &gt;</p>
@@ -2021,9 +2025,9 @@ Pointer Classes cannot be created in Lua scripts. It always requires a call to C
  <tr><td class="def"><a class="" href="#ARDOUR:Processor">Processor</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::Processor&gt; (*)(ARDOUR::Session*, std::string const&amp;)">new_luaproc</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR:Session">Session</a>, <span class="em">std::string</span>)</span></td><td class="fill"></td></tr>
 <tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> create a new Lua Processor (Plugin)</p><dl><dt class="param-name-index-0">s</dt><dd class="param-descr-index-0"> Session Handle </dd><dt class="param-name-index-1">p</dt><dd class="param-descr-index-1"> Identifier or Name of the Processor </dd></dl><div class="result-discussion"><p class="para-returns"><span class="word-returns">Returns</span>  Processor object (may be nil)</p></div></div></td></tr>
  <tr><td class="def"><a class="" href="#Evoral:NotePtr">NotePtr</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;Evoral::Note&lt;Temporal::Beats&gt; &gt; (*)(unsigned char, Temporal::Beats, Temporal::Beats, unsigned char, unsigned char)">new_noteptr</abbr></span><span class="functionargs"> (<span class="em">unsigned char</span>, <a class="" href="#Evoral:Beats">Beats</a>, <a class="" href="#Evoral:Beats">Beats</a>, <span class="em">unsigned char</span>, <span class="em">unsigned char</span>)</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:Processor">Processor</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::Processor&gt; (*)(ARDOUR::Session*, std::string const&amp;, ARDOUR::PluginType, std::string const&amp;)">new_plugin</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR:Session">Session</a>, <span class="em">std::string</span>, <a class="" href="#ARDOUR.PluginType">PluginType</a>, <span class="em">std::string</span>)</span></td><td class="fill"></td></tr>
+ <tr><td class="def"><a class="" href="#ARDOUR:Processor">Processor</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::Processor&gt; (*)(ARDOUR::Session*, std::string const&amp;, ARDOUR::PluginType, std::string const&amp;)">new_plugin</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR:Session">Session</a>, <span class="em">std::string</span>, <a class="" href="#ARDOUR:PluginType">PluginType</a>, <span class="em">std::string</span>)</span></td><td class="fill"></td></tr>
 <tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> create a new Plugin Instance</p><dl><dt class="param-name-index-0">s</dt><dd class="param-descr-index-0"> Session Handle </dd><dt class="param-name-index-1">id</dt><dd class="param-descr-index-1"> Plugin Name, ID or URI </dd><dt class="param-name-index-2">type</dt><dd class="param-descr-index-2"> Plugin Type </dd><dt class="param-name-index-3">preset</dt><dd class="param-descr-index-3"> name of plugin-preset to load, leave empty &quot;&quot; to not load any preset after instantiation </dd></dl><div class="result-discussion"><p class="para-returns"><span class="word-returns">Returns</span>  Processor or nil</p></div></div></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:PluginInfo">PluginInfo</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::PluginInfo&gt; (*)(std::string const&amp;, ARDOUR::PluginType)">new_plugin_info</abbr></span><span class="functionargs"> (<span class="em">std::string</span>, <a class="" href="#ARDOUR.PluginType">PluginType</a>)</span></td><td class="fill"></td></tr>
+ <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"><a class="" href="#ARDOUR:NotePtrList">NotePtrList</a></td><td class="decl"><span class="functionname"><abbr title="std::list&lt;boost::shared_ptr&lt;Evoral::Note&lt;Temporal::Beats&gt; &gt; &gt; &gt; (*)(boost::shared_ptr&lt;ARDOUR::MidiModel&gt;)">note_list</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR:MidiModel">MidiModel</a>)</span></td><td class="fill"></td></tr>
@@ -2048,6 +2052,8 @@ Pointer Classes cannot be created in Lua scripts. It always requires a call to C
  <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>
+ <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (*)(unsigned long, long)">wait_for_process_callback</abbr></span><span class="functionargs"> (<span class="em">unsigned long</span>, <span class="em">long</span>)</span></td><td class="fill"></td></tr>
+<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> Delay execution until next prcess cycle starts. </p><dl><dt class="param-name-index-0">n_cycles</dt><dd class="param-descr-index-0"> process-cycles to wait for.        0: means wait until next cycle-start, otherwise skip given number of cycles. </dd><dt class="param-name-index-1">timeout_ms</dt><dd class="param-descr-index-1"> wait at most this many milliseconds </dd></dl><div class="result-discussion"><p class="para-returns"><span class="word-returns">Returns</span>  true on success,  false if timeout was reached or engine was not running</p></div></div></td></tr>
  </table>
 <h3 id="ARDOUR:LuaAPI:Rubberband" class="cls class"><abbr title="Class">&comp;</abbr>&nbsp;ARDOUR:LuaAPI:Rubberband</h3>
 <p class="cdecl"><em>C&#8225;</em>: ARDOUR::LuaAPI::Rubberband</p>
@@ -2210,7 +2216,7 @@ Pointer Classes cannot be created in Lua scripts. It always requires a call to C
  <tr><th colspan="3">Methods</th></tr>
  <tr><td class="def"><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::*)(long, Evoral::EventType, unsigned long, unsigned char const*)">push_back</abbr></span><span class="functionargs"> (<span class="em">long</span>, <a class="" href="#Evoral.EventType">EventType</a>, <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::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>
@@ -2530,13 +2536,14 @@ 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">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="bool (ARDOUR::MidiTrack::*)(Evoral::EventType, unsigned long, unsigned char const*)">write_immediate_event</abbr></span><span class="functionargs"> (<a class="" href="#Evoral.EventType">EventType</a>, <span class="em">unsigned long</span>, <span class="em">unsigned char*</span>)</span></td><td class="fill"></td></tr>
  </table>
 <h4 class="cls">Inherited from ARDOUR:Track</h4>
 <table class="classmembers">
  <tr><th colspan="3">Methods</th></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:Region">Region</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::Region&gt; (ARDOUR::Track::*)(ARDOUR::InterThreadInfo&amp;)">bounce</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR:InterThreadInfo">InterThreadInfo&amp;</a>)</span></td><td class="fill"></td></tr>
+ <tr><td class="def"><a class="" href="#ARDOUR:Region">Region</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::Region&gt; (ARDOUR::Track::*)(ARDOUR::InterThreadInfo&amp;, std::string const&amp;)">bounce</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR:InterThreadInfo">InterThreadInfo&amp;</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"> bounce track from session start to session end to new region</p><dl><dt class="param-name-index-0">itt</dt><dd class="param-descr-index-0"> asynchronous progress report and cancel </dd></dl><div class="result-discussion"><p class="para-returns"><span class="word-returns">Returns</span>  a new audio region (or nil in case of error)</p></div></div></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:Region">Region</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::Region&gt; (ARDOUR::Track::*)(long, long, ARDOUR::InterThreadInfo&amp;, boost::shared_ptr&lt;ARDOUR::Processor&gt;, bool)">bounce_range</abbr></span><span class="functionargs"> (<span class="em">long</span>, <span class="em">long</span>, <a class="" href="#ARDOUR:InterThreadInfo">InterThreadInfo&amp;</a>, <a class="" href="#ARDOUR:Processor">Processor</a>, <span class="em">bool</span>)</span></td><td class="fill"></td></tr>
+ <tr><td class="def"><a class="" href="#ARDOUR:Region">Region</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::Region&gt; (ARDOUR::Track::*)(long, long, ARDOUR::InterThreadInfo&amp;, boost::shared_ptr&lt;ARDOUR::Processor&gt;, bool, std::string const&amp;)">bounce_range</abbr></span><span class="functionargs"> (<span class="em">long</span>, <span class="em">long</span>, <a class="" href="#ARDOUR:InterThreadInfo">InterThreadInfo&amp;</a>, <a class="" href="#ARDOUR:Processor">Processor</a>, <span class="em">bool</span>, <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"> Bounce the given range to a new audio region. </p><dl><dt class="param-name-index-0">start</dt><dd class="param-descr-index-0"> start time (in samples) </dd><dt class="param-name-index-1">end</dt><dd class="param-descr-index-1"> end time (in samples) </dd><dt class="param-name-index-2">itt</dt><dd class="param-descr-index-2"> asynchronous progress report and cancel </dd><dt class="param-name-index-3">endpoint</dt><dd class="param-descr-index-3"> the processor to tap the signal off (or nil for the top) </dd><dt class="param-name-index-4">include_endpoint</dt><dd class="param-descr-index-4"> include the given processor in the bounced audio. </dd></dl><div class="result-discussion"><p class="para-returns"><span class="word-returns">Returns</span>  a new audio region (or nil in case of error)</p></div></div></td></tr>
  <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::Track::*)(boost::shared_ptr&lt;ARDOUR::Processor&gt;, bool) const">bounceable</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR:Processor">Processor</a>, <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"> Test if the track can be bounced with the given settings. If sends&#47;inserts&#47;returns are present in the signal path or the given track has no audio outputs bouncing is not possible.</p><dl><dt class="param-name-index-0">endpoint</dt><dd class="param-descr-index-0"> the processor to tap the signal off (or nil for the top) </dd><dt class="param-name-index-1">include_endpoint</dt><dd class="param-descr-index-1"> include the given processor in the bounced audio. </dd></dl><div class="result-discussion"><p class="para-returns"><span class="word-returns">Returns</span>  true if the track can be bounced, or false otherwise.</p></div></div></td></tr>
@@ -2555,7 +2562,7 @@ 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">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::Route::*)() const">active</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::Route::*)(boost::shared_ptr&lt;ARDOUR::Route&gt;)">add_foldback_send</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR:Route">Route</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::Route::*)(boost::shared_ptr&lt;ARDOUR::Route&gt;, bool)">add_foldback_send</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR:Route">Route</a>, <span class="em">bool</span>)</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::Route::*)(boost::shared_ptr&lt;ARDOUR::Processor&gt;, int, ARDOUR::Route::ProcessorStreams*, bool)">add_processor_by_index</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR:Processor">Processor</a>, <span class="em">int</span>, <a class="" href="#ARDOUR:Route:ProcessorStreams">ProcessorStreams</a>, <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"> Add a processor to a route such that it ends up with a given index into the visible processors.  </p><dl><dt class="param-name-index-1">index</dt><dd class="param-descr-index-1"> Index to add the processor at, or -1 to add at the end of the list.  </dd></dl><div class="result-discussion"><p class="para-returns"><span class="word-returns">Returns</span>  0 on success, non-0 on failure.</p></div></div></td></tr>
  <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::Route::*)(boost::shared_ptr&lt;ARDOUR::Processor&gt;)">add_sidechain</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR:Processor">Processor</a>)</span></td><td class="fill"></td></tr>
@@ -3198,7 +3205,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">ARDOUR:ChanCount</a></td><td class="decl"><span class="functionname">n_outputs</span></td><td class="fill"></td></tr>
  <tr><td class="def"><span class="em">std::string</span></td><td class="decl"><span class="functionname">name</span></td><td class="fill"></td></tr>
  <tr><td class="def"><span class="em">std::string</span></td><td class="decl"><span class="functionname">path</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR.PluginType">ARDOUR.PluginType</a></td><td class="decl"><span class="functionname">type</span></td><td class="fill"></td></tr>
+ <tr><td class="def"><a class="" href="#ARDOUR:PluginType">ARDOUR.PluginType</a></td><td class="decl"><span class="functionname">type</span></td><td class="fill"></td></tr>
  <tr><td class="def"><span class="em">std::string</span></td><td class="decl"><span class="functionname">unique_id</span></td><td class="fill"></td></tr>
  </table>
 <h3 id="ARDOUR:PluginInfoList" class="cls class"><abbr title="Class">&comp;</abbr>&nbsp;ARDOUR:PluginInfoList</h3>
@@ -3247,7 +3254,8 @@ 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::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>
  <tr><td class="def"><span class="em">long</span></td><td class="decl"><span class="functionname"><abbr title="long (ARDOUR::PluginInsert::*)() const">signal_latency</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::PluginInsert::*)() const">strict_io_configured</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR.PluginType">PluginType</a></td><td class="decl"><span class="functionname"><abbr title="ARDOUR::PluginType (ARDOUR::PluginInsert::*)() const">type</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
+ <tr><td class="def"><a class="" href="#ARDOUR:PluginType">PluginType</a></td><td class="decl"><span class="functionname"><abbr title="ARDOUR::PluginType (ARDOUR::PluginInsert::*)() const">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::PluginInsert::*)(Evoral::EventType, unsigned long, unsigned char const*)">write_immediate_event</abbr></span><span class="functionargs"> (<a class="" href="#Evoral.EventType">EventType</a>, <span class="em">unsigned long</span>, <span class="em">unsigned char*</span>)</span></td><td class="fill"></td></tr>
  </table>
 <h4 class="cls">Inherited from ARDOUR:Processor</h4>
 <table class="classmembers">
@@ -3289,6 +3297,12 @@ Pointer Classes cannot be created in Lua scripts. It always requires a call to C
  <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:PluginType" class="cls freeclass"><abbr title="Namespace">&Nopf;</abbr>&nbsp;ARDOUR.PluginType</h3>
+<div class="clear"></div>
+<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::PluginType, bool)">name</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR:PluginType">PluginType</a>, <span class="em">bool</span>)</span></td><td class="fill"></td></tr>
+ </table>
 <h3 id="ARDOUR:PolarityProcessor" class="cls pointerclass"><abbr title="Pointer Class">&Rarr;</abbr>&nbsp;ARDOUR:PolarityProcessor</h3>
 <p class="cdecl"><em>C&#8225;</em>: boost::shared_ptr&lt; ARDOUR::PolarityProcessor &gt;, boost::weak_ptr&lt; ARDOUR::PolarityProcessor &gt;</p>
  <p class="classinfo">is-a: <a class="" href="#ARDOUR:Processor">ARDOUR:Processor</a></p>
@@ -3629,6 +3643,7 @@ Pointer Classes cannot be created in Lua scripts. It always requires a call to C
  <tr><td class="def"><span class="em">std::string</span></td><td class="decl"><span class="functionname"><abbr title="std::string (ARDOUR::RCConfiguration::*)() const">get_click_sound</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::RCConfiguration::*)() const">get_clicking</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::RCConfiguration::*)() const">get_conceal_lv1_if_lv2_exists</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::RCConfiguration::*)() const">get_conceal_vst2_if_vst3_exists</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::RCConfiguration::*)() const">get_copy_demo_sessions</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::RCConfiguration::*)() const">get_create_xrun_marker</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
  <tr><td class="def"><a class="" href="#ARDOUR.FadeShape">FadeShape</a></td><td class="decl"><span class="functionname"><abbr title="ARDOUR::FadeShape (ARDOUR::RCConfiguration::*)() const">get_default_fade_shape</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
@@ -3699,6 +3714,7 @@ Pointer Classes cannot be created in Lua scripts. It always requires a call to C
  <tr><td class="def"><a class="" href="#ARDOUR.PFLPosition">PFLPosition</a></td><td class="decl"><span class="functionname"><abbr title="ARDOUR::PFLPosition (ARDOUR::RCConfiguration::*)() const">get_pfl_position</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
  <tr><td class="def"><span class="em">std::string</span></td><td class="decl"><span class="functionname"><abbr title="std::string (ARDOUR::RCConfiguration::*)() const">get_plugin_path_lxvst</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
  <tr><td class="def"><span class="em">std::string</span></td><td class="decl"><span class="functionname"><abbr title="std::string (ARDOUR::RCConfiguration::*)() const">get_plugin_path_vst</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
+ <tr><td class="def"><span class="em">std::string</span></td><td class="decl"><span class="functionname"><abbr title="std::string (ARDOUR::RCConfiguration::*)() const">get_plugin_path_vst3</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::RCConfiguration::*)() const">get_plugins_stop_with_transport</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::RCConfiguration::*)() const">get_postroll</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::RCConfiguration::*)() const">get_preroll</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
@@ -3748,6 +3764,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::RCConfiguration::*)() const">get_use_click_emphasis</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::RCConfiguration::*)() const">get_use_lxvst</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::RCConfiguration::*)() const">get_use_macvst</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::RCConfiguration::*)() const">get_use_master_volume</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::RCConfiguration::*)() const">get_use_monitor_bus</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::RCConfiguration::*)() const">get_use_osc</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::RCConfiguration::*)() const">get_use_plugin_own_gui</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
@@ -3784,6 +3801,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::RCConfiguration::*)(std::string)">set_click_sound</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">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::RCConfiguration::*)(bool)">set_clicking</abbr></span><span class="functionargs"> (<span class="em">bool</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::RCConfiguration::*)(bool)">set_conceal_lv1_if_lv2_exists</abbr></span><span class="functionargs"> (<span class="em">bool</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::RCConfiguration::*)(bool)">set_conceal_vst2_if_vst3_exists</abbr></span><span class="functionargs"> (<span class="em">bool</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::RCConfiguration::*)(bool)">set_copy_demo_sessions</abbr></span><span class="functionargs"> (<span class="em">bool</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::RCConfiguration::*)(bool)">set_create_xrun_marker</abbr></span><span class="functionargs"> (<span class="em">bool</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::RCConfiguration::*)(ARDOUR::FadeShape)">set_default_fade_shape</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR.FadeShape">FadeShape</a>)</span></td><td class="fill"></td></tr>
@@ -3854,6 +3872,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::RCConfiguration::*)(ARDOUR::PFLPosition)">set_pfl_position</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR.PFLPosition">PFLPosition</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::RCConfiguration::*)(std::string)">set_plugin_path_lxvst</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">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::RCConfiguration::*)(std::string)">set_plugin_path_vst</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">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::RCConfiguration::*)(std::string)">set_plugin_path_vst3</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">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::RCConfiguration::*)(bool)">set_plugins_stop_with_transport</abbr></span><span class="functionargs"> (<span class="em">bool</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::RCConfiguration::*)(long)">set_postroll</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::RCConfiguration::*)(long)">set_preroll</abbr></span><span class="functionargs"> (<span class="em">long</span>)</span></td><td class="fill"></td></tr>
@@ -3903,6 +3922,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::RCConfiguration::*)(bool)">set_use_click_emphasis</abbr></span><span class="functionargs"> (<span class="em">bool</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::RCConfiguration::*)(bool)">set_use_lxvst</abbr></span><span class="functionargs"> (<span class="em">bool</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::RCConfiguration::*)(bool)">set_use_macvst</abbr></span><span class="functionargs"> (<span class="em">bool</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::RCConfiguration::*)(bool)">set_use_master_volume</abbr></span><span class="functionargs"> (<span class="em">bool</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::RCConfiguration::*)(bool)">set_use_monitor_bus</abbr></span><span class="functionargs"> (<span class="em">bool</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::RCConfiguration::*)(bool)">set_use_osc</abbr></span><span class="functionargs"> (<span class="em">bool</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::RCConfiguration::*)(bool)">set_use_plugin_own_gui</abbr></span><span class="functionargs"> (<span class="em">bool</span>)</span></td><td class="fill"></td></tr>
@@ -3940,6 +3960,7 @@ Pointer Classes cannot be created in Lua scripts. It always requires a call to C
  <tr><td class="def"><span class="em">std::string</span></td><td class="decl"><span class="functionname">click_sound</span></td><td class="fill"></td></tr>
  <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname">clicking</span></td><td class="fill"></td></tr>
  <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname">conceal_lv1_if_lv2_exists</span></td><td class="fill"></td></tr>
+ <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname">conceal_vst2_if_vst3_exists</span></td><td class="fill"></td></tr>
  <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname">copy_demo_sessions</span></td><td class="fill"></td></tr>
  <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname">create_xrun_marker</span></td><td class="fill"></td></tr>
  <tr><td class="def"><a class="" href="#ARDOUR.FadeShape">ARDOUR.FadeShape</a></td><td class="decl"><span class="functionname">default_fade_shape</span></td><td class="fill"></td></tr>
@@ -4010,6 +4031,7 @@ Pointer Classes cannot be created in Lua scripts. It always requires a call to C
  <tr><td class="def"><a class="" href="#ARDOUR.PFLPosition">ARDOUR.PFLPosition</a></td><td class="decl"><span class="functionname">pfl_position</span></td><td class="fill"></td></tr>
  <tr><td class="def"><span class="em">std::string</span></td><td class="decl"><span class="functionname">plugin_path_lxvst</span></td><td class="fill"></td></tr>
  <tr><td class="def"><span class="em">std::string</span></td><td class="decl"><span class="functionname">plugin_path_vst</span></td><td class="fill"></td></tr>
+ <tr><td class="def"><span class="em">std::string</span></td><td class="decl"><span class="functionname">plugin_path_vst3</span></td><td class="fill"></td></tr>
  <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname">plugins_stop_with_transport</span></td><td class="fill"></td></tr>
  <tr><td class="def"><span class="em">long</span></td><td class="decl"><span class="functionname">postroll</span></td><td class="fill"></td></tr>
  <tr><td class="def"><span class="em">long</span></td><td class="decl"><span class="functionname">preroll</span></td><td class="fill"></td></tr>
@@ -4059,6 +4081,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">use_click_emphasis</span></td><td class="fill"></td></tr>
  <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname">use_lxvst</span></td><td class="fill"></td></tr>
  <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname">use_macvst</span></td><td class="fill"></td></tr>
+ <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname">use_master_volume</span></td><td class="fill"></td></tr>
  <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname">use_monitor_bus</span></td><td class="fill"></td></tr>
  <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname">use_osc</span></td><td class="fill"></td></tr>
  <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname">use_plugin_own_gui</span></td><td class="fill"></td></tr>
@@ -4368,7 +4391,7 @@ 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">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::Route::*)() const">active</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::Route::*)(boost::shared_ptr&lt;ARDOUR::Route&gt;)">add_foldback_send</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR:Route">Route</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::Route::*)(boost::shared_ptr&lt;ARDOUR::Route&gt;, bool)">add_foldback_send</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR:Route">Route</a>, <span class="em">bool</span>)</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::Route::*)(boost::shared_ptr&lt;ARDOUR::Processor&gt;, int, ARDOUR::Route::ProcessorStreams*, bool)">add_processor_by_index</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR:Processor">Processor</a>, <span class="em">int</span>, <a class="" href="#ARDOUR:Route:ProcessorStreams">ProcessorStreams</a>, <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"> Add a processor to a route such that it ends up with a given index into the visible processors.  </p><dl><dt class="param-name-index-1">index</dt><dd class="param-descr-index-1"> Index to add the processor at, or -1 to add at the end of the list.  </dd></dl><div class="result-discussion"><p class="para-returns"><span class="word-returns">Returns</span>  0 on success, non-0 on failure.</p></div></div></td></tr>
  <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::Route::*)(boost::shared_ptr&lt;ARDOUR::Processor&gt;)">add_sidechain</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR:Processor">Processor</a>)</span></td><td class="fill"></td></tr>
@@ -4666,6 +4689,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::Session::*)()">abort_reversible_command</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"> abort an open undo command This must only be called after begin_reversible_command ()</p></div></td></tr>
  <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::Session::*)() const">actively_recording</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">actual_speed</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::*)(Command*)">add_command</abbr></span><span class="functionargs"> (<a class="" href="#PBD:Command">Command</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::*)(boost::shared_ptr&lt;ARDOUR::Route&gt;, boost::shared_ptr&lt;ARDOUR::Processor&gt;, boost::shared_ptr&lt;ARDOUR::Route&gt;)">add_internal_send</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR:Route">Route</a>, <a class="" href="#ARDOUR:Processor">Processor</a>, <a class="" href="#ARDOUR:Route">Route</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::*)(boost::shared_ptr&lt;ARDOUR::Route&gt;, ARDOUR::Placement, boost::shared_ptr&lt;std::list&lt;boost::shared_ptr&lt;ARDOUR::Route&gt; &gt; &gt;)">add_internal_sends</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR:Route">Route</a>, <a class="" href="#ARDOUR.Placement">Placement</a>, <a class="" href="#ARDOUR:RouteListPtr">RouteListPtr</a>)</span></td><td class="fill"></td></tr>
@@ -4684,6 +4708,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::Session::*)() const">current_start_sample</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::*)(bool, bool)">disable_record</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"><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">double</span></td><td class="decl"><span class="functionname"><abbr title="double (ARDOUR::Session::*)() const">engine_speed</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::*)(boost::shared_ptr&lt;std::list&lt;boost::shared_ptr&lt;ARDOUR::Route&gt; &gt; &gt;, std::string const&amp;)">export_track_state</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR:RouteListPtr">RouteListPtr</a>, <span class="em">std::string</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 (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>
@@ -4753,8 +4778,16 @@ Pointer Classes cannot be created in Lua scripts. It always requires a call to C
  <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"><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>
+<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>  true if the the transport is actively (audible) rolling.  playback speed is not zero, and count-in as well as latency-preroll is complete,  and _transport_sample changes every process cycle.</p></div></div></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_sample</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">transport_speed</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_state_rolling</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>  true if the transport state (TFSM) is rolling.  Note: the transport may not yet move if pre-roll or count-in in ongoing.</p></div></div></td></tr>
+ <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::Session::*)() const">transport_stopped</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>  true if the transport state (TFSM) is stopped </p></div></div></td></tr>
+ <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::Session::*)() const">transport_stopped_or_stopping</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>  true if the transport state (TFSM) is stopped or stopping </p></div></div></td></tr>
+ <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::Session::*)() const">transport_will_roll_forwards</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
  <tr><td class="def"><a class="" href="#C:StringList">StringList</a></td><td class="decl"><span class="functionname"><abbr title="std::list&lt;std::string &gt; (ARDOUR::Session::*)() const">unknown_processors</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
  <tr><td class="def"><a class="" href="#ARDOUR:VCAManager">VCAManager</a></td><td class="decl"><span class="functionname"><abbr title="ARDOUR::VCAManager* (ARDOUR::Session::*)()">vca_manager</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">worst_input_latency</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
@@ -5425,7 +5458,7 @@ Pointer Classes cannot be created in Lua scripts. It always requires a call to C
  <tr><th colspan="3">Methods</th></tr>
  <tr><td class="def"><a class="" href="#ARDOUR:MeterSection">MeterSection</a></td><td class="decl"><span class="functionname"><abbr title="ARDOUR::MeterSection* (ARDOUR::TempoMap::*)(ARDOUR::Meter const&amp;, Timecode::BBT_Time const&amp;, long, ARDOUR::PositionLockStyle)">add_meter</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR:Meter">Meter</a>, <a class="" href="#Timecode:BBT_TIME">BBT_TIME</a>, <span class="em">long</span>, <a class="" href="#ARDOUR.PositionLockStyle">PositionLockStyle</a>)</span></td><td class="fill"></td></tr>
  <tr><td class="def"><a class="" href="#ARDOUR:TempoSection">TempoSection</a></td><td class="decl"><span class="functionname"><abbr title="ARDOUR::TempoSection* (ARDOUR::TempoMap::*)(ARDOUR::Tempo const&amp;, double const&amp;, long, 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.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_sample</abbr></span><span class="functionargs"> (<span class="em">long</span>)</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) const">bbt_at_sample</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"> Returns the BBT time corresponding to the supplied sample position. </p><dl><dt class="param-name-index-0">sample</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 sample 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, int) const">exact_beat_at_sample</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, int) const">exact_qn_at_sample</abbr></span><span class="functionargs"> (<span class="em">long</span>, <span class="em">int</span>)</span></td><td class="fill"></td></tr>
@@ -5472,9 +5505,9 @@ Pointer Classes cannot be created in Lua scripts. It always requires a call to C
 <div class="classdox"><p class="para-brief"> A track is an route (bus) with a recordable diskstream and related objects relevant to recording, playback and editing.</p><p> Specifically a track has a playlist object that describes material to be played from disk, and modifies that object during recording and editing.</p></div>
 <table class="classmembers">
  <tr><th colspan="3">Methods</th></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:Region">Region</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::Region&gt; (ARDOUR::Track::*)(ARDOUR::InterThreadInfo&amp;)">bounce</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR:InterThreadInfo">InterThreadInfo&amp;</a>)</span></td><td class="fill"></td></tr>
+ <tr><td class="def"><a class="" href="#ARDOUR:Region">Region</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::Region&gt; (ARDOUR::Track::*)(ARDOUR::InterThreadInfo&amp;, std::string const&amp;)">bounce</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR:InterThreadInfo">InterThreadInfo&amp;</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"> bounce track from session start to session end to new region</p><dl><dt class="param-name-index-0">itt</dt><dd class="param-descr-index-0"> asynchronous progress report and cancel </dd></dl><div class="result-discussion"><p class="para-returns"><span class="word-returns">Returns</span>  a new audio region (or nil in case of error)</p></div></div></td></tr>
- <tr><td class="def"><a class="" href="#ARDOUR:Region">Region</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::Region&gt; (ARDOUR::Track::*)(long, long, ARDOUR::InterThreadInfo&amp;, boost::shared_ptr&lt;ARDOUR::Processor&gt;, bool)">bounce_range</abbr></span><span class="functionargs"> (<span class="em">long</span>, <span class="em">long</span>, <a class="" href="#ARDOUR:InterThreadInfo">InterThreadInfo&amp;</a>, <a class="" href="#ARDOUR:Processor">Processor</a>, <span class="em">bool</span>)</span></td><td class="fill"></td></tr>
+ <tr><td class="def"><a class="" href="#ARDOUR:Region">Region</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr&lt;ARDOUR::Region&gt; (ARDOUR::Track::*)(long, long, ARDOUR::InterThreadInfo&amp;, boost::shared_ptr&lt;ARDOUR::Processor&gt;, bool, std::string const&amp;)">bounce_range</abbr></span><span class="functionargs"> (<span class="em">long</span>, <span class="em">long</span>, <a class="" href="#ARDOUR:InterThreadInfo">InterThreadInfo&amp;</a>, <a class="" href="#ARDOUR:Processor">Processor</a>, <span class="em">bool</span>, <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"> Bounce the given range to a new audio region. </p><dl><dt class="param-name-index-0">start</dt><dd class="param-descr-index-0"> start time (in samples) </dd><dt class="param-name-index-1">end</dt><dd class="param-descr-index-1"> end time (in samples) </dd><dt class="param-name-index-2">itt</dt><dd class="param-descr-index-2"> asynchronous progress report and cancel </dd><dt class="param-name-index-3">endpoint</dt><dd class="param-descr-index-3"> the processor to tap the signal off (or nil for the top) </dd><dt class="param-name-index-4">include_endpoint</dt><dd class="param-descr-index-4"> include the given processor in the bounced audio. </dd></dl><div class="result-discussion"><p class="para-returns"><span class="word-returns">Returns</span>  a new audio region (or nil in case of error)</p></div></div></td></tr>
  <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::Track::*)(boost::shared_ptr&lt;ARDOUR::Processor&gt;, bool) const">bounceable</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR:Processor">Processor</a>, <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"> Test if the track can be bounced with the given settings. If sends&#47;inserts&#47;returns are present in the signal path or the given track has no audio outputs bouncing is not possible.</p><dl><dt class="param-name-index-0">endpoint</dt><dd class="param-descr-index-0"> the processor to tap the signal off (or nil for the top) </dd><dt class="param-name-index-1">include_endpoint</dt><dd class="param-descr-index-1"> include the given processor in the bounced audio. </dd></dl><div class="result-discussion"><p class="para-returns"><span class="word-returns">Returns</span>  true if the track can be bounced, or false otherwise.</p></div></div></td></tr>
@@ -5494,7 +5527,7 @@ 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">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::Route::*)() const">active</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::Route::*)(boost::shared_ptr&lt;ARDOUR::Route&gt;)">add_foldback_send</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR:Route">Route</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::Route::*)(boost::shared_ptr&lt;ARDOUR::Route&gt;, bool)">add_foldback_send</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR:Route">Route</a>, <span class="em">bool</span>)</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::Route::*)(boost::shared_ptr&lt;ARDOUR::Processor&gt;, int, ARDOUR::Route::ProcessorStreams*, bool)">add_processor_by_index</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR:Processor">Processor</a>, <span class="em">int</span>, <a class="" href="#ARDOUR:Route:ProcessorStreams">ProcessorStreams</a>, <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"> Add a processor to a route such that it ends up with a given index into the visible processors.  </p><dl><dt class="param-name-index-1">index</dt><dd class="param-descr-index-1"> Index to add the processor at, or -1 to add at the end of the list.  </dd></dl><div class="result-discussion"><p class="para-returns"><span class="word-returns">Returns</span>  0 on success, non-0 on failure.</p></div></div></td></tr>
  <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (ARDOUR::Route::*)(boost::shared_ptr&lt;ARDOUR::Processor&gt;)">add_sidechain</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR:Processor">Processor</a>)</span></td><td class="fill"></td></tr>
@@ -6122,9 +6155,9 @@ 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">long</span></td><td class="decl"><span class="functionname"><abbr title="long (TimeSelection::*)()">end_sample</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 (TimeSelection::*)()">length</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 (TimeSelection::*)()">start</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 (TimeSelection::*)() const">end_sample</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 (TimeSelection::*)() const">length</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 (TimeSelection::*)() const">start</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
  </table>
 <h4 class="cls">Inherited from ARDOUR:AudioRangeList</h4>
 <table class="classmembers">
@@ -6214,6 +6247,8 @@ 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 (UIConfiguration::*)() const">get_link_region_and_track_selection</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 (UIConfiguration::*)() const">get_lock_gui_after_seconds</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 (UIConfiguration::*)() const">get_max_inline_controls</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 (UIConfiguration::*)() const">get_max_plugin_chart</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 (UIConfiguration::*)() const">get_max_plugin_recent</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 (UIConfiguration::*)() const">get_meter_hold</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
  <tr><td class="def"><a class="" href="#ARDOUR.MeterLineUp">MeterLineUp</a></td><td class="decl"><span class="functionname"><abbr title="ARDOUR::MeterLineUp (UIConfiguration::*)() const">get_meter_line_up_din</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
  <tr><td class="def"><a class="" href="#ARDOUR.MeterLineUp">MeterLineUp</a></td><td class="decl"><span class="functionname"><abbr title="ARDOUR::MeterLineUp (UIConfiguration::*)() const">get_meter_line_up_level</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
@@ -6248,6 +6283,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 (UIConfiguration::*)() const">get_show_secondary_clock</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 (UIConfiguration::*)() const">get_show_snapped_cursor</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 (UIConfiguration::*)() const">get_show_toolbar_latency</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 (UIConfiguration::*)() const">get_show_toolbar_monitor_info</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 (UIConfiguration::*)() const">get_show_toolbar_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 (UIConfiguration::*)() const">get_show_toolbar_recpunch</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 (UIConfiguration::*)() const">get_show_toolbar_selclock</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
@@ -6265,6 +6301,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 (UIConfiguration::*)() const">get_sound_midi_notes</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
  <tr><td class="def"><span class="em">std::string</span></td><td class="decl"><span class="functionname"><abbr title="std::string (UIConfiguration::*)() const">get_stripable_color_palette</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 (UIConfiguration::*)() const">get_super_rapid_clock_update</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 (UIConfiguration::*)() const">get_time_axis_name_ellipsize_mode</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 (UIConfiguration::*)() const">get_timeline_item_gradient_depth</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 (UIConfiguration::*)() const">get_transients_follow_front</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
  <tr><td class="def"><span class="em">std::string</span></td><td class="decl"><span class="functionname"><abbr title="std::string (UIConfiguration::*)() const">get_ui_font_family</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
@@ -6283,7 +6320,7 @@ Pointer Classes cannot be created in Lua scripts. It always requires a call to C
  <tr><td class="def"><span class="em">double</span></td><td class="decl"><span class="functionname"><abbr title="double (UIConfiguration::*)() const">get_waveform_clip_level</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 (UIConfiguration::*)() const">get_waveform_gradient_depth</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
  <tr><td class="def"><a class="" href="#ARDOUR.WaveformScale">WaveformScale</a></td><td class="decl"><span class="functionname"><abbr title="ARDOUR::WaveformScale (UIConfiguration::*)() const">get_waveform_scale</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">--MISSING (ARDOUR::WaveformShape)--</span></td><td class="decl"><span class="functionname"><abbr title="ARDOUR::WaveformShape (UIConfiguration::*)() const">get_waveform_shape</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
+ <tr><td class="def"><a class="" href="#ARDOUR.WaveformShape">WaveformShape</a></td><td class="decl"><span class="functionname"><abbr title="ARDOUR::WaveformShape (UIConfiguration::*)() const">get_waveform_shape</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 (UIConfiguration::*)() const">get_widget_prelight</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 (UIConfiguration::*)(unsigned int)">set_action_table_columns</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 (UIConfiguration::*)(bool)">set_all_floating_windows_are_dialogs</abbr></span><span class="functionargs"> (<span class="em">bool</span>)</span></td><td class="fill"></td></tr>
@@ -6316,6 +6353,8 @@ 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 (UIConfiguration::*)(bool)">set_link_region_and_track_selection</abbr></span><span class="functionargs"> (<span class="em">bool</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 (UIConfiguration::*)(unsigned int)">set_lock_gui_after_seconds</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 (UIConfiguration::*)(unsigned int)">set_max_inline_controls</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 (UIConfiguration::*)(int)">set_max_plugin_chart</abbr></span><span class="functionargs"> (<span class="em">int</span>)</span></td><td class="fill"></td></tr>
+ <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (UIConfiguration::*)(int)">set_max_plugin_recent</abbr></span><span class="functionargs"> (<span class="em">int</span>)</span></td><td class="fill"></td></tr>
  <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (UIConfiguration::*)(float)">set_meter_hold</abbr></span><span class="functionargs"> (<span class="em">float</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 (UIConfiguration::*)(ARDOUR::MeterLineUp)">set_meter_line_up_din</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR.MeterLineUp">MeterLineUp</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 (UIConfiguration::*)(ARDOUR::MeterLineUp)">set_meter_line_up_level</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR.MeterLineUp">MeterLineUp</a>)</span></td><td class="fill"></td></tr>
@@ -6350,6 +6389,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 (UIConfiguration::*)(bool)">set_show_secondary_clock</abbr></span><span class="functionargs"> (<span class="em">bool</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 (UIConfiguration::*)(bool)">set_show_snapped_cursor</abbr></span><span class="functionargs"> (<span class="em">bool</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 (UIConfiguration::*)(bool)">set_show_toolbar_latency</abbr></span><span class="functionargs"> (<span class="em">bool</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 (UIConfiguration::*)(bool)">set_show_toolbar_monitor_info</abbr></span><span class="functionargs"> (<span class="em">bool</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 (UIConfiguration::*)(bool)">set_show_toolbar_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">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (UIConfiguration::*)(bool)">set_show_toolbar_recpunch</abbr></span><span class="functionargs"> (<span class="em">bool</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 (UIConfiguration::*)(bool)">set_show_toolbar_selclock</abbr></span><span class="functionargs"> (<span class="em">bool</span>)</span></td><td class="fill"></td></tr>
@@ -6367,6 +6407,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 (UIConfiguration::*)(bool)">set_sound_midi_notes</abbr></span><span class="functionargs"> (<span class="em">bool</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 (UIConfiguration::*)(std::string)">set_stripable_color_palette</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">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (UIConfiguration::*)(bool)">set_super_rapid_clock_update</abbr></span><span class="functionargs"> (<span class="em">bool</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 (UIConfiguration::*)(int)">set_time_axis_name_ellipsize_mode</abbr></span><span class="functionargs"> (<span class="em">int</span>)</span></td><td class="fill"></td></tr>
  <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (UIConfiguration::*)(float)">set_timeline_item_gradient_depth</abbr></span><span class="functionargs"> (<span class="em">float</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 (UIConfiguration::*)(bool)">set_transients_follow_front</abbr></span><span class="functionargs"> (<span class="em">bool</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 (UIConfiguration::*)(std::string)">set_ui_font_family</abbr></span><span class="functionargs"> (<span class="em">std::string</span>)</span></td><td class="fill"></td></tr>
@@ -6385,7 +6426,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 (UIConfiguration::*)(double)">set_waveform_clip_level</abbr></span><span class="functionargs"> (<span class="em">double</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 (UIConfiguration::*)(float)">set_waveform_gradient_depth</abbr></span><span class="functionargs"> (<span class="em">float</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 (UIConfiguration::*)(ARDOUR::WaveformScale)">set_waveform_scale</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR.WaveformScale">WaveformScale</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 (UIConfiguration::*)(ARDOUR::WaveformShape)">set_waveform_shape</abbr></span><span class="functionargs"> (<span>--MISSING (ARDOUR::WaveformShape)--</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 (UIConfiguration::*)(ARDOUR::WaveformShape)">set_waveform_shape</abbr></span><span class="functionargs"> (<a class="" href="#ARDOUR.WaveformShape">WaveformShape</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 (UIConfiguration::*)(bool)">set_widget_prelight</abbr></span><span class="functionargs"> (<span class="em">bool</span>)</span></td><td class="fill"></td></tr>
  <tr><th colspan="3">Properties</th></tr>
  <tr><td class="def"><span class="em">unsigned int</span></td><td class="decl"><span class="functionname">action_table_columns</span></td><td class="fill"></td></tr>
@@ -6419,6 +6460,8 @@ 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">link_region_and_track_selection</span></td><td class="fill"></td></tr>
  <tr><td class="def"><span class="em">unsigned int</span></td><td class="decl"><span class="functionname">lock_gui_after_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">max_inline_controls</span></td><td class="fill"></td></tr>
+ <tr><td class="def"><span class="em">int</span></td><td class="decl"><span class="functionname">max_plugin_chart</span></td><td class="fill"></td></tr>
+ <tr><td class="def"><span class="em">int</span></td><td class="decl"><span class="functionname">max_plugin_recent</span></td><td class="fill"></td></tr>
  <tr><td class="def"><span class="em">float</span></td><td class="decl"><span class="functionname">meter_hold</span></td><td class="fill"></td></tr>
  <tr><td class="def"><a class="" href="#ARDOUR.MeterLineUp">ARDOUR.MeterLineUp</a></td><td class="decl"><span class="functionname">meter_line_up_din</span></td><td class="fill"></td></tr>
  <tr><td class="def"><a class="" href="#ARDOUR.MeterLineUp">ARDOUR.MeterLineUp</a></td><td class="decl"><span class="functionname">meter_line_up_level</span></td><td class="fill"></td></tr>
@@ -6453,6 +6496,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">show_secondary_clock</span></td><td class="fill"></td></tr>
  <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname">show_snapped_cursor</span></td><td class="fill"></td></tr>
  <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname">show_toolbar_latency</span></td><td class="fill"></td></tr>
+ <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname">show_toolbar_monitor_info</span></td><td class="fill"></td></tr>
  <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname">show_toolbar_monitoring</span></td><td class="fill"></td></tr>
  <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname">show_toolbar_recpunch</span></td><td class="fill"></td></tr>
  <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname">show_toolbar_selclock</span></td><td class="fill"></td></tr>
@@ -6470,6 +6514,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">sound_midi_notes</span></td><td class="fill"></td></tr>
  <tr><td class="def"><span class="em">std::string</span></td><td class="decl"><span class="functionname">stripable_color_palette</span></td><td class="fill"></td></tr>
  <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname">super_rapid_clock_update</span></td><td class="fill"></td></tr>
+ <tr><td class="def"><span class="em">int</span></td><td class="decl"><span class="functionname">time_axis_name_ellipsize_mode</span></td><td class="fill"></td></tr>
  <tr><td class="def"><span class="em">float</span></td><td class="decl"><span class="functionname">timeline_item_gradient_depth</span></td><td class="fill"></td></tr>
  <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname">transients_follow_front</span></td><td class="fill"></td></tr>
  <tr><td class="def"><span class="em">std::string</span></td><td class="decl"><span class="functionname">ui_font_family</span></td><td class="fill"></td></tr>
@@ -6488,7 +6533,7 @@ Pointer Classes cannot be created in Lua scripts. It always requires a call to C
  <tr><td class="def"><span class="em">double</span></td><td class="decl"><span class="functionname">waveform_clip_level</span></td><td class="fill"></td></tr>
  <tr><td class="def"><span class="em">float</span></td><td class="decl"><span class="functionname">waveform_gradient_depth</span></td><td class="fill"></td></tr>
  <tr><td class="def"><a class="" href="#ARDOUR.WaveformScale">ARDOUR.WaveformScale</a></td><td class="decl"><span class="functionname">waveform_scale</span></td><td class="fill"></td></tr>
- <tr><td class="def"><span class="em">--MISSING (ARDOUR::WaveformShape)--</span></td><td class="decl"><span class="functionname">waveform_shape</span></td><td class="fill"></td></tr>
+ <tr><td class="def"><a class="" href="#ARDOUR.WaveformShape">ARDOUR.WaveformShape</a></td><td class="decl"><span class="functionname">waveform_shape</span></td><td class="fill"></td></tr>
  <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname">widget_prelight</span></td><td class="fill"></td></tr>
  </table>
 <h3 id="C:ByteArray" class="cls array"><abbr title="C Array">&ctdot;</abbr>&nbsp;C:ByteArray</h3>
@@ -6835,28 +6880,32 @@ 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">void</span></td><td class="decl"><span class="functionname"><abbr title="void (Evoral::ControlList::*)(double, double, bool, bool)">add</abbr></span><span class="functionargs"> (<span class="em">double</span>, <span class="em">double</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"> add automation events </p><dl><dt class="param-name-index-0">when</dt><dd class="param-descr-index-0"> absolute time in samples </dd><dt class="param-name-index-1">value</dt><dd class="param-descr-index-1"> parameter value </dd><dt class="param-name-index-2">with_guards</dt><dd class="param-descr-index-2"> if true, add guard-points </dd><dt class="param-name-index-3">with_initial</dt><dd class="param-descr-index-3"> if true, add an initial point if the list is empty</dd></dl></div></td></tr>
+<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> Add an event to this list.</p><p> This method is intended to write automation in realtime. If the transport is stopped, guard-points will be added regardless of parameter with_guards.</p><dl><dt class="param-name-index-0">when</dt><dd class="param-descr-index-0"> absolute time in samples </dd><dt class="param-name-index-1">value</dt><dd class="param-descr-index-1"> parameter value </dd><dt class="param-name-index-2">with_guards</dt><dd class="param-descr-index-2"> if true, add guard-points </dd><dt class="param-name-index-3">with_initial</dt><dd class="param-descr-index-3"> if true, add an initial point if the list is empty</dd></dl></div></td></tr>
  <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (Evoral::ControlList::*)(double, double)">clear</abbr></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"><p class="para-brief"> remove all automation events between the given time range </p><dl><dt class="param-name-index-0">start</dt><dd class="param-descr-index-0"> start of range (inclusive) in audio samples </dd><dt class="param-name-index-1">end</dt><dd class="param-descr-index-1"> end of range (inclusive) in audio samples</dd></dl></div></td></tr>
+<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> Remove all events in the given time range from this list.</p><dl><dt class="param-name-index-0">start</dt><dd class="param-descr-index-0"> start of range (inclusive) in audio samples </dd><dt class="param-name-index-1">end</dt><dd class="param-descr-index-1"> end of range (inclusive) in audio samples</dd></dl></div></td></tr>
  <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (Evoral::ControlList::*)()">clear_list</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 (Evoral::ControlList::*)(double, double, bool)">editor_add</abbr></span><span class="functionargs"> (<span class="em">double</span>, <span class="em">double</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"> Add an event to this list.</p><p> This method is intended for making manual changes from the GUI. An event will only be created if no other event exists at the given time.</p><dl><dt class="param-name-index-0">when</dt><dd class="param-descr-index-0"> absolute time in samples </dd><dt class="param-name-index-1">value</dt><dd class="param-descr-index-1"> parameter value </dd><dt class="param-name-index-invalid">with_guards</dt><dd class="param-descr-index-invalid"> if true, add guard-points</dd></dl><div class="result-discussion"><p class="para-returns"><span class="word-returns">Returns</span>  true if an event was added.</p></div></div></td></tr>
  <tr><td class="def"><span class="em">double</span></td><td class="decl"><span class="functionname"><abbr title="double (Evoral::ControlList::*)(double) const">eval</abbr></span><span class="functionargs"> (<span class="em">double</span>)</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> query value at given time (takes a read-lock, not safe while writing automation) </p><dl><dt class="param-name-index-0">where</dt><dd class="param-descr-index-0"> absolute time in samples </dd></dl><div class="result-discussion"><p class="para-returns"><span class="word-returns">Returns</span>  parameter value</p></div></div></td></tr>
+<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> Queries the event value at the given time (takes a read-lock, not safe while writing automation).</p><dl><dt class="param-name-index-0">where</dt><dd class="param-descr-index-0"> absolute time in samples </dd></dl><div class="result-discussion"><p class="para-returns"><span class="word-returns">Returns</span>  parameter value</p></div></div></td></tr>
  <tr><td class="def"><a class="" href="#ARDOUR:EventList">EventList</a></td><td class="decl"><span class="functionname"><abbr title="std::list&lt;Evoral::ControlEvent* &gt; const&amp; (Evoral::ControlList::*)() const">events</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>  the list of events </p></div></div></td></tr>
  <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (Evoral::ControlList::*)() const">in_write_pass</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>  true if transport is running and this list is in write mode </p></div></div></td></tr>
  <tr><td class="def"><a class="" href="#Evoral.ControlList.InterpolationStyle">InterpolationStyle</a></td><td class="decl"><span class="functionname"><abbr title="Evoral::ControlList::InterpolationStyle (Evoral::ControlList::*)() const">interpolation</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"> query interpolation style of the automation data </p><div class="result-discussion"><p class="para-returns"><span class="word-returns">Returns</span>  Interpolation Style</p></div></div></td></tr>
  <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="void (*)()">isnil</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
  <tr><td class="def"><em>LuaTable</em>(<span class="em">double</span>, ...)</td><td class="decl"><span class="functionname"><abbr title="double (Evoral::ControlList::*)(double, bool&amp;) const">rt_safe_eval</abbr></span><span class="functionargs"> (<span class="em">double</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"> realtime safe version of eval, may fail if read-lock cannot be taken </p><dl><dt class="param-name-index-0">where</dt><dd class="param-descr-index-0"> absolute time in samples </dd><dt class="param-name-index-1">ok</dt><dd class="param-descr-index-1"> boolean reference if returned value is valid </dd></dl><div class="result-discussion"><p class="para-returns"><span class="word-returns">Returns</span>  parameter value</p></div></div></td></tr>
+<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> Realtime safe version of eval(). This may fail if a read-lock cannot be taken.</p><dl><dt class="param-name-index-0">where</dt><dd class="param-descr-index-0"> absolute time in samples </dd><dt class="param-name-index-1">ok</dt><dd class="param-descr-index-1"> boolean reference if returned value is valid </dd></dl><div class="result-discussion"><p class="para-returns"><span class="word-returns">Returns</span>  parameter 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 (Evoral::ControlList::*)(Evoral::ControlList::InterpolationStyle)">set_interpolation</abbr></span><span class="functionargs"> (<a class="" href="#Evoral.ControlList.InterpolationStyle">InterpolationStyle</a>)</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> set the interpolation style of the automation data.</p><p> This will fail when asking for Logarithmic scale and min,max crosses 0 or Exponential scale with min != 0.</p><dl><dt class="param-name-index-0">is</dt><dd class="param-descr-index-0"> interpolation style </dd></dl><div class="result-discussion"><p class="para-returns"><span class="word-returns">Returns</span>  true if style change was successful</p></div></div></td></tr>
+<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> Sets the interpolation style of the automation data.</p><p> This will fail when asking for Logarithmic scale and min,max crosses 0 or Exponential scale with min != 0.</p><dl><dt class="param-name-index-0">is</dt><dd class="param-descr-index-0"> interpolation style </dd></dl><div class="result-discussion"><p class="para-returns"><span class="word-returns">Returns</span>  true if style change was successful</p></div></div></td></tr>
+ <tr><td class="def"><span class="em">unsigned long</span></td><td class="decl"><span class="functionname"><abbr title="unsigned long (Evoral::ControlList::*)() const">size</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::ControlList::*)(double)">thin</abbr></span><span class="functionargs"> (<span class="em">double</span>)</span></td><td class="fill"></td></tr>
 <tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> Thin the number of events in this list.</p><p> The thinning factor corresponds to the area of a triangle computed between three points in the list (time-difference * value-difference). If the area is large, it indicates significant non-linearity between the points.</p><p> Time is measured in samples, value is usually normalized to 0..1.</p><p> During automation recording we thin the recorded points using this value.  If a point is sufficiently co-linear with its neighbours (as defined by the area of the triangle formed by three of them), we will not include it in the list.  The larger the value, the more points are excluded, so this effectively measures the amount of thinning to be done.</p><dl><dt class="param-name-index-0">thinning_factor</dt><dd class="param-descr-index-0"> area-size (default: 20)</dd></dl></div></td></tr>
  <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (Evoral::ControlList::*)(double)">truncate_end</abbr></span><span class="functionargs"> (<span class="em">double</span>)</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> truncate the event list after the given time </p><dl><dt class="param-name-index-0">last_coordinate</dt><dd class="param-descr-index-0"> last event to include</dd></dl></div></td></tr>
+<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> Remove all events after the given time from this list.</p><dl><dt class="param-name-index-0">last_coordinate</dt><dd class="param-descr-index-0"> time in audio samples of the last event to keep</dd></dl></div></td></tr>
  <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (Evoral::ControlList::*)(double)">truncate_start</abbr></span><span class="functionargs"> (<span class="em">double</span>)</span></td><td class="fill"></td></tr>
-<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> truncate the event list to the given time </p><dl><dt class="param-name-index-0">overall_length</dt><dd class="param-descr-index-0"> overall length</dd></dl></div></td></tr>
+<tr><td></td><td class="doc" colspan="2"><div class="dox"><p class="para-brief"> Remove all events up to to the given time from this list.</p><dl><dt class="param-name-index-0">overall_length</dt><dd class="param-descr-index-0"> overall length in audio samples</dd></dl></div></td></tr>
  </table>
 <h3 id="Evoral:ControlSet" class="cls pointerclass"><abbr title="Pointer Class">&Rarr;</abbr>&nbsp;Evoral:ControlSet</h3>
 <p class="cdecl"><em>C&#8225;</em>: boost::shared_ptr&lt; Evoral::ControlSet &gt;, boost::weak_ptr&lt; Evoral::ControlSet &gt;</p>
@@ -7532,6 +7581,12 @@ Pointer Classes cannot be created in Lua scripts. It always requires a call to C
 <li class="const">Evoral.InterpolationStyle.Linear</li>
 <li class="const">Evoral.InterpolationStyle.Curved</li>
 </ul>
+<h3 id="Evoral.EventType" class="cls enum"><abbr title="Enum">&isin;</abbr>&nbsp;Evoral.EventType</h3>
+<ul class="enum">
+<li class="const">Evoral.EventType.NO_EVENT</li>
+<li class="const">Evoral.EventType.MIDI_EVENT</li>
+<li class="const">Evoral.EventType.LIVE_MIDI_EVENT</li>
+</ul>
 <h3 id="Vamp.Plugin.InputDomain" class="cls enum"><abbr title="Enum">&isin;</abbr>&nbsp;Vamp.Plugin.InputDomain</h3>
 <ul class="enum">
 <li class="const">Vamp.Plugin.InputDomain.TimeDomain</li>
@@ -7566,6 +7621,7 @@ Pointer Classes cannot be created in Lua scripts. It always requires a call to C
 <li class="const">ARDOUR.PluginType.LXVST</li>
 <li class="const">ARDOUR.PluginType.MacVST</li>
 <li class="const">ARDOUR.PluginType.Lua</li>
+<li class="const">ARDOUR.PluginType.VST3</li>
 </ul>
 <h3 id="ARDOUR.PresentationInfo.Flag" class="cls enum"><abbr title="Enum">&isin;</abbr>&nbsp;ARDOUR.PresentationInfo.Flag</h3>
 <ul class="enum">
@@ -7868,6 +7924,11 @@ Pointer Classes cannot be created in Lua scripts. It always requires a call to C
 <li class="const">ARDOUR.WaveformScale.Linear</li>
 <li class="const">ARDOUR.WaveformScale.Logarithmic</li>
 </ul>
+<h3 id="ARDOUR.WaveformShape" class="cls enum"><abbr title="Enum">&isin;</abbr>&nbsp;ARDOUR.WaveformShape</h3>
+<ul class="enum">
+<li class="const">ARDOUR.WaveformShape.Traditional</li>
+<li class="const">ARDOUR.WaveformShape.Rectified</li>
+</ul>
 <h3 id="ARDOUR.MeterLineUp" class="cls enum"><abbr title="Enum">&isin;</abbr>&nbsp;ARDOUR.MeterLineUp</h3>
 <ul class="enum">
 <li class="const">ARDOUR.MeterLineUp.MeteringLineUp24</li>
@@ -8284,6 +8345,7 @@ Pointer Classes cannot be created in Lua scripts. It always requires a call to C
 <li><a class="" href="#ARDOUR:PluginInfo">ARDOUR:PluginInfo</a></li>
 <li><a class="" href="#ARDOUR:PluginInfoList">ARDOUR:PluginInfoList</a></li>
 <li><a class="" href="#ARDOUR:PluginInsert">ARDOUR:PluginInsert</a></li>
+<li><a class="" href="#ARDOUR:PluginType">ARDOUR.PluginType</a></li>
 <li><a class="" href="#ARDOUR:PolarityProcessor">ARDOUR:PolarityProcessor</a></li>
 <li><a class="" href="#ARDOUR:Port">ARDOUR:Port</a></li>
 <li><a class="" href="#ARDOUR:PortEngine">ARDOUR:PortEngine</a></li>
@@ -8427,6 +8489,6 @@ Pointer Classes cannot be created in Lua scripts. It always requires a call to C
 <li><a class="" href="#Vamp:RealTime">Vamp:RealTime</a></li>
 <li><a class="" href="#os">os</a></li>
 </ul>
-<!-- 564 / 3864 !-->
+<!-- 575 / 3879 !-->
 </div>
-<div class="luafooter">Ardour 6.0 &nbsp;-&nbsp; Sat, 23 May 2020 02:12:46 +0200</div>
+<div class="luafooter">Ardour 6.4 &nbsp;-&nbsp; Sat, 21 Nov 2020 19:19:48 +0100</div>