#pragma once #include #include class UI { public: using clock_type = std::chrono::high_resolution_clock; UI(); void draw(); // signals boost::signals2::signal bpm_plus; boost::signals2::signal bpm_minus; boost::signals2::signal note_set_from_midi; boost::signals2::signal mode; // slots void count_main_loops(); void slot_active_sensing(); private: int get_main_loops_per_second(); uint64_t m_main_loops; uint64_t m_main_loops_checkpoint; std::chrono::time_point m_main_loops_timestamp; std::chrono::time_point m_active_sensing_timestamp; };