Chris@0
|
1
|
Chris@0
|
2
|
Chris@0
|
3 #include "VampTestPlugin.h"
|
Chris@0
|
4
|
Chris@0
|
5
|
Chris@0
|
6 VampTestPlugin::VampTestPlugin(float inputSampleRate) :
|
Chris@0
|
7 Plugin(inputSampleRate)
|
Chris@0
|
8 // Also be sure to set your plugin parameters (presumably stored
|
Chris@0
|
9 // in member variables) to their default values here -- the host
|
Chris@0
|
10 // will not do that for you
|
Chris@0
|
11 {
|
Chris@0
|
12 }
|
Chris@0
|
13
|
Chris@0
|
14 VampTestPlugin::~VampTestPlugin()
|
Chris@0
|
15 {
|
Chris@0
|
16 }
|
Chris@0
|
17
|
Chris@0
|
18 string
|
Chris@0
|
19 VampTestPlugin::getIdentifier() const
|
Chris@0
|
20 {
|
Chris@0
|
21 return "vamp-test-plugin";
|
Chris@0
|
22 }
|
Chris@0
|
23
|
Chris@0
|
24 string
|
Chris@0
|
25 VampTestPlugin::getName() const
|
Chris@0
|
26 {
|
Chris@0
|
27 return "Vamp Test Plugin";
|
Chris@0
|
28 }
|
Chris@0
|
29
|
Chris@0
|
30 string
|
Chris@0
|
31 VampTestPlugin::getDescription() const
|
Chris@0
|
32 {
|
Chris@0
|
33 return "Test plugin for hosts handling various output types";
|
Chris@0
|
34 }
|
Chris@0
|
35
|
Chris@0
|
36 string
|
Chris@0
|
37 VampTestPlugin::getMaker() const
|
Chris@0
|
38 {
|
Chris@0
|
39 return "Chris Cannam";
|
Chris@0
|
40 }
|
Chris@0
|
41
|
Chris@0
|
42 int
|
Chris@0
|
43 VampTestPlugin::getPluginVersion() const
|
Chris@0
|
44 {
|
Chris@0
|
45 return 1;
|
Chris@0
|
46 }
|
Chris@0
|
47
|
Chris@0
|
48 string
|
Chris@0
|
49 VampTestPlugin::getCopyright() const
|
Chris@0
|
50 {
|
Chris@0
|
51 return "BSD";
|
Chris@0
|
52 }
|
Chris@0
|
53
|
Chris@0
|
54 VampTestPlugin::InputDomain
|
Chris@0
|
55 VampTestPlugin::getInputDomain() const
|
Chris@0
|
56 {
|
Chris@0
|
57 return TimeDomain;
|
Chris@0
|
58 }
|
Chris@0
|
59
|
Chris@0
|
60 size_t
|
Chris@0
|
61 VampTestPlugin::getPreferredBlockSize() const
|
Chris@0
|
62 {
|
Chris@0
|
63 return 0;
|
Chris@0
|
64 }
|
Chris@0
|
65
|
Chris@0
|
66 size_t
|
Chris@0
|
67 VampTestPlugin::getPreferredStepSize() const
|
Chris@0
|
68 {
|
Chris@0
|
69 return 0;
|
Chris@0
|
70 }
|
Chris@0
|
71
|
Chris@0
|
72 size_t
|
Chris@0
|
73 VampTestPlugin::getMinChannelCount() const
|
Chris@0
|
74 {
|
Chris@0
|
75 return 1;
|
Chris@0
|
76 }
|
Chris@0
|
77
|
Chris@0
|
78 size_t
|
Chris@0
|
79 VampTestPlugin::getMaxChannelCount() const
|
Chris@0
|
80 {
|
Chris@0
|
81 return 1;
|
Chris@0
|
82 }
|
Chris@0
|
83
|
Chris@0
|
84 VampTestPlugin::ParameterList
|
Chris@0
|
85 VampTestPlugin::getParameterDescriptors() const
|
Chris@0
|
86 {
|
Chris@0
|
87 ParameterList list;
|
Chris@0
|
88 return list;
|
Chris@0
|
89 }
|
Chris@0
|
90
|
Chris@0
|
91 float
|
Chris@0
|
92 VampTestPlugin::getParameter(string identifier) const
|
Chris@0
|
93 {
|
Chris@0
|
94 return 0;
|
Chris@0
|
95 }
|
Chris@0
|
96
|
Chris@0
|
97 void
|
Chris@0
|
98 VampTestPlugin::setParameter(string identifier, float value)
|
Chris@0
|
99 {
|
Chris@0
|
100 }
|
Chris@0
|
101
|
Chris@0
|
102 VampTestPlugin::ProgramList
|
Chris@0
|
103 VampTestPlugin::getPrograms() const
|
Chris@0
|
104 {
|
Chris@0
|
105 ProgramList list;
|
Chris@0
|
106 return list;
|
Chris@0
|
107 }
|
Chris@0
|
108
|
Chris@0
|
109 string
|
Chris@0
|
110 VampTestPlugin::getCurrentProgram() const
|
Chris@0
|
111 {
|
Chris@0
|
112 return ""; // no programs
|
Chris@0
|
113 }
|
Chris@0
|
114
|
Chris@0
|
115 void
|
Chris@0
|
116 VampTestPlugin::selectProgram(string name)
|
Chris@0
|
117 {
|
Chris@0
|
118 }
|
Chris@0
|
119
|
Chris@0
|
120 VampTestPlugin::OutputList
|
Chris@0
|
121 VampTestPlugin::getOutputDescriptors() const
|
Chris@0
|
122 {
|
Chris@0
|
123 OutputList list;
|
Chris@0
|
124
|
Chris@0
|
125 OutputDescriptor d;
|
Chris@0
|
126 d.identifier = "output";
|
Chris@0
|
127 d.name = "My Output";
|
Chris@0
|
128 d.description = "";
|
Chris@0
|
129 d.unit = "";
|
Chris@0
|
130 d.hasFixedBinCount = true;
|
Chris@0
|
131 d.binCount = 1;
|
Chris@0
|
132 d.hasKnownExtents = false;
|
Chris@0
|
133 d.isQuantized = false;
|
Chris@0
|
134 d.sampleType = OutputDescriptor::OneSamplePerStep;
|
Chris@0
|
135 d.hasDuration = false;
|
Chris@0
|
136 list.push_back(d);
|
Chris@0
|
137
|
Chris@0
|
138 return list;
|
Chris@0
|
139 }
|
Chris@0
|
140
|
Chris@0
|
141 bool
|
Chris@0
|
142 VampTestPlugin::initialise(size_t channels, size_t stepSize, size_t blockSize)
|
Chris@0
|
143 {
|
Chris@0
|
144 if (channels < getMinChannelCount() ||
|
Chris@0
|
145 channels > getMaxChannelCount()) return false;
|
Chris@0
|
146
|
Chris@0
|
147 // Real initialisation work goes here!
|
Chris@0
|
148
|
Chris@0
|
149 return true;
|
Chris@0
|
150 }
|
Chris@0
|
151
|
Chris@0
|
152 void
|
Chris@0
|
153 VampTestPlugin::reset()
|
Chris@0
|
154 {
|
Chris@0
|
155 // Clear buffers, reset stored values, etc
|
Chris@0
|
156 }
|
Chris@0
|
157
|
Chris@0
|
158 VampTestPlugin::FeatureSet
|
Chris@0
|
159 VampTestPlugin::process(const float *const *inputBuffers, Vamp::RealTime timestamp)
|
Chris@0
|
160 {
|
Chris@0
|
161 // Do actual work!
|
Chris@0
|
162 return FeatureSet();
|
Chris@0
|
163 }
|
Chris@0
|
164
|
Chris@0
|
165 VampTestPlugin::FeatureSet
|
Chris@0
|
166 VampTestPlugin::getRemainingFeatures()
|
Chris@0
|
167 {
|
Chris@0
|
168 return FeatureSet();
|
Chris@0
|
169 }
|
Chris@0
|
170
|