view vamp-client/PiperClient.h @ 90:6429a99abcad

Split out classes
author Chris Cannam <c.cannam@qmul.ac.uk>
date Thu, 13 Oct 2016 10:17:59 +0100
parents
children c897c9a8daf1
line wrap: on
line source

#ifndef PIPER_CLIENT_H
#define PIPER_CLIENT_H

#include <vamp-hostsdk/PluginConfiguration.h>

namespace piper { //!!! change

class PiperStubPlugin;

class PiperStubPluginClientInterface
{
    friend class PiperStubPlugin;
    
protected:
    virtual
    Vamp::Plugin::OutputList
    configure(PiperStubPlugin *plugin,
              Vamp::HostExt::PluginConfiguration config) = 0;
    
    virtual
    Vamp::Plugin::FeatureSet
    process(PiperStubPlugin *plugin,
            std::vector<std::vector<float> > inputBuffers,
            Vamp::RealTime timestamp) = 0;

    virtual Vamp::Plugin::FeatureSet
    finish(PiperStubPlugin *plugin) = 0;
};

}

#endif