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);