annotate src/rubberband-1.8.1/vamp/RubberBandVampPlugin.h @ 148:b4bfdf10c4b3

Update Win64 capnp builds to v0.6
author Chris Cannam <cannam@all-day-breakfast.com>
date Mon, 22 May 2017 18:56:49 +0100
parents 89f5e221ed7b
children
rev   line source
cannam@95 1 /* -*- c-basic-offset: 4 indent-tabs-mode: nil -*- vi:set ts=8 sts=4 sw=4: */
cannam@95 2
cannam@95 3 /*
cannam@95 4 Rubber Band Library
cannam@95 5 An audio time-stretching and pitch-shifting library.
cannam@95 6 Copyright 2007-2012 Particular Programs Ltd.
cannam@95 7
cannam@95 8 This program is free software; you can redistribute it and/or
cannam@95 9 modify it under the terms of the GNU General Public License as
cannam@95 10 published by the Free Software Foundation; either version 2 of the
cannam@95 11 License, or (at your option) any later version. See the file
cannam@95 12 COPYING included with this distribution for more information.
cannam@95 13
cannam@95 14 Alternatively, if you have a valid commercial licence for the
cannam@95 15 Rubber Band Library obtained by agreement with the copyright
cannam@95 16 holders, you may redistribute and/or modify it under the terms
cannam@95 17 described in that licence.
cannam@95 18
cannam@95 19 If you wish to distribute code using the Rubber Band Library
cannam@95 20 under terms other than those of the GNU General Public License,
cannam@95 21 you must obtain a valid commercial licence before doing so.
cannam@95 22 */
cannam@95 23
cannam@95 24 #ifndef _RUBBERBAND_VAMP_PLUGIN_H_
cannam@95 25 #define _RUBBERBAND_VAMP_PLUGIN_H_
cannam@95 26
cannam@95 27 #include <vamp-sdk/Plugin.h>
cannam@95 28
cannam@95 29 #include "RubberBandStretcher.h"
cannam@95 30
cannam@95 31 class RubberBandVampPlugin : public Vamp::Plugin
cannam@95 32 {
cannam@95 33 public:
cannam@95 34 RubberBandVampPlugin(float inputSampleRate);
cannam@95 35 virtual ~RubberBandVampPlugin();
cannam@95 36
cannam@95 37 bool initialise(size_t channels, size_t stepSize, size_t blockSize);
cannam@95 38 void reset();
cannam@95 39
cannam@95 40 InputDomain getInputDomain() const { return TimeDomain; }
cannam@95 41
cannam@95 42 std::string getIdentifier() const;
cannam@95 43 std::string getName() const;
cannam@95 44 std::string getDescription() const;
cannam@95 45 std::string getMaker() const;
cannam@95 46 int getPluginVersion() const;
cannam@95 47 std::string getCopyright() const;
cannam@95 48
cannam@95 49 ParameterList getParameterDescriptors() const;
cannam@95 50 float getParameter(std::string id) const;
cannam@95 51 void setParameter(std::string id, float value);
cannam@95 52
cannam@95 53 OutputList getOutputDescriptors() const;
cannam@95 54
cannam@95 55 FeatureSet process(const float *const *inputBuffers,
cannam@95 56 Vamp::RealTime timestamp);
cannam@95 57
cannam@95 58 FeatureSet getRemainingFeatures();
cannam@95 59
cannam@95 60 protected:
cannam@95 61 class Impl;
cannam@95 62 Impl *m_d;
cannam@95 63 };
cannam@95 64
cannam@95 65 #endif