#include <ableton/link/Timeline.hpp>
#include <ableton/link_audio/BeatTimeMapping.hpp>
#include <ableton/platforms/stl/Random.hpp>
#include <ableton/test/CatchWrapper.hpp>
namespace ableton
{
namespace link_audio
{
TEST_CASE("BeatTimeMapping")
{
const auto timeline = link::Timeline{
link::Tempo{120.}, link::Beats{5.5678}, std::chrono::microseconds{12558940}};
SECTION("Roundtrip")
{
const auto beats = link::Beats{234.567};
const auto quantum = link::Beats{4.};
const auto globalBeats = globalBeatAtBeat(timeline, beats, quantum);
const auto localBeats = beatAtGlobalBeat(timeline, globalBeats, quantum);
CHECK(beats.floating() == Approx(localBeats.floating()));
}
}
} }