#ifndef HECK_OSP_INSTR_ABSTRACT #define HECK_OSP_INSTR_ABSTRACT #include "main_osp.hh" namespace Heck::OSP { namespace Instrument { class AbstractInstrument { public: virtual void trigger() = 0; // ctl-nr must be 0-3 // val must be 0-1 virtual void ctl(unsigned int ctl_nr, float val) = 0; // pos must be either 0,1,2 virtual void switch_algo(unsigned int pos) = 0; virtual void switch_mode(unsigned int pos) = 0; virtual float nextsample() = 0; private: }; } // namespace Instruments } // namespace Heck #endif // HECK_OSP_INSTR_ABSTRACT