Mercurial > hg > vamp-plugin-tester
changeset 60:9f2a6d843639
Add error if plugin has fixed sample type but no sample rate
author | Chris Cannam |
---|---|
date | Fri, 04 Sep 2015 13:48:51 +0100 |
parents | 6732dd5e7139 |
children | c7fd03f5ae02 247a0c471a51 |
files | .hgsubstate TestOutputs.cpp |
diffstat | 2 files changed, 12 insertions(+), 3 deletions(-) [+] |
line wrap: on
line diff
--- a/.hgsubstate Thu Sep 03 14:45:31 2015 +0100 +++ b/.hgsubstate Fri Sep 04 13:48:51 2015 +0100 @@ -1,1 +1,1 @@ -c42aeb56d8288001ff45d6f00594e5f5b1e8f3de vamp-plugin-sdk +1522e2f6d7005e094b56caebc91e181cbbf76296 vamp-plugin-sdk
--- a/TestOutputs.cpp Thu Sep 03 14:45:31 2015 +0100 +++ b/TestOutputs.cpp Fri Sep 04 13:48:51 2015 +0100 @@ -120,14 +120,24 @@ auto_ptr<Plugin> p(PluginLoader::getInstance()->loadPlugin (key, rate, PluginLoader::ADAPT_ALL_SAFE)); + Results r; Plugin::FeatureSet f; - Results r; float **data = 0; size_t channels = 0; size_t step = 0, block = 0; size_t count = 100; if (!initDefaults(p.get(), channels, step, block, r)) return r; + + Plugin::OutputList outputs = p->getOutputDescriptors(); + for (int i = 0; i < (int)outputs.size(); ++i) { + if (outputs[i].sampleType == Plugin::OutputDescriptor::FixedSampleRate && + outputs[i].sampleRate == 0.f) { + r.push_back(error("Plugin output \"" + outputs[i].identifier + + "\" has FixedSampleRate but gives sample rate as 0")); + } + } + if (!data) data = createTestAudio(channels, block, count); for (size_t i = 0; i < count; ++i) { #ifdef __GNUC__ @@ -145,7 +155,6 @@ appendFeatures(f, fs); if (data) destroyTestAudio(data, channels); - Plugin::OutputList outputs = p->getOutputDescriptors(); for (Plugin::FeatureSet::const_iterator i = f.begin(); i != f.end(); ++i) { const Plugin::OutputDescriptor &o = outputs[i->first];