crap/include/Crap.hpp
Connor Olding dfd81b055b begin work on class-based plugins
ladspa/crap_eq is working, seemingly.
2015-06-07 13:18:59 -07:00

85 lines
1.2 KiB
C++

struct Crap {
virtual inline
~Crap() {}
virtual inline void
construct() = 0;
virtual inline void
destruct() = 0;
virtual void
pause() = 0;
virtual void
resume() = 0;
virtual void
process(
double *in_L, double *in_R,
double *out_L, double *out_R,
ulong count) = 0;
virtual void
process(
float *in_L, float *in_R,
float *out_L, float *out_R,
ulong count) = 0;
//void
//construct_params(param *params) = 0;
virtual void
adjust(param *params, ulong fs) = 0;
virtual void
adjust_one(param *params, int i) = 0;
};
template<class Mixin>
struct AdjustAll : public virtual Mixin {
ulong fs;
virtual void
adjust_all(param *params) = 0;
inline void
adjust(param *params, ulong fs_new)
{
fs = fs_new;
adjust_all(params);
}
inline void
adjust_one(param *params, int i)
{
adjust_all(params);
}
};
template<class Mixin>
struct Unconstructive : public virtual Mixin {
inline void
construct()
{};
inline void
destruct()
{};
};
template<class Mixin>
struct NoParams : public virtual Mixin {
// etc
//void
//construct_params(param *params) = 0;
void
adjust(param *params, ulong fs)
{}
void
adjust_one(param *params, int i)
{}
};