LCOV - code coverage report
Current view: top level - src/audio/engine - i_metronome.h (source / functions) Coverage Total Hit
Test: merged.info Lines: 100.0 % 2 2
Test Date: 2026-06-07 15:51:50 Functions: 50.0 % 2 1

            Line data    Source code
       1              : #pragma once
       2              : 
       3              : namespace Amplitron {
       4              : 
       5              : /**
       6              :  * @brief Interface for metronome engine.
       7              :  * Satisfies the Dependency Inversion Principle (DIP).
       8              :  */
       9          275 : class IMetronome {
      10              :    public:
      11          814 :     virtual ~IMetronome() = default;
      12              : 
      13              :     virtual void set_enabled(bool enabled) = 0;
      14              :     virtual bool is_enabled() const = 0;
      15              :     virtual void toggle() = 0;
      16              : 
      17              :     virtual void set_bpm(int bpm) = 0;
      18              :     virtual int get_bpm() const = 0;
      19              : 
      20              :     virtual void set_volume(float volume) = 0;
      21              :     virtual float get_volume() const = 0;
      22              : 
      23              :     virtual void set_sample_rate(int sample_rate) = 0;
      24              :     virtual void reset() = 0;
      25              : 
      26              :     // Generate next click sample
      27              :     virtual float next_sample() = 0;
      28              : };
      29              : 
      30              : }  // namespace Amplitron
        

Generated by: LCOV version 2.0-1