Mercurial > hg > vamp-fanchirp
view plugins.cpp @ 33:b21704074c9c spect tip
Ensure default parameter values match the actual internal defaults
author | Chris Cannam |
---|---|
date | Fri, 07 Feb 2020 11:49:39 +0000 |
parents | 0a860992b4f4 |
children |
line wrap: on
line source
// This is a skeleton file for use in creating your own plugin // libraries. Replace MyPlugin and myPlugin throughout with the name // of your first plugin class, and fill in the gaps as appropriate. #include <vamp/vamp.h> #include <vamp-sdk/PluginAdapter.h> #include "FChTransformF0gram.h" class FChTransformAdapter : public Vamp::PluginAdapterBase { public: FChTransformAdapter(FChTransformF0gram::ProcessingMode mode) : PluginAdapterBase(), m_mode(mode) { } virtual ~FChTransformAdapter() { } protected: Vamp::Plugin *createPlugin(float inputSampleRate) { return new FChTransformF0gram(m_mode, inputSampleRate); } FChTransformF0gram::ProcessingMode m_mode; }; static FChTransformAdapter f0gram(FChTransformF0gram::ModeF0Gram); static FChTransformAdapter spectrogram(FChTransformF0gram::ModeSpectrogram); static FChTransformAdapter rough(FChTransformF0gram::ModeRoughSpectrogram); // This is the entry-point for the library, and the only function that // needs to be publicly exported. const VampPluginDescriptor * vampGetPluginDescriptor(unsigned int version, unsigned int index) { if (version < 1) return 0; // Return a different plugin adaptor's descriptor for each index, // and return 0 for the first index after you run out of plugins. // (That's how the host finds out how many plugins are in this // library.) switch (index) { case 0: return f0gram.getDescriptor(); case 1: return spectrogram.getDescriptor(); case 2: return rough.getDescriptor(); default: return 0; } }