view vamp-client/PluginClient.h @ 97:427c4c725085

Bring in the Request/Response classes that were in the Vamp SDK, adding them to vamp-support in here instead
author Chris Cannam <c.cannam@qmul.ac.uk>
date Thu, 13 Oct 2016 18:05:35 +0100
parents a660dca988f8
children ff3fd8d1b2dc
line wrap: on
line source

#ifndef PIPER_PLUGIN_CLIENT_H
#define PIPER_PLUGIN_CLIENT_H

#include "vamp-support/PluginConfiguration.h"

namespace piper_vamp {
namespace client {

class PluginStub;

class PluginClient
{
public:
    virtual
    Vamp::Plugin::OutputList
    configure(PluginStub *plugin,
              PluginConfiguration config) = 0;
    
    virtual
    Vamp::Plugin::FeatureSet
    process(PluginStub *plugin,
            std::vector<std::vector<float> > inputBuffers,
            Vamp::RealTime timestamp) = 0;

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

    virtual
    void
    reset(PluginStub *plugin, PluginConfiguration config) = 0;
};

}
}

#endif