+<h3 id="Temporal:Beats" class="cls class"><abbr title="Class">∁</abbr> Temporal:Beats</h3>
+<p class="cdecl"><em>C‡</em>: Temporal::Beats</p>
+<div class="clear"></div>
+<div class="classdox"><p class="para-brief"> Musical time in beats. </p></div>
+<table class="classmembers">
+ <tr><th colspan="3">Constructor</th></tr>
+ <tr><td class="def">ℂ</td><td class="decl"><span class="functionname">Temporal.Beats</span><span class="functionargs"> (<span class="em">int</span>, <span class="em">int</span>)</span></td><td class="fill"></td></tr>
+ <tr><th colspan="3">Methods</th></tr>
+ <tr><td class="def"><a class="" href="#Temporal:Beats">Beats</a></td><td class="decl"><span class="functionname"><abbr title="Temporal::Beats (*)(long)">beats</abbr></span><span class="functionargs"> (<span class="em">long</span>)</span></td><td class="fill"></td></tr>
+ <tr><td class="def"><a class="" href="#Temporal:Beats">Beats</a></td><td class="decl"><span class="functionname"><abbr title="Temporal::Beats (Temporal::Beats::*)(Temporal::Beats const&) const">diff</abbr></span><span class="functionargs"> (<a class="" href="#Temporal:Beats">Beats</a>)</span></td><td class="fill"></td></tr>
+ <tr><td class="def"><a class="" href="#Temporal:Beats">Beats</a></td><td class="decl"><span class="functionname"><abbr title="Temporal::Beats (*)(double)">from_double</abbr></span><span class="functionargs"> (<span class="em">double</span>)</span></td><td class="fill"></td></tr>
+ <tr><td class="def"><a class="" href="#Temporal:Beats">Beats</a></td><td class="decl"><span class="functionname"><abbr title="Temporal::Beats (Temporal::Beats::*)() const">next_beat</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
+ <tr><td class="def"><a class="" href="#Temporal:Beats">Beats</a></td><td class="decl"><span class="functionname"><abbr title="Temporal::Beats (Temporal::Beats::*)() const">prev_beat</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
+ <tr><td class="def"><a class="" href="#Temporal:Beats">Beats</a></td><td class="decl"><span class="functionname"><abbr title="Temporal::Beats (Temporal::Beats::*)() const">round_down_to_beat</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
+ <tr><td class="def"><a class="" href="#Temporal:Beats">Beats</a></td><td class="decl"><span class="functionname"><abbr title="Temporal::Beats (Temporal::Beats::*)() const">round_to_beat</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
+ <tr><td class="def"><a class="" href="#Temporal:Beats">Beats</a></td><td class="decl"><span class="functionname"><abbr title="Temporal::Beats (Temporal::Beats::*)() const">round_up_to_beat</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 (Temporal::Beats::*)() const">str</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
+ <tr><td class="def"><a class="" href="#Temporal:Beats">Beats</a></td><td class="decl"><span class="functionname"><abbr title="Temporal::Beats (*)(long)">ticks</abbr></span><span class="functionargs"> (<span class="em">long</span>)</span></td><td class="fill"></td></tr>
+ </table>
+<h3 id="Temporal:Meter" class="cls class"><abbr title="Class">∁</abbr> Temporal:Meter</h3>
+<p class="cdecl"><em>C‡</em>: Temporal::Meter</p>
+<div class="clear"></div>
+<div class="classdox"><p class="para-brief"> Meter, or time signature (subdivisions per bar, and which note type is a single subdivision). </p></div>
+<table class="classmembers">
+ <tr><th colspan="3">Constructor</th></tr>
+ <tr><td class="def">ℂ</td><td class="decl"><span class="functionname">Temporal.Meter</span><span class="functionargs"> (<span class="em">double</span>, <span class="em">double</span>)</span></td><td class="fill"></td></tr>
+ <tr><th colspan="3">Methods</th></tr>
+ <tr><td class="def"><span class="em">int</span></td><td class="decl"><span class="functionname"><abbr title="int (Temporal::Meter::*)() const">divisions_per_bar</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 (Temporal::Meter::*)() const">note_value</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
+ </table>
+<h3 id="Temporal:MeterPoint" class="cls class"><abbr title="Class">∁</abbr> Temporal:MeterPoint</h3>
+<p class="cdecl"><em>C‡</em>: Temporal::MeterPoint</p>
+ <p class="classinfo">is-a: <a class="" href="#Temporal:Meter">Temporal:Meter</a></p>
+<div class="clear"></div>
+<div class="classdox"><p class="para-brief"> Meter, or time signature (subdivisions per bar, and which note type is a single subdivision). </p></div>
+<table class="classmembers">
+ <tr><th colspan="3">Cast</th></tr>
+ <tr><td class="def"><a class="" href="#Temporal:Point">Point</a></td><td class="decl"><span class="functionname"><abbr title="Temporal::Point (Temporal::MeterPoint::*)()">to_point</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
+ </table>
+<h4 class="cls">Inherited from Temporal:Meter</h4>
+<table class="classmembers">
+ <tr><th colspan="3">Constructor</th></tr>
+ <tr><td class="def">ℂ</td><td class="decl"><span class="functionname">Temporal.Meter</span><span class="functionargs"> (<span class="em">double</span>, <span class="em">double</span>)</span></td><td class="fill"></td></tr>
+ <tr><th colspan="3">Methods</th></tr>
+ <tr><td class="def"><span class="em">int</span></td><td class="decl"><span class="functionname"><abbr title="int (Temporal::Meter::*)() const">divisions_per_bar</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 (Temporal::Meter::*)() const">note_value</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
+</table>
+<h3 id="Temporal:Point" class="cls class"><abbr title="Class">∁</abbr> Temporal:Point</h3>
+<p class="cdecl"><em>C‡</em>: Temporal::Point</p>
+<div class="clear"></div>
+<table class="classmembers">
+ <tr><th colspan="3">Methods</th></tr>
+ <tr><td class="def"><a class="" href="#Temporal:BBT_TIME">BBT_TIME</a></td><td class="decl"><span class="functionname"><abbr title="Temporal::BBT_Time const& (Temporal::Point::*)() const">bbt</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
+ <tr><td class="def"><a class="" href="#Temporal:Beats">Beats</a></td><td class="decl"><span class="functionname"><abbr title="Temporal::Beats const& (Temporal::Point::*)() const">beats</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 (Temporal::Point::*)(int) const">sample</abbr></span><span class="functionargs"> (<span class="em">int</span>)</span></td><td class="fill"></td></tr>
+ <tr><td class="def"><span class="em">long</span></td><td class="decl"><span class="functionname"><abbr title="long (Temporal::Point::*)() const">sclock</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
+ <tr><td class="def"><a class="" href="#Temporal:timepos_t">timepos_t</a></td><td class="decl"><span class="functionname"><abbr title="Temporal::timepos_t (Temporal::Point::*)() const">time</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
+ </table>
+<h3 id="Temporal:Tempo" class="cls class"><abbr title="Class">∁</abbr> Temporal:Tempo</h3>
+<p class="cdecl"><em>C‡</em>: Temporal::Tempo</p>
+<div class="clear"></div>
+<div class="classdox"><p class="para-brief"> Tempo, the speed at which musical time progresses (BPM).</p></div>
+<table class="classmembers">
+ <tr><th colspan="3">Constructor</th></tr>
+ <tr><td class="def">ℂ</td><td class="decl"><span class="functionname">Temporal.Tempo</span><span class="functionargs"> (<span class="em">double</span>, <span class="em">double</span>, <span class="em">int</span>)</span></td><td class="fill"></td></tr>
+ <tr><th colspan="3">Methods</th></tr>
+ <tr><td class="def"><span class="em">int</span></td><td class="decl"><span class="functionname"><abbr title="int (Temporal::Tempo::*)() const">note_type</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
+ <tr><td class="def"><span class="em">double</span></td><td class="decl"><span class="functionname"><abbr title="double (Temporal::Tempo::*)() const">note_types_per_minute</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
+ <tr><td class="def"><span class="em">double</span></td><td class="decl"><span class="functionname"><abbr title="double (Temporal::Tempo::*)() const">quarter_notes_per_minute</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
+ <tr><td class="def"><span class="em">double</span></td><td class="decl"><span class="functionname"><abbr title="double (Temporal::Tempo::*)(int) const">samples_per_note_type</abbr></span><span class="functionargs"> (<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 (Temporal::Tempo::*)(int) const">samples_per_quarter_note</abbr></span><span class="functionargs"> (<span class="em">int</span>)</span></td><td class="fill"></td></tr>
+ <tr><td class="def"><span class="em">long</span></td><td class="decl"><span class="functionname"><abbr title="long (Temporal::Tempo::*)() const">superclocks_per_note_type</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
+ </table>
+<h3 id="Temporal:TempoMap" class="cls pointerclass"><abbr title="Pointer Class">↠</abbr> Temporal:TempoMap</h3>
+<p class="cdecl"><em>C‡</em>: boost::shared_ptr< Temporal::TempoMap >, boost::weak_ptr< Temporal::TempoMap ></p>
+<div class="clear"></div>
+<div class="classdox"><p class="para-brief"> Base class for objects with saveable and undoable state with destruction notification </p></div>
+<table class="classmembers">
+ <tr><th colspan="3">Methods</th></tr>
+ <tr><td class="def"><span class="em">void</span></td><td class="decl"><span class="functionname"><abbr title="void (*)()">abort_update</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
+ <tr><td class="def"><a class="" href="#Temporal:BBT_TIME">BBT_TIME</a></td><td class="decl"><span class="functionname"><abbr title="Temporal::BBT_Time (Temporal::TempoMap::*)(Temporal::timepos_t const&) const">bbt_at</abbr></span><span class="functionargs"> (<a class="" href="#Temporal:timepos_t">timepos_t</a>)</span></td><td class="fill"></td></tr>
+ <tr><td class="def"><a class="" href="#Temporal:BBT_TIME">BBT_TIME</a></td><td class="decl"><span class="functionname"><abbr title="Temporal::BBT_Time (Temporal::TempoMap::*)(Temporal::Beats const&) const">bbt_at_beats</abbr></span><span class="functionargs"> (<a class="" href="#Temporal:Beats">Beats</a>)</span></td><td class="fill"></td></tr>
+ <tr><td class="def"><a class="" href="#Temporal:timecnt_t">timecnt_t</a></td><td class="decl"><span class="functionname"><abbr title="Temporal::timecnt_t (Temporal::TempoMap::*)(Temporal::timepos_t const&, Temporal::BBT_Offset const&) const">bbt_duration_at</abbr></span><span class="functionargs"> (<a class="" href="#Temporal:timepos_t">timepos_t</a>, <a class="" href="#Temporal:BBT_Offset">BBT_Offset</a>)</span></td><td class="fill"></td></tr>
+ <tr><td class="def"><a class="" href="#Temporal:BBT_TIME">BBT_TIME</a></td><td class="decl"><span class="functionname"><abbr title="Temporal::BBT_Time (Temporal::TempoMap::*)(Temporal::BBT_Time const&, Temporal::BBT_Offset const&) const">bbt_walk</abbr></span><span class="functionargs"> (<a class="" href="#Temporal:BBT_TIME">BBT_TIME</a>, <a class="" href="#Temporal:BBT_Offset">BBT_Offset</a>)</span></td><td class="fill"></td></tr>
+ <tr><td class="def"><a class="" href="#Temporal:Beats">Beats</a></td><td class="decl"><span class="functionname"><abbr title="Temporal::Beats (Temporal::TempoMap::*)(Temporal::Beats const&, Temporal::BBT_Offset const&) const">bbtwalk_to_quarters</abbr></span><span class="functionargs"> (<a class="" href="#Temporal:Beats">Beats</a>, <a class="" href="#Temporal:BBT_Offset">BBT_Offset</a>)</span></td><td class="fill"></td></tr>
+ <tr><td class="def"><a class="" href="#Temporal:Beats">Beats</a></td><td class="decl"><span class="functionname"><abbr title="Temporal::Beats (Temporal::TempoMap::*)(Temporal::BBT_Time const&, Temporal::BBT_Offset const&) const">bbtwalk_to_quarters_bbt</abbr></span><span class="functionargs"> (<a class="" href="#Temporal:BBT_TIME">BBT_TIME</a>, <a class="" href="#Temporal:BBT_Offset">BBT_Offset</a>)</span></td><td class="fill"></td></tr>
+ <tr><td class="def"><a class="" href="#Temporal:timecnt_t">timecnt_t</a></td><td class="decl"><span class="functionname"><abbr title="Temporal::timecnt_t (Temporal::TempoMap::*)(Temporal::timecnt_t const&, Temporal::timepos_t const&, Temporal::TimeDomain) const">convert_duration</abbr></span><span class="functionargs"> (<a class="" href="#Temporal:timecnt_t">timecnt_t</a>, <a class="" href="#Temporal:timepos_t">timepos_t</a>, <a class="" href="#Temporal.TimeDomain">TimeDomain</a>)</span></td><td class="fill"></td></tr>
+ <tr><td class="def"><span class="em">unsigned int</span></td><td class="decl"><span class="functionname"><abbr title="unsigned int (Temporal::TempoMap::*)(Temporal::Beats const&, Temporal::Beats const&) const">count_bars</abbr></span><span class="functionargs"> (<a class="" href="#Temporal:Beats">Beats</a>, <a class="" href="#Temporal:Beats">Beats</a>)</span></td><td class="fill"></td></tr>
+ <tr><td class="def"><a class="" href="#Temporal:TempoMap">TempoMap</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr<Temporal::TempoMap> (*)()">fetch_writable</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
+ <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="void (*)()">isnil</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
+ <tr><td class="def"><a class="" href="#Temporal:MeterPoint">MeterPoint</a></td><td class="decl"><span class="functionname"><abbr title="Temporal::MeterPoint const& (Temporal::TempoMap::*)(Temporal::timepos_t const&) const">meter_at</abbr></span><span class="functionargs"> (<a class="" href="#Temporal:timepos_t">timepos_t</a>)</span></td><td class="fill"></td></tr>
+ <tr><td class="def"><a class="" href="#Temporal:MeterPoint">MeterPoint</a></td><td class="decl"><span class="functionname"><abbr title="Temporal::MeterPoint const& (Temporal::TempoMap::*)(Temporal::BBT_Time const&) const">meter_at_bbt</abbr></span><span class="functionargs"> (<a class="" href="#Temporal:BBT_TIME">BBT_TIME</a>)</span></td><td class="fill"></td></tr>
+ <tr><td class="def"><a class="" href="#Temporal:MeterPoint">MeterPoint</a></td><td class="decl"><span class="functionname"><abbr title="Temporal::MeterPoint const& (Temporal::TempoMap::*)(Temporal::Beats const&) const">meter_at_beats</abbr></span><span class="functionargs"> (<a class="" href="#Temporal:Beats">Beats</a>)</span></td><td class="fill"></td></tr>
+ <tr><td class="def"><a class="" href="#Temporal:MeterPoint">MeterPoint</a></td><td class="decl"><span class="functionname"><abbr title="Temporal::MeterPoint const& (Temporal::TempoMap::*)(long) const">meter_at_sc</abbr></span><span class="functionargs"> (<span class="em">long</span>)</span></td><td class="fill"></td></tr>
+ <tr><td class="def"><em>LuaTable</em>(...)</td><td class="decl"><span class="functionname"><abbr title="void (Temporal::TempoMap::*)(long, long&, unsigned int&) const">midi_clock_beat_at_or_after</abbr></span><span class="functionargs"> (<span class="em">long</span>, <span class="em">long&</span>, <span class="em">unsigned int&</span>)</span></td><td class="fill"></td></tr>
+ <tr><td class="def"><a class="" href="#Temporal:Beats">Beats</a></td><td class="decl"><span class="functionname"><abbr title="Temporal::Beats (Temporal::TempoMap::*)(Temporal::timepos_t const&) const">quarters_at</abbr></span><span class="functionargs"> (<a class="" href="#Temporal:timepos_t">timepos_t</a>)</span></td><td class="fill"></td></tr>
+ <tr><td class="def"><a class="" href="#Temporal:Beats">Beats</a></td><td class="decl"><span class="functionname"><abbr title="Temporal::Beats (Temporal::TempoMap::*)(Temporal::BBT_Time const&) const">quarters_at_bbt</abbr></span><span class="functionargs"> (<a class="" href="#Temporal:BBT_TIME">BBT_TIME</a>)</span></td><td class="fill"></td></tr>
+ <tr><td class="def"><a class="" href="#Temporal:Beats">Beats</a></td><td class="decl"><span class="functionname"><abbr title="Temporal::Beats (Temporal::TempoMap::*)(long) const">quarters_at_sample</abbr></span><span class="functionargs"> (<span class="em">long</span>)</span></td><td class="fill"></td></tr>
+ <tr><td class="def"><span class="em">double</span></td><td class="decl"><span class="functionname"><abbr title="double (Temporal::TempoMap::*)(Temporal::timepos_t const&) const">quarters_per_minute_at</abbr></span><span class="functionargs"> (<a class="" href="#Temporal:timepos_t">timepos_t</a>)</span></td><td class="fill"></td></tr>
+ <tr><td class="def"><a class="" href="#Temporal:TempoMap">TempoMap</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr<Temporal::TempoMap> (*)()">read</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
+ <tr><td class="def"><a class="" href="#Temporal:BBT_TIME">BBT_TIME</a></td><td class="decl"><span class="functionname"><abbr title="Temporal::BBT_Time (Temporal::TempoMap::*)(Temporal::BBT_Time const&) const">round_to_bar</abbr></span><span class="functionargs"> (<a class="" href="#Temporal:BBT_TIME">BBT_TIME</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 (Temporal::TempoMap::*)(Temporal::timepos_t const&) const">sample_at</abbr></span><span class="functionargs"> (<a class="" href="#Temporal:timepos_t">timepos_t</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 (Temporal::TempoMap::*)(Temporal::Beats const&) const">sample_at_bbt</abbr></span><span class="functionargs"> (<a class="" href="#Temporal:Beats">Beats</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 (Temporal::TempoMap::*)(Temporal::Beats const&) const">sample_at_beats</abbr></span><span class="functionargs"> (<a class="" href="#Temporal:Beats">Beats</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 (Temporal::TempoMap::*)(Temporal::TempoPoint&, bool)">set_continuing</abbr></span><span class="functionargs"> (<a class="" href="#Temporal:TempoPoint">TempoPoint&</a>, <span class="em">bool</span>)</span></td><td class="fill"></td></tr>
+ <tr><td class="def"><a class="" href="#Temporal:MeterPoint">MeterPoint</a></td><td class="decl"><span class="functionname"><abbr title="Temporal::MeterPoint& (Temporal::TempoMap::*)(Temporal::Meter const&, Temporal::timepos_t const&)">set_meter</abbr></span><span class="functionargs"> (<a class="" href="#Temporal:Meter">Meter</a>, <a class="" href="#Temporal:timepos_t">timepos_t</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 (Temporal::TempoMap::*)(Temporal::TempoPoint&, bool)">set_ramped</abbr></span><span class="functionargs"> (<a class="" href="#Temporal:TempoPoint">TempoPoint&</a>, <span class="em">bool</span>)</span></td><td class="fill"></td></tr>
+ <tr><td class="def"><a class="" href="#Temporal:TempoPoint">TempoPoint</a></td><td class="decl"><span class="functionname"><abbr title="Temporal::TempoPoint& (Temporal::TempoMap::*)(Temporal::Tempo const&, Temporal::timepos_t const&)">set_tempo</abbr></span><span class="functionargs"> (<a class="" href="#Temporal:Tempo">Tempo</a>, <a class="" href="#Temporal:timepos_t">timepos_t</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 (Temporal::TempoMap::*)(Temporal::timepos_t const&) const">superclock_at</abbr></span><span class="functionargs"> (<a class="" href="#Temporal:timepos_t">timepos_t</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 (Temporal::TempoMap::*)(Temporal::BBT_Time const&) const">superclock_at_bbt</abbr></span><span class="functionargs"> (<a class="" href="#Temporal:BBT_TIME">BBT_TIME</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 (Temporal::TempoMap::*)(Temporal::Beats const&) const">superclock_at_beats</abbr></span><span class="functionargs"> (<a class="" href="#Temporal:Beats">Beats</a>)</span></td><td class="fill"></td></tr>
+ <tr><td class="def"><a class="" href="#Temporal:TempoPoint">TempoPoint</a></td><td class="decl"><span class="functionname"><abbr title="Temporal::TempoPoint const& (Temporal::TempoMap::*)(Temporal::timepos_t const&) const">tempo_at</abbr></span><span class="functionargs"> (<a class="" href="#Temporal:timepos_t">timepos_t</a>)</span></td><td class="fill"></td></tr>
+ <tr><td class="def"><a class="" href="#Temporal:TempoPoint">TempoPoint</a></td><td class="decl"><span class="functionname"><abbr title="Temporal::TempoPoint const& (Temporal::TempoMap::*)(Temporal::BBT_Time const&) const">tempo_at_bbt</abbr></span><span class="functionargs"> (<a class="" href="#Temporal:BBT_TIME">BBT_TIME</a>)</span></td><td class="fill"></td></tr>
+ <tr><td class="def"><a class="" href="#Temporal:TempoPoint">TempoPoint</a></td><td class="decl"><span class="functionname"><abbr title="Temporal::TempoPoint const& (Temporal::TempoMap::*)(Temporal::Beats const&) const">tempo_at_beats</abbr></span><span class="functionargs"> (<a class="" href="#Temporal:Beats">Beats</a>)</span></td><td class="fill"></td></tr>
+ <tr><td class="def"><a class="" href="#Temporal:TempoPoint">TempoPoint</a></td><td class="decl"><span class="functionname"><abbr title="Temporal::TempoPoint const& (Temporal::TempoMap::*)(long) const">tempo_at_sc</abbr></span><span class="functionargs"> (<span class="em">long</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 (*)(boost::shared_ptr<Temporal::TempoMap>)">update</abbr></span><span class="functionargs"> (<a class="" href="#Temporal:TempoMap">TempoMap</a>)</span></td><td class="fill"></td></tr>
+ <tr><td class="def"><a class="" href="#Temporal:TempoMap">TempoMap</a></td><td class="decl"><span class="functionname"><abbr title="boost::shared_ptr<Temporal::TempoMap> (*)()">write_copy</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
+ </table>
+<h3 id="Temporal:TempoPoint" class="cls class"><abbr title="Class">∁</abbr> Temporal:TempoPoint</h3>
+<p class="cdecl"><em>C‡</em>: Temporal::TempoPoint</p>
+ <p class="classinfo">is-a: <a class="" href="#Temporal:Tempo">Temporal:Tempo</a></p>
+<div class="clear"></div>
+<div class="classdox"><p class="para-brief"> Tempo, the speed at which musical time progresses (BPM).</p></div>
+<table class="classmembers">
+ <tr><th colspan="3">Methods</th></tr>
+ <tr><td class="def"><a class="" href="#Temporal:Beats">Beats</a></td><td class="decl"><span class="functionname"><abbr title="Temporal::Beats (Temporal::TempoPoint::*)(long) const">quarters_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="#Temporal:timepos_t">timepos_t</a></td><td class="decl"><span class="functionname"><abbr title="Temporal::timepos_t (Temporal::TempoPoint::*)() const">time</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
+ <tr><th colspan="3">Cast</th></tr>
+ <tr><td class="def"><a class="" href="#Temporal:Point">Point</a></td><td class="decl"><span class="functionname"><abbr title="Temporal::Point (Temporal::TempoPoint::*)()">to_point</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
+ <tr><td class="def"><a class="" href="#Temporal:Tempo">Tempo</a></td><td class="decl"><span class="functionname"><abbr title="Temporal::Tempo (Temporal::TempoPoint::*)()">to_tempo</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
+ </table>
+<h4 class="cls">Inherited from Temporal:Tempo</h4>
+<table class="classmembers">
+ <tr><th colspan="3">Constructor</th></tr>
+ <tr><td class="def">ℂ</td><td class="decl"><span class="functionname">Temporal.Tempo</span><span class="functionargs"> (<span class="em">double</span>, <span class="em">double</span>, <span class="em">int</span>)</span></td><td class="fill"></td></tr>
+ <tr><th colspan="3">Methods</th></tr>
+ <tr><td class="def"><span class="em">int</span></td><td class="decl"><span class="functionname"><abbr title="int (Temporal::Tempo::*)() const">note_type</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
+ <tr><td class="def"><span class="em">double</span></td><td class="decl"><span class="functionname"><abbr title="double (Temporal::Tempo::*)() const">note_types_per_minute</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
+ <tr><td class="def"><span class="em">double</span></td><td class="decl"><span class="functionname"><abbr title="double (Temporal::Tempo::*)() const">quarter_notes_per_minute</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
+ <tr><td class="def"><span class="em">double</span></td><td class="decl"><span class="functionname"><abbr title="double (Temporal::Tempo::*)(int) const">samples_per_note_type</abbr></span><span class="functionargs"> (<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 (Temporal::Tempo::*)(int) const">samples_per_quarter_note</abbr></span><span class="functionargs"> (<span class="em">int</span>)</span></td><td class="fill"></td></tr>
+ <tr><td class="def"><span class="em">long</span></td><td class="decl"><span class="functionname"><abbr title="long (Temporal::Tempo::*)() const">superclocks_per_note_type</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
+</table>
+<h3 id="Temporal:ratio" class="cls class"><abbr title="Class">∁</abbr> Temporal:ratio</h3>
+<p class="cdecl"><em>C‡</em>: Temporal::_ratio_t<long></p>
+<div class="clear"></div>
+<table class="classmembers">
+ <tr><th colspan="3">Constructor</th></tr>
+ <tr><td class="def">ℂ</td><td class="decl"><span class="functionname">Temporal.ratio</span><span class="functionargs"> (<span class="em">long</span>, <span class="em">long</span>)</span></td><td class="fill"></td></tr>
+ <tr><th colspan="3">Methods</th></tr>
+ <tr><td class="def"><span class="em">bool</span></td><td class="decl"><span class="functionname"><abbr title="bool (Temporal::_ratio_t<long>::*)() const">is_unity</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 (Temporal::_ratio_t<long>::*)() const">is_zero</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
+ </table>
+<h3 id="Temporal:timecnt_t" class="cls class"><abbr title="Class">∁</abbr> Temporal:timecnt_t</h3>
+<p class="cdecl"><em>C‡</em>: Temporal::timecnt_t</p>
+<div class="clear"></div>
+<div class="classdox"><p class="para-brief"> a timecnt_t measures a duration in a specified time domain and starting at a specific position.</p><p> It can be freely converted between time domains, as well as used as the subject of most arithmetic operations.</p><p> An important distinction between timepos_t and timecnt_t can be thought of this way: a timepos_t ALWAYS refers to a position relative to the origin of the timeline (technically, the origin in the tempo map used to translate between audio and musical domains). By contrast, a timecnt_t refers to a certain distance beyond some arbitrary (specified) origin. So, a timepos_t of "3 beats" always means "3 beats measured from the timeline origin". A timecnt_t of "3 beats" always come with a position, and so is really "3 beats after <position>".</p><p> The ambiguity surrounding operator-() that affects timepos_t does not exist for timecnt_t: all uses of operator-() are intended to compute the result of subtracting one timecnt_t from another which will always result in another timecnt_t of lesser value than the first operand.</p></div>
+<table class="classmembers">
+ <tr><th colspan="3">Constructor</th></tr>
+ <tr><td class="def">ℂ</td><td class="decl"><span class="functionname">Temporal.timecnt_t</span><span class="functionargs"> (<span class="em">long</span>)</span></td><td class="fill"></td></tr>
+ <tr><th colspan="3">Methods</th></tr>
+ <tr><td class="def"><a class="" href="#Temporal:timecnt_t">timecnt_t</a></td><td class="decl"><span class="functionname"><abbr title="Temporal::timecnt_t (Temporal::timecnt_t::*)() const">abs</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
+ <tr><td class="def"><a class="" href="#Temporal:Beats">Beats</a></td><td class="decl"><span class="functionname"><abbr title="Temporal::Beats (Temporal::timecnt_t::*)() const">beats</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
+ <tr><td class="def"><a class="" href="#Temporal:timecnt_t">timecnt_t</a></td><td class="decl"><span class="functionname"><abbr title="Temporal::timecnt_t (Temporal::timecnt_t::*)() const">decrement</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
+ <tr><td class="def"><a class="" href="#Temporal:timecnt_t">timecnt_t</a></td><td class="decl"><span class="functionname"><abbr title="Temporal::timecnt_t (*)(long)">from_samples</abbr></span><span class="functionargs"> (<span class="em">long</span>)</span></td><td class="fill"></td></tr>
+ <tr><td class="def"><a class="" href="#Temporal:timecnt_t">timecnt_t</a></td><td class="decl"><span class="functionname"><abbr title="Temporal::timecnt_t (*)(long)">from_superclock</abbr></span><span class="functionargs"> (<span class="em">long</span>)</span></td><td class="fill"></td></tr>
+ <tr><td class="def"><a class="" href="#Temporal:timecnt_t">timecnt_t</a></td><td class="decl"><span class="functionname"><abbr title="Temporal::timecnt_t (*)(long)">from_ticks</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 (Temporal::timecnt_t::*)() const">is_negative</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 (Temporal::timecnt_t::*)() const">is_positive</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 (Temporal::timecnt_t::*)() const">is_zero</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 (Temporal::timecnt_t::*)() const">magnitude</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
+ <tr><td class="def"><a class="" href="#Temporal:timecnt_t">timecnt_t</a></td><td class="decl"><span class="functionname"><abbr title="Temporal::timecnt_t const& (*)()">max</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
+ <tr><td class="def"><a class="" href="#Temporal:timepos_t">timepos_t</a></td><td class="decl"><span class="functionname"><abbr title="Temporal::timepos_t const& (Temporal::timecnt_t::*)() const">origin</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
+ <tr><td class="def"><a class="" href="#Temporal:timepos_t">timepos_t</a></td><td class="decl"><span class="functionname"><abbr title="Temporal::timepos_t const& (Temporal::timecnt_t::*)() const">position</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 (Temporal::timecnt_t::*)() const">samples</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
+ <tr><td class="def"><a class="" href="#Temporal:timecnt_t">timecnt_t</a></td><td class="decl"><span class="functionname"><abbr title="Temporal::timecnt_t (Temporal::timecnt_t::*)(Temporal::_ratio_t<long> const&) const">scale</abbr></span><span class="functionargs"> (<a class="" href="#Temporal:ratio">ratio</a>)</span></td><td class="fill"></td></tr>
+ <tr><td class="def"><a class="" href="#Temporal:timecnt_t">timecnt_t</a></td><td class="decl"><span class="functionname"><abbr title="Temporal::timecnt_t (Temporal::timecnt_t::*)(Temporal::_ratio_t<long> const&) const">scale</abbr></span><span class="functionargs"> (<a class="" href="#Temporal:ratio">ratio</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 (Temporal::timecnt_t::*)(Temporal::timepos_t const&)">set_position</abbr></span><span class="functionargs"> (<a class="" href="#Temporal:timepos_t">timepos_t</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 (Temporal::timecnt_t::*)(Temporal::TimeDomain)">set_time_domain</abbr></span><span class="functionargs"> (<a class="" href="#Temporal.TimeDomain">TimeDomain</a>)</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 (Temporal::timecnt_t::*)() const">str</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 (Temporal::timecnt_t::*)() const">superclocks</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 (Temporal::timecnt_t::*)() const">ticks</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
+ <tr><td class="def"><a class="" href="#Temporal.TimeDomain">TimeDomain</a></td><td class="decl"><span class="functionname"><abbr title="Temporal::TimeDomain (Temporal::timecnt_t::*)() const">time_domain</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
+ <tr><td class="def"><a class="" href="#Temporal:timecnt_t">timecnt_t</a></td><td class="decl"><span class="functionname"><abbr title="Temporal::timecnt_t (*)(Temporal::TimeDomain)">zero</abbr></span><span class="functionargs"> (<a class="" href="#Temporal.TimeDomain">TimeDomain</a>)</span></td><td class="fill"></td></tr>
+ </table>
+<h3 id="Temporal:timepos_t" class="cls class"><abbr title="Class">∁</abbr> Temporal:timepos_t</h3>
+<p class="cdecl"><em>C‡</em>: Temporal::timepos_t</p>
+<div class="clear"></div>
+<table class="classmembers">
+ <tr><th colspan="3">Constructor</th></tr>
+ <tr><td class="def">ℂ</td><td class="decl"><span class="functionname">Temporal.timepos_t</span><span class="functionargs"> (<span class="em">long</span>)</span></td><td class="fill"></td></tr>
+ <tr><th colspan="3">Methods</th></tr>
+ <tr><td class="def"><a class="" href="#Temporal:Beats">Beats</a></td><td class="decl"><span class="functionname"><abbr title="Temporal::Beats (Temporal::timepos_t::*)() const">beats</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
+ <tr><td class="def"><a class="" href="#Temporal:timepos_t">timepos_t</a></td><td class="decl"><span class="functionname"><abbr title="Temporal::timepos_t (Temporal::timepos_t::*)() const">decrement</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
+ <tr><td class="def"><a class="" href="#Temporal:timecnt_t">timecnt_t</a></td><td class="decl"><span class="functionname"><abbr title="Temporal::timecnt_t (Temporal::timepos_t::*)(Temporal::timepos_t const&) const">distance</abbr></span><span class="functionargs"> (<a class="" href="#Temporal:timepos_t">timepos_t</a>)</span></td><td class="fill"></td></tr>
+ <tr><td class="def"><a class="" href="#Temporal:timepos_t">timepos_t</a></td><td class="decl"><span class="functionname"><abbr title="Temporal::timepos_t (*)(long)">from_superclock</abbr></span><span class="functionargs"> (<span class="em">long</span>)</span></td><td class="fill"></td></tr>
+ <tr><td class="def"><a class="" href="#Temporal:timepos_t">timepos_t</a></td><td class="decl"><span class="functionname"><abbr title="Temporal::timepos_t (*)(long)">from_ticks</abbr></span><span class="functionargs"> (<span class="em">long</span>)</span></td><td class="fill"></td></tr>
+ <tr><td class="def"><a class="" href="#Temporal:timepos_t">timepos_t</a></td><td class="decl"><span class="functionname"><abbr title="Temporal::timepos_t (Temporal::timepos_t::*)() const">increment</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 (Temporal::timepos_t::*)() const">is_beats</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 (Temporal::timepos_t::*)() const">is_negative</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 (Temporal::timepos_t::*)() const">is_positive</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 (Temporal::timepos_t::*)() const">is_superclock</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 (Temporal::timepos_t::*)() const">is_zero</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
+ <tr><td class="def"><a class="" href="#Temporal:timepos_t">timepos_t</a></td><td class="decl"><span class="functionname"><abbr title="Temporal::timepos_t (*)(Temporal::TimeDomain)">max</abbr></span><span class="functionargs"> (<a class="" href="#Temporal.TimeDomain">TimeDomain</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 (Temporal::timepos_t::*)() const">samples</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
+ <tr><td class="def"><a class="" href="#Temporal:timepos_t">timepos_t</a></td><td class="decl"><span class="functionname"><abbr title="Temporal::timepos_t (Temporal::timepos_t::*)(Temporal::_ratio_t<long> const&) const">scale</abbr></span><span class="functionargs"> (<a class="" href="#Temporal:ratio">ratio</a>)</span></td><td class="fill"></td></tr>
+ <tr><td class="def"><a class="" href="#Temporal:timepos_t">timepos_t</a></td><td class="decl"><span class="functionname"><abbr title="Temporal::timepos_t (*)(Temporal::TimeDomain)">smallest_step</abbr></span><span class="functionargs"> (<a class="" href="#Temporal.TimeDomain">TimeDomain</a>)</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 (Temporal::timepos_t::*)() const">str</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 (Temporal::timepos_t::*)() const">superclocks</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 (Temporal::timepos_t::*)() const">ticks</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
+ <tr><td class="def"><a class="" href="#Temporal.TimeDomain">TimeDomain</a></td><td class="decl"><span class="functionname"><abbr title="Temporal::TimeDomain (Temporal::timepos_t::*)() const">time_domain</abbr></span><span class="functionargs"> ()</span></td><td class="fill"></td></tr>
+ <tr><td class="def"><a class="" href="#Temporal:timepos_t">timepos_t</a></td><td class="decl"><span class="functionname"><abbr title="Temporal::timepos_t (*)(bool)">zero</abbr></span><span class="functionargs"> (<span class="em">bool</span>)</span></td><td class="fill"></td></tr>
+ </table>