c@42: c@42: #include "PiperExport.h" c@48: c@42: #include "CQVamp.h" c@42: #include "CQChromaVamp.h" c@42: c@48: using piper_vamp_js::PiperAdapter; c@48: using piper_vamp_js::PiperAdapterBase; c@48: using piper_vamp_js::PiperPluginLibrary; c@42: c@48: static std::string libname("cqvamp"); c@48: c@48: piper_vamp::StaticOutputInfo cqStaticOutputInfo { c@48: { "constantq", c@48: { "http://purl.org/ontology/af/Spectrogram" } c@48: } c@48: }; c@48: c@48: class CQVampMIDIParamsAdapter : public PiperAdapterBase c@42: { c@42: public: c@48: CQVampMIDIParamsAdapter() : PiperAdapterBase(libname, c@48: { "Visualisation" }, c@48: cqStaticOutputInfo) { } c@42: virtual Vamp::Plugin *createPlugin(float inputSampleRate) const override { c@42: return new CQVamp(inputSampleRate, true); c@42: } c@42: }; c@42: c@48: class CQVampHzParamsAdapter : public PiperAdapterBase c@42: { c@42: public: c@48: CQVampHzParamsAdapter() : PiperAdapterBase(libname, c@48: { "Visualisation" }, c@48: cqStaticOutputInfo) { } c@42: virtual Vamp::Plugin *createPlugin(float inputSampleRate) const override { c@42: return new CQVamp(inputSampleRate, false); c@42: } c@42: }; c@42: c@42: static CQVampMIDIParamsAdapter cqVampMIDIParamsAdapter; c@42: static CQVampHzParamsAdapter cqVampHzParamsAdapter; c@42: c@48: static PiperAdapter c@48: cqChromaVampAdapter( c@48: libname, c@48: { "Visualisation" }, c@48: { c@48: { "chromagram", c@48: { "http://purl.org/ontology/af/Chromagram" } c@48: } c@48: } c@48: ); c@42: c@48: static PiperPluginLibrary library({ c@48: &cqVampMIDIParamsAdapter, c@48: &cqVampHzParamsAdapter, c@48: &cqChromaVampAdapter c@48: }); c@42: c@42: PIPER_EXPORT_LIBRARY(library); c@48: