remove unused TempoMap::tempo_at_beat(). implement unused tempo_at_quarter_note().
This commit is contained in:
parent
99e707217b
commit
93ca7b42fb
@ -410,9 +410,6 @@ class LIBARDOUR_API TempoMap : public PBD::StatefulDestructible
|
|||||||
|
|
||||||
const Meter& meter_at_frame (framepos_t) const;
|
const Meter& meter_at_frame (framepos_t) const;
|
||||||
|
|
||||||
Tempo tempo_at_beat (const double& beat) const;
|
|
||||||
double beat_at_tempo (const Tempo& tempo) const;
|
|
||||||
|
|
||||||
/* bbt - it's nearly always better to use meter-based beat (above)
|
/* bbt - it's nearly always better to use meter-based beat (above)
|
||||||
unless tick resolution is desirable.
|
unless tick resolution is desirable.
|
||||||
*/
|
*/
|
||||||
@ -423,7 +420,9 @@ class LIBARDOUR_API TempoMap : public PBD::StatefulDestructible
|
|||||||
double beat_at_bbt (const Timecode::BBT_Time& bbt);
|
double beat_at_bbt (const Timecode::BBT_Time& bbt);
|
||||||
Timecode::BBT_Time bbt_at_beat (const double& beats);
|
Timecode::BBT_Time bbt_at_beat (const double& beats);
|
||||||
|
|
||||||
|
double quarter_note_at_bbt (const Timecode::BBT_Time& bbt);
|
||||||
double quarter_note_at_bbt_rt (const Timecode::BBT_Time& bbt);
|
double quarter_note_at_bbt_rt (const Timecode::BBT_Time& bbt);
|
||||||
|
Timecode::BBT_Time bbt_at_quarter_note (const double& quarter_note);
|
||||||
|
|
||||||
framecnt_t bbt_duration_at (framepos_t, const Timecode::BBT_Time&, int dir);
|
framecnt_t bbt_duration_at (framepos_t, const Timecode::BBT_Time&, int dir);
|
||||||
framepos_t framepos_plus_bbt (framepos_t pos, Timecode::BBT_Time b) const;
|
framepos_t framepos_plus_bbt (framepos_t pos, Timecode::BBT_Time b) const;
|
||||||
|
@ -1730,13 +1730,11 @@ TempoMap::pulse_at_tempo_locked (const Metrics& metrics, const Tempo& tempo) con
|
|||||||
* @return the Tempo at the supplied quarter-note.
|
* @return the Tempo at the supplied quarter-note.
|
||||||
*/
|
*/
|
||||||
Tempo
|
Tempo
|
||||||
TempoMap::tempo_at_beat (const double& beat) const
|
TempoMap::tempo_at_quarter_note (const double& qn) const
|
||||||
{
|
{
|
||||||
Glib::Threads::RWLock::ReaderLock lm (lock);
|
Glib::Threads::RWLock::ReaderLock lm (lock);
|
||||||
const MeterSection* prev_m = &meter_section_at_beat_locked (_metrics, beat);
|
|
||||||
const TempoSection* prev_t = &tempo_section_at_beat_locked (_metrics, beat);
|
|
||||||
|
|
||||||
return Tempo (prev_t->tempo_at_pulse (((beat - prev_m->beat()) / prev_m->note_divisor()) + prev_m->pulse()), prev_t->note_type());
|
return tempo_at_pulse_locked (_metrics, qn / 4.0);
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Returns the position in quarter-note beats corresponding to the supplied Tempo.
|
/** Returns the position in quarter-note beats corresponding to the supplied Tempo.
|
||||||
@ -1745,12 +1743,11 @@ TempoMap::tempo_at_beat (const double& beat) const
|
|||||||
* is equal to that of the Tempo. currently ignores note_type.
|
* is equal to that of the Tempo. currently ignores note_type.
|
||||||
*/
|
*/
|
||||||
double
|
double
|
||||||
TempoMap::beat_at_tempo (const Tempo& tempo) const
|
TempoMap::quarter_note_at_tempo (const Tempo& tempo) const
|
||||||
{
|
{
|
||||||
Glib::Threads::RWLock::ReaderLock lm (lock);
|
Glib::Threads::RWLock::ReaderLock lm (lock);
|
||||||
const double pulse = pulse_at_tempo_locked (_metrics, tempo);
|
|
||||||
|
|
||||||
return beat_at_pulse_locked (_metrics, pulse);
|
return pulse_at_tempo_locked (_metrics, tempo) * 4.0;;
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Returns the whole-note pulse corresponding to the supplied BBT (meter-based) beat.
|
/** Returns the whole-note pulse corresponding to the supplied BBT (meter-based) beat.
|
||||||
|
@ -88,15 +88,14 @@ TempoTest::recomputeMapTest48 ()
|
|||||||
CPPUNIT_ASSERT_DOUBLES_EQUAL (240.0, map.tempo_at_frame (288e3).beats_per_minute(), 1e-17);
|
CPPUNIT_ASSERT_DOUBLES_EQUAL (240.0, map.tempo_at_frame (288e3).beats_per_minute(), 1e-17);
|
||||||
CPPUNIT_ASSERT_DOUBLES_EQUAL (120.0, map.tempo_at_frame (288e3 - 1).beats_per_minute(), 1e-17);
|
CPPUNIT_ASSERT_DOUBLES_EQUAL (120.0, map.tempo_at_frame (288e3 - 1).beats_per_minute(), 1e-17);
|
||||||
|
|
||||||
/* tempo - bbt (meter based) beat */
|
/* tempo - quarter note */
|
||||||
CPPUNIT_ASSERT_DOUBLES_EQUAL (240.0, map.tempo_at_beat (24.0).beats_per_minute(), 1e-17);
|
CPPUNIT_ASSERT_DOUBLES_EQUAL (240.0, map.tempo_at_quarter_note (24.0).beats_per_minute(), 1e-17);
|
||||||
CPPUNIT_ASSERT_DOUBLES_EQUAL (240.0, map.tempo_at_beat (12.0).beats_per_minute(), 1e-17);
|
CPPUNIT_ASSERT_DOUBLES_EQUAL (240.0, map.tempo_at_quarter_note (12.0).beats_per_minute(), 1e-17);
|
||||||
CPPUNIT_ASSERT_DOUBLES_EQUAL (120.0, map.tempo_at_beat (6.0).beats_per_minute(), 1e-17);
|
CPPUNIT_ASSERT_DOUBLES_EQUAL (120.0, map.tempo_at_quarter_note (6.0).beats_per_minute(), 1e-17);
|
||||||
CPPUNIT_ASSERT_DOUBLES_EQUAL (120.0, map.tempo_at_beat (0.0).beats_per_minute(), 1e-17);
|
CPPUNIT_ASSERT_DOUBLES_EQUAL (120.0, map.tempo_at_quarter_note (0.0).beats_per_minute(), 1e-17);
|
||||||
/*bbt (meter based) beat - tempo */
|
|
||||||
/* this is expected for constant tempi */
|
CPPUNIT_ASSERT_DOUBLES_EQUAL (12.0, map.quarter_note_at_tempo (240.0), 1e-17);
|
||||||
CPPUNIT_ASSERT_DOUBLES_EQUAL (12.0, map.beat_at_tempo (240.0), 1e-17);
|
CPPUNIT_ASSERT_DOUBLES_EQUAL (0.0, map.quarter_note_at_tempo (120.0), 1e-17);
|
||||||
CPPUNIT_ASSERT_DOUBLES_EQUAL (0.0, map.beat_at_tempo (120.0), 1e-17);
|
|
||||||
|
|
||||||
/* tempo - internal minute interface */
|
/* tempo - internal minute interface */
|
||||||
CPPUNIT_ASSERT_DOUBLES_EQUAL (240.0, map.tempo_at_minute_locked (map._metrics, 0.1).beats_per_minute(), 1e-17);
|
CPPUNIT_ASSERT_DOUBLES_EQUAL (240.0, map.tempo_at_minute_locked (map._metrics, 0.1).beats_per_minute(), 1e-17);
|
||||||
@ -189,15 +188,14 @@ TempoTest::recomputeMapTest44 ()
|
|||||||
CPPUNIT_ASSERT_DOUBLES_EQUAL (240.0, map.tempo_at_frame (264600).beats_per_minute(), 1e-17);
|
CPPUNIT_ASSERT_DOUBLES_EQUAL (240.0, map.tempo_at_frame (264600).beats_per_minute(), 1e-17);
|
||||||
CPPUNIT_ASSERT_DOUBLES_EQUAL (120.0, map.tempo_at_frame (264600 - 1).beats_per_minute(), 1e-17);
|
CPPUNIT_ASSERT_DOUBLES_EQUAL (120.0, map.tempo_at_frame (264600 - 1).beats_per_minute(), 1e-17);
|
||||||
|
|
||||||
/* tempo - meter-based beat (bbt beat) */
|
/* tempo - quarter note */
|
||||||
CPPUNIT_ASSERT_DOUBLES_EQUAL (240.0, map.tempo_at_beat (24.0).beats_per_minute(), 1e-17);
|
CPPUNIT_ASSERT_DOUBLES_EQUAL (240.0, map.tempo_at_quarter_note (24.0).beats_per_minute(), 1e-17);
|
||||||
CPPUNIT_ASSERT_DOUBLES_EQUAL (240.0, map.tempo_at_beat (12.0).beats_per_minute(), 1e-17);
|
CPPUNIT_ASSERT_DOUBLES_EQUAL (240.0, map.tempo_at_quarter_note (12.0).beats_per_minute(), 1e-17);
|
||||||
CPPUNIT_ASSERT_DOUBLES_EQUAL (120.0, map.tempo_at_beat (6.0).beats_per_minute(), 1e-17);
|
CPPUNIT_ASSERT_DOUBLES_EQUAL (120.0, map.tempo_at_quarter_note (6.0).beats_per_minute(), 1e-17);
|
||||||
CPPUNIT_ASSERT_DOUBLES_EQUAL (120.0, map.tempo_at_beat (0.0).beats_per_minute(), 1e-17);
|
CPPUNIT_ASSERT_DOUBLES_EQUAL (120.0, map.tempo_at_quarter_note (0.0).beats_per_minute(), 1e-17);
|
||||||
/* meter-based beat (bbt beat) - tempo */
|
|
||||||
/* this is expected for constant tempi */
|
CPPUNIT_ASSERT_DOUBLES_EQUAL (12.0, map.quarter_note_at_tempo (240.0), 1e-17);
|
||||||
CPPUNIT_ASSERT_DOUBLES_EQUAL (12.0, map.beat_at_tempo (240.0), 1e-17);
|
CPPUNIT_ASSERT_DOUBLES_EQUAL (0.0, map.quarter_note_at_tempo (120.0), 1e-17);
|
||||||
CPPUNIT_ASSERT_DOUBLES_EQUAL (0.0, map.beat_at_tempo (120.0), 1e-17);
|
|
||||||
|
|
||||||
/* tempo - internal minute interface */
|
/* tempo - internal minute interface */
|
||||||
CPPUNIT_ASSERT_DOUBLES_EQUAL (240.0, map.tempo_at_minute_locked (map._metrics, 0.1).beats_per_minute(), 1e-17);
|
CPPUNIT_ASSERT_DOUBLES_EQUAL (240.0, map.tempo_at_minute_locked (map._metrics, 0.1).beats_per_minute(), 1e-17);
|
||||||
|
Loading…
Reference in New Issue
Block a user