view vamp-client/PluginClient.h @ 100:bbb99f94e225

Serialisation, comments
author Chris Cannam <c.cannam@qmul.ac.uk>
date Fri, 14 Oct 2016 12:46:38 +0100
parents 427c4c725085
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