本文整理汇总了C++中BasePlugin::setActive方法的典型用法代码示例。如果您正苦于以下问题:C++ BasePlugin::setActive方法的具体用法?C++ BasePlugin::setActive怎么用?C++ BasePlugin::setActive使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类BasePlugin
的用法示例。
在下文中一共展示了BasePlugin::setActive方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: setActive
void Pipeline::setActive(int idx, bool flag)
{
int s = size();
if(idx >= s)
return;
BasePlugin* p = (*this)[idx];
if (p)
{
p->setActive(flag);
if (p->gui())
p->gui()->setActive(flag);
}
}
示例2: 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();
}
}/*}}}*/
示例3: menuRequested
//.........这里部分代码省略.........
if (pipe->empty(idx))
{
menu->removeAction(changeAction);
menu->removeAction(saveAction);
upAction->setEnabled(false);
downAction->setEnabled(false);
removeAction->setEnabled(false);
bypassAction->setEnabled(false);
showGuiAction->setEnabled(false);
showNativeGuiAction->setEnabled(false);
}
else
{
menu->removeAction(newAction);
if (idx == 0)
upAction->setEnabled(true);
if (idx == ((int)epipe->size() - 1))
downAction->setEnabled(false);
}
QPoint pt = QCursor::pos();
QAction* act = menu->exec(pt, 0);
//delete menu;
if (!act)
{
delete menu;
return;
}
int sel = act->data().toInt();
delete menu;
int pdepth = epipe->size();
switch (sel)
{
case NEW:
{
choosePlugin(it);
break;
}
case CHANGE:
{
choosePlugin(it, true);
break;
}
case REMOVE:
{
BasePlugin* oldPlugin = (*epipe)[idx];
oldPlugin->setActive(false);
oldPlugin->aboutToRemove();
if(debugMsg)
qCritical("Plugin to remove now and here");
audio->msgAddPlugin(track, idx, 0);
song->dirty = true;
break;
}
case BYPASS:
{
bool flag = !pipe->isActive(idx);
pipe->setActive(idx, flag);
break;
}
case SHOW:
{
bool flag = !pipe->guiVisible(idx);
pipe->showGui(idx, flag);
break;
}
case SHOW_NATIVE:
{
printf("Show native GUI called\n");
bool flag = !pipe->nativeGuiVisible(idx);
pipe->showNativeGui(idx, flag);
break;
}
case UP:
if (idx > 0)
{
setCurrentItem(item(idx - 1));
pipe->move(idx, true);
}
break;
case DOWN:
if (idx < pdepth)
{
setCurrentItem(item(idx + 1));
pipe->move(idx, false);
}
break;
case SAVE:
savePreset(idx);
break;
}
//Already done on songChanged
//updateContents();
song->update(SC_RACK);
}/*}}}*/