cannam@5: /* -*- c-basic-offset: 4 indent-tabs-mode: nil -*- vi:set ts=8 sts=4 sw=4: */ cannam@5: cannam@5: /* cannam@5: Vamp Plugin Tester cannam@5: Chris Cannam, cannam@all-day-breakfast.com cannam@5: Centre for Digital Music, Queen Mary, University of London. Chris@42: Copyright 2009-2014 QMUL. cannam@5: cannam@5: This program loads a Vamp plugin and tests its susceptibility to a cannam@5: number of common pitfalls, including handling of extremes of input cannam@5: data. If you can think of any additional useful tests that are cannam@5: easily added, please send them to me. cannam@5: cannam@5: Permission is hereby granted, free of charge, to any person cannam@5: obtaining a copy of this software and associated documentation cannam@5: files (the "Software"), to deal in the Software without cannam@5: restriction, including without limitation the rights to use, copy, cannam@5: modify, merge, publish, distribute, sublicense, and/or sell copies cannam@5: of the Software, and to permit persons to whom the Software is cannam@5: furnished to do so, subject to the following conditions: cannam@5: cannam@5: The above copyright notice and this permission notice shall be cannam@5: included in all copies or substantial portions of the Software. cannam@5: cannam@5: THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, cannam@5: EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF cannam@5: MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND cannam@5: NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR cannam@5: ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF cannam@5: CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION cannam@5: WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. cannam@5: cannam@5: Except as contained in this notice, the names of the Centre for cannam@5: Digital Music; Queen Mary, University of London; and Chris Cannam cannam@5: shall not be used in advertising or otherwise to promote the sale, cannam@5: use or other dealings in this Software without prior written cannam@5: authorization. cannam@5: */ cannam@5: cannam@5: #ifndef _TEST_DEFAULTS_H_ cannam@5: #define _TEST_DEFAULTS_H_ cannam@5: cannam@5: #include "Test.h" cannam@5: #include "Tester.h" cannam@5: cannam@5: class TestDefaultProgram : public Test cannam@5: { cannam@5: public: cannam@5: TestDefaultProgram() : Test() { } cannam@8: Results test(std::string key, Options options); cannam@5: cannam@5: protected: cannam@5: static Tester::TestRegistrar m_registrar; cannam@5: }; cannam@5: cannam@5: class TestDefaultParameters : public Test cannam@5: { cannam@5: public: cannam@5: TestDefaultParameters() : Test() { } cannam@8: Results test(std::string key, Options options); cannam@5: cannam@5: protected: cannam@5: static Tester::TestRegistrar m_registrar; cannam@5: }; cannam@5: Chris@34: class TestParametersOnReset : public Test Chris@34: { Chris@34: public: Chris@34: TestParametersOnReset() : Test() { } Chris@34: Results test(std::string key, Options options); Chris@34: Chris@34: protected: Chris@34: static Tester::TestRegistrar m_registrar; Chris@34: }; Chris@34: cannam@5: #endif