#include "tools/beatutils.h" #include #include auto beat_utils::calculateBeatRateInfo(const std::vector& approximate_deltas) -> BeatInfo { if (approximate_deltas.empty()) return {}; const microsec sum = std::accumulate(approximate_deltas.begin(), approximate_deltas.end(), 0); const std::size_t amount = approximate_deltas.size(); long double average = static_cast(sum) / static_cast(amount); const int bpm = static_cast(60000000. / average); return BeatInfo { bpm, static_cast(1. / static_cast(bpm) * 60000000.) }; }