Here are the commands used to query Ardour: (added in Ardour 5.5)
</p>
-<dl class="bindings">
- <dt><kbd class="osc">/strip/list</kbd></dt>
- <dd>Ask for a list of strips</dd>
- <dt><kbd class="osc">/strip/sends <em>ssid</em></kbd></dt>
- <dd>Asks for a list of sends on the strip <em>ssid</em></dd>
- <dt><kbd class="osc">/strip/receives <em>ssid</em></kbd></dt>
- <dd>Asks for a list of tracks that have sends to the strip <em>ssid</em> points to</dd>
- <dt><kbd class="osc">/strip/plugin/list <em>ssid</em></kbd></dt>
- <dd>Asks for a list of plug-ins for strip <em>ssid.</em></dd>
- <dt><kbd class="osc">/plugin/descriptor <em>ssid</em> <em>piid</em></kbd></dt>
- <dd>Asks for a list of descriptors for plug-in <em>piid</em> on strip <em>ssid</em></dd>
-</dl>
+<table class="dl">
+ <tr><th><kbd class="osc">/strip/list</kbd></th>
+ <td>Ask for a list of strips</td></tr>
+ <tr><th><kbd class="osc">/strip/sends <em>ssid</em></kbd></th>
+ <td>Asks for a list of sends on the strip <em>ssid</em></td></tr>
+ <tr><th><kbd class="osc">/strip/receives <em>ssid</em></kbd></th>
+ <td>Asks for a list of tracks that have sends to the strip <em>ssid</em> points to</td></tr>
+ <tr><th><kbd class="osc">/strip/plugin/list <em>ssid</em></kbd></th>
+ <td>Asks for a list of plug-ins for strip <em>ssid.</em></td></tr>
+ <tr><th><kbd class="osc">/plugin/descriptor <em>ssid</em> <em>piid</em></kbd></th>
+ <td>Asks for a list of descriptors for plug-in <em>piid</em> on strip <em>ssid</em></td></tr>
+</table>
<h3>A list of strips</h3>
current session has. Ardour replies with a message for each
strip with the following information:
<ul>
- <li>Strip type</li>
+ <li>Strip type - One of:</li>
+ <ul>
+ <li>AT - Audio Track</li>
+ <li>MT - MIDI Track</li>
+ <li>B - Audio Bus</li>
+ <li>MB - MIDI bus</li>
+ <li>AX - Aux bus</li>
+ <li>V - VCA</li>
+ </ul>
<li>Strip name</li>
<li>Number of inputs</li>
<li>Number of outputs</li>
- <li>Muted (bool)</li>
- <li>Soloed (bool)</li>
+ <li>Muted</li>
+ <li>Soloed</li>
<li>Ssid (strip number)</li>
- <li>Record enabled (bool)</li>
+ <li>Record enabled</li>
</ul>
After all the strip messages have been sent, one final message is
sent with:
<li>The text <code>end_route_list</code></li>
<li>The session frame rate</li>
<li>The last frame number of the session</li>
+ <li>Monitor section present</li>
</ul>
</p>
+<p class="note">
+ The <code>/set_surface</code> should be set before this is called. That way
+ The right set of strips will be sent in return (though the default is good
+ for most uses) and feedback will start correctly.
+</p>
+<p>
+ If the surface is using <code>/strip/list</code>, the surface needs to know
+ if the strips have changed. This would be true if a strip gets moved, created or
+ deleted. When this happens Ardour sends <code>/strip/list</code> to the surfaces
+ that have previously requested a <code>/strip/list</code>. This lets the
+ surface know that it's list of strips is no longer valid.
+</p>
<p class="note">A bus will not have a record enable and so a bus message
will have one less parameter than a track. It is the controllers
responsability to deal with this.
<p>
The flag bitset above has been defined as (from lsb):
<ul>
- <li>0 - enumeration</li>
- <li>1 - integer step</li>
- <li>2 - logarithmic</li>
- <li>3 - max unbound</li>
- <li>4 - min unbound</li>
- <li>5 - sample rate dependent</li>
- <li>6 - toggled</li>
- <li>7 - controllable</li>
+ <li>0—enumeration</li>
+ <li>1—integer step</li>
+ <li>2—logarithmic</li>
+ <li>3—max unbound</li>
+ <li>4—min unbound</li>
+ <li>5—sample rate dependent</li>
+ <li>6—toggled</li>
+ <li>7—controllable</li>
</ul>
</p>
<p>