本文整理汇总了C++中BasePlugin::init方法的典型用法代码示例。如果您正苦于以下问题:C++ BasePlugin::init方法的具体用法?C++ BasePlugin::init怎么用?C++ BasePlugin::init使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类BasePlugin
的用法示例。
在下文中一共展示了BasePlugin::init方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: choosePlugin
void EffectRack::choosePlugin(QListWidgetItem* it, bool replace)/*{{{*/
{
PluginI* plugi = PluginDialog::getPlugin(track->type(), this);
if (plugi)
{
BasePlugin* nplug = 0;
if (plugi->type() == PLUGIN_LADSPA)
nplug = new LadspaPlugin();
else if (plugi->type() == PLUGIN_LV2)
nplug = new Lv2Plugin();
else if (plugi->type() == PLUGIN_VST)
nplug = new VstPlugin();
if (nplug)
{
if (nplug->init(plugi->filename(), plugi->label()))
{
// just in case is needed later
//if (!audioDevice || audioDevice->deviceType() != AudioDevice::JACK_AUDIO)
// nplug->aboutToRemove();
int idx = row(it);
if (replace)
{
audio->msgAddPlugin(track, idx, 0);
//Do this part from the GUI context so user interfaces can be properly deleted
// track->efxPipe()->insert(0, idx); was set on lv2 only
}
audio->msgAddPlugin(track, idx, nplug);
nplug->setChannels(track->channels());
nplug->setActive(true);
song->dirty = true;
}
else
{
QMessageBox::warning(this, tr("Failed to load plugin"), tr("Plugin '%1'' failed to initialize properly, error was:\n%2").arg(plugi->name()).arg(get_last_error()));
nplug->deleteMe();
return;
}
}
updateContents();
}
}/*}}}*/