view vamp-client/PluginClient.h @ 116:d15cb1151d76

Add JSON support directly to the server. Had hoped to avoid this (using Capnp as canonical in the server and then converting externally as necessary) but it's just too useful for debugging purposes when bundled with client app
author Chris Cannam <c.cannam@qmul.ac.uk>
date Thu, 27 Oct 2016 11:39:41 +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