summaryrefslogtreecommitdiff
path: root/libs/ardour/test/framepos_minus_beats_test.cc
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2014-11-22 04:05:42 -0500
committerDavid Robillard <d@drobilla.net>2014-11-22 04:05:42 -0500
commitc1cfa12d6e5136d2e3e5501e83ff74c5009a9e60 (patch)
tree56d2811bc8b9d6f2a5accfa8e497ddd5976c7c7a /libs/ardour/test/framepos_minus_beats_test.cc
parentcae74309a583c29dd6cc2081425c2e7b673ea13e (diff)
Wrap MusicalTime in a class.
This lets us get a more explicit handle on time conversions, and is the main step towards using actual beat:tick time and getting away from floating point precision problems.
Diffstat (limited to 'libs/ardour/test/framepos_minus_beats_test.cc')
-rw-r--r--libs/ardour/test/framepos_minus_beats_test.cc17
1 files changed, 9 insertions, 8 deletions
diff --git a/libs/ardour/test/framepos_minus_beats_test.cc b/libs/ardour/test/framepos_minus_beats_test.cc
index 01bafc1606..e4c4844146 100644
--- a/libs/ardour/test/framepos_minus_beats_test.cc
+++ b/libs/ardour/test/framepos_minus_beats_test.cc
@@ -7,6 +7,7 @@ CPPUNIT_TEST_SUITE_REGISTRATION (FrameposMinusBeatsTest);
using namespace std;
using namespace ARDOUR;
using namespace Timecode;
+using namespace Evoral;
/* Basic tests with no tempo / meter changes */
void
@@ -25,11 +26,11 @@ FrameposMinusBeatsTest::singleTempoTest ()
map.add_tempo (tempo, BBT_Time (1, 1, 0));
/* Subtract 1 beat from beat 3 of the first bar */
- framepos_t r = map.framepos_minus_beats (frames_per_beat * 2, 1);
+ framepos_t r = map.framepos_minus_beats (frames_per_beat * 2, MusicalTime(1));
CPPUNIT_ASSERT_EQUAL (r, framepos_t (frames_per_beat * 1));
/* Subtract 4 beats from 3 beats in, to go beyond zero */
- r = map.framepos_minus_beats (frames_per_beat * 3, 4);
+ r = map.framepos_minus_beats (frames_per_beat * 3, MusicalTime(4));
CPPUNIT_ASSERT_EQUAL (r, framepos_t (- frames_per_beat));
}
@@ -69,15 +70,15 @@ FrameposMinusBeatsTest::doubleTempoTest ()
/* Now some tests */
/* Subtract 1 beat from 1|2 */
- framepos_t r = map.framepos_minus_beats (24e3, 1);
+ framepos_t r = map.framepos_minus_beats (24e3, MusicalTime(1));
CPPUNIT_ASSERT_EQUAL (r, framepos_t (0));
/* Subtract 2 beats from 4|2 (over the tempo change) */
- r = map.framepos_minus_beats (288e3 + 12e3, 2);
+ r = map.framepos_minus_beats (288e3 + 12e3, MusicalTime(2));
CPPUNIT_ASSERT_EQUAL (r, framepos_t (288e3 - 24e3));
/* Subtract 2.5 beats from 4|2 (over the tempo change) */
- r = map.framepos_minus_beats (288e3 + 12e3, 2.5);
+ r = map.framepos_minus_beats (288e3 + 12e3, MusicalTime(2.5));
CPPUNIT_ASSERT_EQUAL (r, framepos_t (288e3 - 24e3 - 12e3));
}
@@ -123,15 +124,15 @@ FrameposMinusBeatsTest::doubleTempoWithMeterTest ()
/* Now some tests */
/* Subtract 1 beat from 1|2 */
- framepos_t r = map.framepos_minus_beats (24e3, 1);
+ framepos_t r = map.framepos_minus_beats (24e3, MusicalTime(1));
CPPUNIT_ASSERT_EQUAL (r, framepos_t (0));
/* Subtract 2 beats from 4|2 (over the tempo change) */
- r = map.framepos_minus_beats (288e3 + 12e3, 2);
+ r = map.framepos_minus_beats (288e3 + 12e3, MusicalTime(2));
CPPUNIT_ASSERT_EQUAL (r, framepos_t (288e3 - 24e3));
/* Subtract 2.5 beats from 4|2 (over the tempo change) */
- r = map.framepos_minus_beats (288e3 + 12e3, 2.5);
+ r = map.framepos_minus_beats (288e3 + 12e3, MusicalTime(2.5));
CPPUNIT_ASSERT_EQUAL (r, framepos_t (288e3 - 24e3 - 12e3));
}