To check out this repository please hg clone the following URL, or open the URL using EasyMercurial or your preferred Mercurial client.

Statistics Download as Zip
| Branch: | Tag: | Revision:

root / BeatRootVampPlugin.h @ 0:886f11e41417

History | View | Annotate | Download (1.85 KB)

1
/* -*- c-basic-offset: 4 indent-tabs-mode: nil -*-  vi:set ts=8 sts=4 sw=4: */
2

    
3
/*
4
    Vamp feature extraction plugin for the BeatRoot beat tracker.
5

6
    Centre for Digital Music, Queen Mary, University of London.
7
    This file copyright 2011 Simon Dixon, Chris Cannam and QMUL.
8
    
9
    This program is free software; you can redistribute it and/or
10
    modify it under the terms of the GNU General Public License as
11
    published by the Free Software Foundation; either version 2 of the
12
    License, or (at your option) any later version.  See the file
13
    COPYING included with this distribution for more information.
14
*/
15

    
16
#ifndef _BEATROOT_VAMP_PLUGIN_H_
17
#define _BEATROOT_VAMP_PLUGIN_H_
18

    
19
#include <vamp-sdk/Plugin.h>
20

    
21
using std::string;
22

    
23
class BeatRootVampPlugin : public Vamp::Plugin
24
{
25
public:
26
    BeatRootVampPlugin(float inputSampleRate);
27
    virtual ~BeatRootVampPlugin();
28

    
29
    string getIdentifier() const;
30
    string getName() const;
31
    string getDescription() const;
32
    string getMaker() const;
33
    int getPluginVersion() const;
34
    string getCopyright() const;
35

    
36
    InputDomain getInputDomain() const;
37
    size_t getPreferredBlockSize() const;
38
    size_t getPreferredStepSize() const;
39
    size_t getMinChannelCount() const;
40
    size_t getMaxChannelCount() const;
41

    
42
    ParameterList getParameterDescriptors() const;
43
    float getParameter(string identifier) const;
44
    void setParameter(string identifier, float value);
45

    
46
    ProgramList getPrograms() const;
47
    string getCurrentProgram() const;
48
    void selectProgram(string name);
49

    
50
    OutputList getOutputDescriptors() const;
51

    
52
    bool initialise(size_t channels, size_t stepSize, size_t blockSize);
53
    void reset();
54

    
55
    FeatureSet process(const float *const *inputBuffers,
56
                       Vamp::RealTime timestamp);
57

    
58
    FeatureSet getRemainingFeatures();
59

    
60
protected:
61
    BeatRootProcessor *m_processor;
62
};
63

    
64

    
65

    
66
#endif