Mercurial > hg > piper-vamp-js-builds
diff constant-q-cpp/cqvamp.cpp @ 42:36f67ba6f29c
Add Constant-Q plugin build
author | Chris Cannam <c.cannam@qmul.ac.uk> |
---|---|
date | Fri, 10 Mar 2017 15:40:40 +0000 |
parents | |
children | ac94242cf562 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/constant-q-cpp/cqvamp.cpp Fri Mar 10 15:40:40 2017 +0000 @@ -0,0 +1,38 @@ +/* -*- c-basic-offset: 4 indent-tabs-mode: nil -*- vi:set ts=8 sts=4 sw=4: */ + +#include "PiperExport.h" +#include "CQVamp.h" +#include "CQChromaVamp.h" + +static std::string soname("cqvamp"); + +class CQVampMIDIParamsAdapter : public piper_vamp_js::PiperAdapterBase<CQVamp> +{ +public: + CQVampMIDIParamsAdapter() : PiperAdapterBase<CQVamp>(soname) { } + virtual Vamp::Plugin *createPlugin(float inputSampleRate) const override { + return new CQVamp(inputSampleRate, true); + } +}; + +class CQVampHzParamsAdapter : public piper_vamp_js::PiperAdapterBase<CQVamp> +{ +public: + CQVampHzParamsAdapter() : PiperAdapterBase<CQVamp>(soname) { } + virtual Vamp::Plugin *createPlugin(float inputSampleRate) const override { + return new CQVamp(inputSampleRate, false); + } +}; + +static CQVampMIDIParamsAdapter cqVampMIDIParamsAdapter; +static CQVampHzParamsAdapter cqVampHzParamsAdapter; + +static piper_vamp_js::PiperAdapter<CQChromaVamp> cqChromaVampAdapter(soname); + +static piper_vamp_js::PiperPluginLibrary library({ + &cqVampMIDIParamsAdapter, + &cqVampHzParamsAdapter, + &cqChromaVampAdapter + }); + +PIPER_EXPORT_LIBRARY(library);