annotate plugins/SpecDesc.h @ 198:3a76aa26b578 tip master

wscript: check for 64bit using sys.maxsize (closes #3)
author Paul Brossier <piem@piem.org>
date Mon, 04 Dec 2017 01:42:19 +0100
parents b147d06397bc
children
rev   line source
piem@89 1 /* -*- c-basic-offset: 4 indent-tabs-mode: nil -*- vi:set ts=8 sts=4 sw=4: */
piem@89 2
piem@89 3 /*
piem@89 4 Vamp feature extraction plugins using Paul Brossier's Aubio library.
piem@89 5
piem@89 6 Copyright (C) 2006-2015 Paul Brossier <piem@aubio.org>
piem@89 7
piem@110 8 This file is part of vamp-aubio-plugins.
piem@89 9
piem@89 10 vamp-aubio is free software: you can redistribute it and/or modify
piem@89 11 it under the terms of the GNU General Public License as published by
piem@89 12 the Free Software Foundation, either version 3 of the License, or
piem@89 13 (at your option) any later version.
piem@89 14
piem@89 15 vamp-aubio is distributed in the hope that it will be useful,
piem@89 16 but WITHOUT ANY WARRANTY; without even the implied warranty of
piem@89 17 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
piem@89 18 GNU General Public License for more details.
piem@89 19
piem@89 20 You should have received a copy of the GNU General Public License
piem@89 21 along with aubio. If not, see <http://www.gnu.org/licenses/>.
piem@89 22
piem@89 23 */
piem@89 24
piem@89 25 #ifndef _SPECDESC_PLUGIN_H_
piem@89 26 #define _SPECDESC_PLUGIN_H_
piem@89 27
piem@89 28 #include <vamp-sdk/Plugin.h>
piem@89 29 #include <aubio/aubio.h>
piem@89 30
piem@89 31 #include "Types.h"
piem@89 32
piem@89 33 class SpecDesc : public Vamp::Plugin
piem@89 34 {
piem@89 35 public:
piem@89 36 SpecDesc(float inputSampleRate);
piem@89 37 virtual ~SpecDesc();
piem@89 38
piem@89 39 bool initialise(size_t channels, size_t stepSize, size_t blockSize);
piem@89 40 void reset();
piem@89 41
piem@89 42 InputDomain getInputDomain() const { return TimeDomain; }
piem@89 43
piem@89 44 std::string getIdentifier() const;
piem@89 45 std::string getName() const;
piem@89 46 std::string getDescription() const;
piem@89 47 std::string getMaker() const;
piem@89 48 int getPluginVersion() const;
piem@89 49 std::string getCopyright() const;
piem@89 50
piem@89 51 ParameterList getParameterDescriptors() const;
piem@89 52 float getParameter(std::string) const;
piem@89 53 void setParameter(std::string, float);
piem@89 54
piem@89 55 size_t getPreferredStepSize() const;
piem@89 56 size_t getPreferredBlockSize() const;
piem@89 57
piem@89 58 OutputList getOutputDescriptors() const;
piem@89 59
piem@89 60 FeatureSet process(const float *const *inputBuffers,
piem@89 61 Vamp::RealTime timestamp);
piem@89 62
piem@89 63 FeatureSet getRemainingFeatures();
piem@89 64
piem@89 65 protected:
piem@89 66 fvec_t *m_ibuf;
piem@89 67 aubio_pvoc_t *m_pvoc;
piem@89 68 cvec_t *m_ispec;
piem@89 69 aubio_specdesc_t *m_specdesc;
piem@89 70 fvec_t *m_out;
piem@89 71 SpecDescType m_specdesctype;
piem@89 72 size_t m_stepSize;
piem@89 73 size_t m_blockSize;
piem@89 74 };
piem@89 75
piem@89 76
piem@89 77 #endif /* _SPECDESC_PLUGIN_H_ */