#ifndef HECK_OSP_INSTR_KICK_HH #define HECK_OSP_INSTR_KICK_HH #include "instr_interface.hh" namespace Heck::OSP { namespace Instrument { class Kick : public AbstractInstrument { public: Kick(); void init(); void trigger() override; void ctl(unsigned int ctl_nr, float val) override; void switch_algo(unsigned int pos) override; void switch_mode(unsigned int pos) override; float nextsample() override; private: dsp::Oscillator osc; dsp::AdEnv pitchEnv; dsp::Chorus chorus; float mode1{}; float mode2{}; }; } // namespace Instrument } // namespace Heck #endif