annotate VampTestPlugin.cpp @ 0:21d94fc628c8

Start on plugin that provides test outputs for each supported format
author Chris Cannam
date Thu, 21 Mar 2013 19:22:16 +0000
parents
children 572e2a3f3f11
rev   line source
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