summaryrefslogtreecommitdiffhomepage
path: root/NoteClick.h
blob: 754329f5be7508abb9b5ae73d2ba4f81df5361b5 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
#pragma once

#include <boost/signals2.hpp>

#include "config.h"
#include "BPMDetect.h"

// Generated from MIDI notes
// Configured via channel and note to listen to
class NoteClick
{
public:
  NoteClick(Config& config);

  // signals
  boost::signals2::signal<void()> signal_click;
  boost::signals2::signal<void(int)> signal_bpm;

  // slots
  void receive_note(int channel, int note, uint64_t timestamp);

private:
  Config& m_config;

  BPMDetect m_detect;
};