annotate constant-q-cpp/cqvamp.cpp @ 18:0253f7749493

Add cepstral pitch tracker
author Chris Cannam
date Thu, 23 Mar 2017 14:03:38 +0000
parents 87fc2ac1a25a
children ac94242cf562
rev   line source
Chris@15 1 /* -*- c-basic-offset: 4 indent-tabs-mode: nil -*- vi:set ts=8 sts=4 sw=4: */
Chris@15 2
Chris@15 3 #include "PiperExport.h"
Chris@15 4 #include "CQVamp.h"
Chris@15 5 #include "CQChromaVamp.h"
Chris@15 6
Chris@15 7 static std::string soname("cqvamp");
Chris@15 8
Chris@15 9 class CQVampMIDIParamsAdapter : public piper_vamp_js::PiperAdapterBase<CQVamp>
Chris@15 10 {
Chris@15 11 public:
Chris@15 12 CQVampMIDIParamsAdapter() : PiperAdapterBase<CQVamp>(soname) { }
Chris@15 13 virtual Vamp::Plugin *createPlugin(float inputSampleRate) const override {
Chris@15 14 return new CQVamp(inputSampleRate, true);
Chris@15 15 }
Chris@15 16 };
Chris@15 17
Chris@15 18 class CQVampHzParamsAdapter : public piper_vamp_js::PiperAdapterBase<CQVamp>
Chris@15 19 {
Chris@15 20 public:
Chris@15 21 CQVampHzParamsAdapter() : PiperAdapterBase<CQVamp>(soname) { }
Chris@15 22 virtual Vamp::Plugin *createPlugin(float inputSampleRate) const override {
Chris@15 23 return new CQVamp(inputSampleRate, false);
Chris@15 24 }
Chris@15 25 };
Chris@15 26
Chris@15 27 static CQVampMIDIParamsAdapter cqVampMIDIParamsAdapter;
Chris@15 28 static CQVampHzParamsAdapter cqVampHzParamsAdapter;
Chris@15 29
Chris@15 30 static piper_vamp_js::PiperAdapter<CQChromaVamp> cqChromaVampAdapter(soname);
Chris@15 31
Chris@15 32 static piper_vamp_js::PiperPluginLibrary library({
Chris@15 33 &cqVampMIDIParamsAdapter,
Chris@15 34 &cqVampHzParamsAdapter,
Chris@15 35 &cqChromaVampAdapter
Chris@15 36 });
Chris@15 37
Chris@15 38 PIPER_EXPORT_LIBRARY(library);