本文整理汇总了C++中BasePlugin::getParameterValue方法的典型用法代码示例。如果您正苦于以下问题:C++ BasePlugin::getParameterValue方法的具体用法?C++ BasePlugin::getParameterValue怎么用?C++ BasePlugin::getParameterValue使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类BasePlugin
的用法示例。
在下文中一共展示了BasePlugin::getParameterValue方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: readProperties
bool AudioTrack::readProperties(Xml& xml, const QString& tag)
{
if (tag == "LadspaPlugin" || tag == "plugin")
{
BasePlugin* pi = new LadspaPlugin();
pi->setTrack(this);
pi->setId((int)_efxPipe->size());
if (pi->readConfiguration(xml, false))
delete pi;
else
_efxPipe->addPlugin(pi, -1);
}
else if (tag == "Lv2Plugin")
{
Lv2Plugin* pi = new Lv2Plugin();
pi->setTrack(this);
pi->setId((int)_efxPipe->size());
if (pi->readConfiguration(xml, false))
delete pi;
else
_efxPipe->addPlugin(pi, -1);
}
else if (tag == "VstPlugin")
{
VstPlugin* pi = new VstPlugin();
pi->setTrack(this);
pi->setId((int)_efxPipe->size());
if (pi->readConfiguration(xml, false))
delete pi;
else
_efxPipe->addPlugin(pi, -1);
}
else if (tag == "auxSend")
readAuxSend(xml);
else if (tag == "prefader")
_prefader = xml.parseInt();
else if (tag == "sendMetronome")
_sendMetronome = xml.parseInt();
else if (tag == "automation")
setAutomationType(AutomationType(xml.parseInt()));
else if (tag == "controller")
{
CtrlList* l = new CtrlList();
l->read(xml);
// Since (until now) oom wrote a 'zero' for plugin controller current value
// in the XML file, we can't use that value, now that plugin automation is added.
// We must take the value from the plugin control value.
// Otherwise we break all existing .oom files with plugins, because the gui
// controls would all be set to zero.
// But we will allow for the (unintended, useless) possibility of a controller
// with no matching plugin control.
BasePlugin* p = 0;
bool ctlfound = false;
int m = l->id() & AC_PLUGIN_CTL_ID_MASK;
int n = (l->id() >> AC_PLUGIN_CTL_BASE_POW) - 1;
int pdepth = _efxPipe->size();
if (n >= 0 && n < pdepth)
{
p = (*_efxPipe)[n];
if (p)
{
ParameterPort* cport = p->getParameterPort(m);
if (cport && cport->type == PARAMETER_INPUT && (cport->hints & PARAMETER_IS_AUTOMABLE) > 0)
ctlfound = true;
}
}
iCtrlList icl = _controller.find(l->id());
if (icl == _controller.end())
_controller.add(l);
else
{
CtrlList* d = icl->second;
for (iCtrl i = l->begin(); i != l->end(); ++i)
d->add(i->second.getFrame(), i->second.val);
if (!ctlfound)
d->setCurVal(l->curVal());
d->setColor(l->color());
d->setVisible(l->isVisible());
d->setDefault(l->getDefault());
delete l;
l = d;
}
if (ctlfound)
{
l->setCurVal(p->getParameterValue(m));
ParameterPort* cport = p->getParameterPort(m);
if (cport && cport->hints & PARAMETER_IS_TOGGLED)
l->setMode(CtrlList::DISCRETE);
else
l->setMode(CtrlList::INTERPOLATE);
}
}