comparison transform/RealTimePluginTransform.cpp @ 66:7afcfe666910

* Modify to use Vamp SDK for proper feature extraction plugins. Requires that the vamp-plugin-sdk directory tree be present below plugin/ (it's separate in Subversion).
author Chris Cannam
date Fri, 31 Mar 2006 15:56:35 +0000
parents 4d59dc469b0f
children 47fd14e29813
comparison
equal deleted inserted replaced
65:e1aad27029e3 66:7afcfe666910
16 16
17 #include "RealTimePluginTransform.h" 17 #include "RealTimePluginTransform.h"
18 18
19 #include "plugin/RealTimePluginFactory.h" 19 #include "plugin/RealTimePluginFactory.h"
20 #include "plugin/RealTimePluginInstance.h" 20 #include "plugin/RealTimePluginInstance.h"
21 #include "plugin/PluginXml.h"
21 22
22 #include "base/Model.h" 23 #include "base/Model.h"
23 #include "model/SparseTimeValueModel.h" 24 #include "model/SparseTimeValueModel.h"
24 #include "model/DenseTimeValueModel.h" 25 #include "model/DenseTimeValueModel.h"
25 26
59 << pluginId.toStdString() << "\"" << std::endl; 60 << pluginId.toStdString() << "\"" << std::endl;
60 return; 61 return;
61 } 62 }
62 63
63 if (configurationXml != "") { 64 if (configurationXml != "") {
64 m_plugin->setParametersFromXml(configurationXml); 65 PluginXml(m_plugin).setParametersFromXml(configurationXml);
65 } 66 }
66 67
67 if (m_outputNo >= m_plugin->getControlOutputCount()) { 68 if (m_outputNo >= m_plugin->getControlOutputCount()) {
68 std::cerr << "RealTimePluginTransform: Plugin has fewer than desired " << m_outputNo << " control outputs" << std::endl; 69 std::cerr << "RealTimePluginTransform: Plugin has fewer than desired " << m_outputNo << " control outputs" << std::endl;
69 return; 70 return;
143 buffers[ch][got++] = 0.0; 144 buffers[ch][got++] = 0.0;
144 } 145 }
145 } 146 }
146 } 147 }
147 148
148 m_plugin->run(RealTime::frame2RealTime(blockFrame, sampleRate)); 149 m_plugin->run(Vamp::RealTime::frame2RealTime(blockFrame, sampleRate));
149 150
150 float value = m_plugin->getControlOutputValue(m_outputNo); 151 float value = m_plugin->getControlOutputValue(m_outputNo);
151 152
152 model->addPoint(SparseTimeValueModel::Point 153 model->addPoint(SparseTimeValueModel::Point
153 (blockFrame - m_plugin->getLatency(), value, "")); 154 (blockFrame - m_plugin->getLatency(), value, ""));