int const bpm = 120;
double const frames_per_beat = (60 / double (bpm)) * double (sampling_rate);
-
+
TempoMap map (sampling_rate);
Tempo tempo (bpm);
Meter meter (4, 4);
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, MusicalTime(1));
+ framepos_t r = map.framepos_minus_beats (frames_per_beat * 2, Beats(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, MusicalTime(4));
+ r = map.framepos_minus_beats (frames_per_beat * 3, Beats(4));
CPPUNIT_ASSERT_EQUAL (r, framepos_t (- frames_per_beat));
}
/*
120bpm at bar 1, 240bpm at bar 4
-
+
120bpm = 24e3 samples per beat
240bpm = 12e3 samples per beat
*/
-
+
/*
-
+
120bpm 240bpm
0 beats 12 beats
0 frames 288e3 frames
/* Now some tests */
/* Subtract 1 beat from 1|2 */
- framepos_t r = map.framepos_minus_beats (24e3, MusicalTime(1));
+ framepos_t r = map.framepos_minus_beats (24e3, Beats(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, MusicalTime(2));
+ r = map.framepos_minus_beats (288e3 + 12e3, Beats(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, MusicalTime(2.5));
+ r = map.framepos_minus_beats (288e3 + 12e3, Beats(2.5));
CPPUNIT_ASSERT_EQUAL (r, framepos_t (288e3 - 24e3 - 12e3));
}
tempo change (which shouldn't affect anything, since we are just dealing with
beats)
*/
-
+
void
FrameposMinusBeatsTest::doubleTempoWithMeterTest ()
{
/*
120bpm at bar 1, 240bpm at bar 4
-
+
120bpm = 24e3 samples per beat
240bpm = 12e3 samples per beat
*/
-
+
/*
-
+
120bpm 240bpm
0 beats 12 beats
0 frames 288e3 frames
/* Now some tests */
/* Subtract 1 beat from 1|2 */
- framepos_t r = map.framepos_minus_beats (24e3, MusicalTime(1));
+ framepos_t r = map.framepos_minus_beats (24e3, Beats(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, MusicalTime(2));
+ r = map.framepos_minus_beats (288e3 + 12e3, Beats(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, MusicalTime(2.5));
+ r = map.framepos_minus_beats (288e3 + 12e3, Beats(2.5));
CPPUNIT_ASSERT_EQUAL (r, framepos_t (288e3 - 24e3 - 12e3));
}