From 2e793141e5434043205763c70d3a597cf2d78eeb Mon Sep 17 00:00:00 2001 From: Roland Reichwein Date: Sat, 4 Jan 2025 17:51:59 +0100 Subject: Separate clocks --- InternalClick.cpp | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) create mode 100644 InternalClick.cpp (limited to 'InternalClick.cpp') diff --git a/InternalClick.cpp b/InternalClick.cpp new file mode 100644 index 0000000..33654fd --- /dev/null +++ b/InternalClick.cpp @@ -0,0 +1,19 @@ +#include "InternalClick.h" + +InternalClick::InternalClick(Config& config): + m_config{config}, + m_timestamp{clock_type::now()} +{ +} + +void InternalClick::run_cyclic_50ms() +{ + std::chrono::time_point now = clock_type::now(); + + std::chrono::duration duration{60.0 / static_cast(m_config.get_bpm())}; + if (now - m_timestamp > duration) { + m_timestamp = now; + signal_click(0); // offset + } +} + -- cgit v1.2.3