Chris@0: Chris@0: Chris@0: #include Chris@0: #include Chris@0: Chris@0: #include "VampTestPlugin.h" Chris@0: Chris@20: class Adapter : public Vamp::PluginAdapterBase Chris@20: { Chris@20: public: Chris@20: Adapter(bool freq) : Chris@20: PluginAdapterBase(), Chris@20: m_freq(freq) { } Chris@0: Chris@20: virtual ~Adapter() { } Chris@0: Chris@20: protected: Chris@20: bool m_freq; Chris@20: Chris@20: Vamp::Plugin *createPlugin(float inputSampleRate) { Chris@20: return new VampTestPlugin(inputSampleRate, m_freq); Chris@20: } Chris@20: }; Chris@20: Chris@20: static Adapter timeAdapter(false); Chris@20: static Adapter freqAdapter(true); Chris@0: Chris@0: const VampPluginDescriptor * Chris@0: vampGetPluginDescriptor(unsigned int version, unsigned int index) Chris@0: { Chris@0: if (version < 1) return 0; Chris@0: Chris@0: // Return a different plugin adaptor's descriptor for each index, Chris@0: // and return 0 for the first index after you run out of plugins. Chris@0: // (That's how the host finds out how many plugins are in this Chris@0: // library.) Chris@0: Chris@0: switch (index) { Chris@20: case 0: return timeAdapter.getDescriptor(); Chris@20: case 1: return freqAdapter.getDescriptor(); Chris@0: default: return 0; Chris@0: } Chris@0: } Chris@0: Chris@0: