comparison widgets/PluginParameterBox.cpp @ 71:72fa239a4880

* 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 10bcd53ddc71
children 195ad6178ef8
comparison
equal deleted inserted replaced
70:bf306158803d 71:72fa239a4880
15 15
16 #include "PluginParameterBox.h" 16 #include "PluginParameterBox.h"
17 17
18 #include "AudioDial.h" 18 #include "AudioDial.h"
19 19
20 #include "plugin/PluginXml.h"
21
20 #include <QDoubleSpinBox> 22 #include <QDoubleSpinBox>
21 #include <QGridLayout> 23 #include <QGridLayout>
22 #include <QComboBox> 24 #include <QComboBox>
23 #include <QCheckBox> 25 #include <QCheckBox>
24 #include <QLayout> 26 #include <QLayout>
25 #include <QLabel> 27 #include <QLabel>
26 28
27 #include <iostream> 29 #include <iostream>
28 #include <string> 30 #include <string>
29 31
30 PluginParameterBox::PluginParameterBox(PluginInstance *plugin, QWidget *parent) : 32 PluginParameterBox::PluginParameterBox(Vamp::PluginBase *plugin, QWidget *parent) :
31 QFrame(parent), 33 QFrame(parent),
32 m_plugin(plugin) 34 m_plugin(plugin)
33 { 35 {
34 m_layout = new QGridLayout; 36 m_layout = new QGridLayout;
35 setLayout(m_layout); 37 setLayout(m_layout);
41 } 43 }
42 44
43 void 45 void
44 PluginParameterBox::populate() 46 PluginParameterBox::populate()
45 { 47 {
46 PluginInstance::ParameterList params = m_plugin->getParameterDescriptors(); 48 Vamp::PluginBase::ParameterList params = m_plugin->getParameterDescriptors();
47 PluginInstance::ProgramList programs = m_plugin->getPrograms(); 49 Vamp::PluginBase::ProgramList programs = m_plugin->getPrograms();
48 50
49 m_params.clear(); 51 m_params.clear();
50 52
51 if (params.empty() && programs.empty()) { 53 if (params.empty() && programs.empty()) {
52 m_layout->addWidget 54 m_layout->addWidget
168 if (m_params.find(name) == m_params.end()) { 170 if (m_params.find(name) == m_params.end()) {
169 std::cerr << "WARNING: PluginParameterBox::dialChanged: Unknown parameter \"" << name.toStdString() << "\"" << std::endl; 171 std::cerr << "WARNING: PluginParameterBox::dialChanged: Unknown parameter \"" << name.toStdString() << "\"" << std::endl;
170 return; 172 return;
171 } 173 }
172 174
173 PluginInstance::ParameterDescriptor params = m_params[name].param; 175 Vamp::PluginBase::ParameterDescriptor params = m_params[name].param;
174 176
175 float min = params.minValue; 177 float min = params.minValue;
176 float max = params.maxValue; 178 float max = params.maxValue;
177 179
178 float qtz = 0.0; 180 float qtz = 0.0;
191 spin->blockSignals(false); 193 spin->blockSignals(false);
192 } 194 }
193 195
194 m_plugin->setParameter(name.toStdString(), newValue); 196 m_plugin->setParameter(name.toStdString(), newValue);
195 197
196 emit pluginConfigurationChanged(m_plugin->toXmlString()); 198 emit pluginConfigurationChanged(PluginXml(m_plugin).toXmlString());
197 } 199 }
198 200
199 void 201 void
200 PluginParameterBox::checkBoxChanged(int state) 202 PluginParameterBox::checkBoxChanged(int state)
201 { 203 {
205 if (m_params.find(name) == m_params.end()) { 207 if (m_params.find(name) == m_params.end()) {
206 std::cerr << "WARNING: PluginParameterBox::checkBoxChanged: Unknown parameter \"" << name.toStdString() << "\"" << std::endl; 208 std::cerr << "WARNING: PluginParameterBox::checkBoxChanged: Unknown parameter \"" << name.toStdString() << "\"" << std::endl;
207 return; 209 return;
208 } 210 }
209 211
210 PluginInstance::ParameterDescriptor params = m_params[name].param; 212 Vamp::PluginBase::ParameterDescriptor params = m_params[name].param;
211 213
212 if (state) m_plugin->setParameter(name.toStdString(), 1.0); 214 if (state) m_plugin->setParameter(name.toStdString(), 1.0);
213 else m_plugin->setParameter(name.toStdString(), 0.0); 215 else m_plugin->setParameter(name.toStdString(), 0.0);
214 216
215 emit pluginConfigurationChanged(m_plugin->toXmlString()); 217 emit pluginConfigurationChanged(PluginXml(m_plugin).toXmlString());
216 } 218 }
217 219
218 void 220 void
219 PluginParameterBox::spinBoxChanged(double value) 221 PluginParameterBox::spinBoxChanged(double value)
220 { 222 {
224 if (m_params.find(name) == m_params.end()) { 226 if (m_params.find(name) == m_params.end()) {
225 std::cerr << "WARNING: PluginParameterBox::spinBoxChanged: Unknown parameter \"" << name.toStdString() << "\"" << std::endl; 227 std::cerr << "WARNING: PluginParameterBox::spinBoxChanged: Unknown parameter \"" << name.toStdString() << "\"" << std::endl;
226 return; 228 return;
227 } 229 }
228 230
229 PluginInstance::ParameterDescriptor params = m_params[name].param; 231 Vamp::PluginBase::ParameterDescriptor params = m_params[name].param;
230 232
231 float min = params.minValue; 233 float min = params.minValue;
232 float max = params.maxValue; 234 float max = params.maxValue;
233 235
234 float qtz = 0.0; 236 float qtz = 0.0;
256 dial->blockSignals(false); 258 dial->blockSignals(false);
257 } 259 }
258 260
259 m_plugin->setParameter(name.toStdString(), value); 261 m_plugin->setParameter(name.toStdString(), value);
260 262
261 emit pluginConfigurationChanged(m_plugin->toXmlString()); 263 emit pluginConfigurationChanged(PluginXml(m_plugin).toXmlString());
262 } 264 }
263 265
264 void 266 void
265 PluginParameterBox::programComboChanged(const QString &newProgram) 267 PluginParameterBox::programComboChanged(const QString &newProgram)
266 { 268 {
267 m_plugin->selectProgram(newProgram.toStdString()); 269 m_plugin->selectProgram(newProgram.toStdString());
268 270
269 for (std::map<QString, ParamRec>::iterator i = m_params.begin(); 271 for (std::map<QString, ParamRec>::iterator i = m_params.begin();
270 i != m_params.end(); ++i) { 272 i != m_params.end(); ++i) {
271 273
272 PluginInstance::ParameterDescriptor &param = i->second.param; 274 Vamp::PluginBase::ParameterDescriptor &param = i->second.param;
273 float value = m_plugin->getParameter(param.name); 275 float value = m_plugin->getParameter(param.name);
274 276
275 if (i->second.spin) { 277 if (i->second.spin) {
276 i->second.spin->blockSignals(true); 278 i->second.spin->blockSignals(true);
277 i->second.spin->setValue(value); 279 i->second.spin->setValue(value);
294 i->second.dial->setValue(int((value - min) / qtz)); 296 i->second.dial->setValue(int((value - min) / qtz));
295 i->second.dial->blockSignals(false); 297 i->second.dial->blockSignals(false);
296 } 298 }
297 } 299 }
298 300
299 emit pluginConfigurationChanged(m_plugin->toXmlString()); 301 emit pluginConfigurationChanged(PluginXml(m_plugin).toXmlString());
300 } 302 }
301 303