summaryrefslogtreecommitdiffhomepage
path: root/InternalClick.cpp
blob: 33654fdb98b96f59f83b453a4704ceee8aa0edd6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
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<clock_type> now = clock_type::now();

  std::chrono::duration<double> duration{60.0 / static_cast<double>(m_config.get_bpm())};
  if (now - m_timestamp > duration) {
    m_timestamp = now;
    signal_click(0); // offset
  }
}