Fix compile errors

This commit is contained in:
2026-01-05 01:50:05 +08:00
parent c136cdf7f6
commit cad331eb2c
33 changed files with 79 additions and 354 deletions
+7
View File
@@ -81,6 +81,12 @@ endif()
list(APPEND CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake")
# OFX HostSupport requires expat::expat
find_package(EXPAT REQUIRED)
if (TARGET EXPAT::EXPAT AND NOT TARGET expat::expat)
add_library(expat::expat ALIAS EXPAT::EXPAT)
endif()
# Link OpenGL
if(UNIX AND NOT APPLE AND NOT DEFINED OpenGL_GL_PREFERENCE)
set(OpenGL_GL_PREFERENCE LEGACY)
@@ -262,6 +268,7 @@ set(CMAKE_INCLUDE_CURRENT_DIR ON)
list(APPEND OLIVE_INCLUDE_DIRS ${CMAKE_SOURCE_DIR}/ext)
add_subdirectory(ext)
add_subdirectory(third_party/openfx/HostSupport)
add_subdirectory(app)
if (BUILD_TESTS)
+19 -1
View File
@@ -91,7 +91,25 @@ void NodeFactory::Initialize()
olive::plugin::loadPlugins(QString());
for (auto plugin : OFX::Host::PluginCache::getPluginCache()->getPlugins()) {
plugin::PluginNode *plugin_node=new plugin::PluginNode(dynamic_cast<OFX::Host::ImageEffect::ImageEffectPlugin*>(plugin));
auto *image_effect =
dynamic_cast<OFX::Host::ImageEffect::ImageEffectPlugin *>(plugin);
if (!image_effect) {
continue;
}
const auto &contexts = image_effect->getContexts();
std::string context = kOfxImageEffectContextFilter;
if (!contexts.empty() &&
contexts.find(kOfxImageEffectContextFilter) == contexts.end()) {
context = *contexts.begin();
}
auto *instance = image_effect->createInstance(context, nullptr);
if (!instance) {
continue;
}
plugin::PluginNode *plugin_node = new plugin::PluginNode(instance);
library_.append(plugin_node);
}
+24
View File
@@ -149,6 +149,8 @@ olive::plugin::PluginNode::PluginNode(
SetInputName(kTextureInput, tr("Texture"));
}
}
olive::plugin::PluginNode::~PluginNode() = default;
QString olive::plugin::PluginNode::Name() const
{
const auto *plugin = plugin_instance_->getPlugin();
@@ -159,6 +161,11 @@ QString olive::plugin::PluginNode::Name() const
}
QVector<olive::Node::CategoryID> olive::plugin::PluginNode::Category() const
{
return { olive::Node::kCategoryUnknown };
}
QString olive::plugin::PluginNode::Description() const
{
const auto *plugin = plugin_instance_->getPlugin();
@@ -168,6 +175,23 @@ QString olive::plugin::PluginNode::Description() const
.data();
}
void olive::plugin::PluginNode::ProcessSamples(const NodeValueRow &values,
const SampleBuffer &input,
SampleBuffer &output,
int index) const
{
(void)values;
(void)input;
(void)output;
(void)index;
}
void olive::plugin::PluginNode::GenerateFrame(FramePtr frame,
const GenerateJob &job) const
{
(void)frame;
(void)job;
}
void olive::plugin::PluginNode::Value(const NodeValueRow &value,
const NodeGlobals &globals,
NodeValueTable *table) const
+4 -1
View File
@@ -382,9 +382,12 @@ TexturePtr NodeTraverser::ProcessVideoCacheJob(const CacheJob *val)
return nullptr;
}
TexturePtr NodeTraverser::ProcessPluginJob(TexturePtr texture, TexturePtr destination, const Node *node,)
TexturePtr NodeTraverser::ProcessPluginJob(TexturePtr texture,
TexturePtr destination,
const Node *node)
{
// TODO
return nullptr;
}
QVector2D NodeTraverser::GenerateResolution() const
{
+4 -2
View File
@@ -161,14 +161,16 @@ OliveHost::makeDescriptor(const std::string &bundlePath,
return desc;
}
ImageEffect::Instance* OliveHost::newInstance(std::shared_ptr<PluginNode> clientData,
ImageEffect::Instance* OliveHost::newInstance(void *clientData,
ImageEffect::ImageEffectPlugin* plugin,
ImageEffect::Descriptor& desc,
const std::string& context){
auto* instance = new OlivePluginInstance(
plugin, desc, context, Current::getInstance().interactive());
if (clientData) {
instance->setNode(clientData);
auto *node = static_cast<PluginNode *>(clientData);
instance->setNode(
std::shared_ptr<PluginNode>(node, [](PluginNode *) {}));
}
instances_.append(instance);
return instance;
+1 -1
View File
@@ -57,7 +57,7 @@ public:
return true;
};
OFX::Host::ImageEffect::Instance* newInstance(std::shared_ptr<PluginNode> ptr,
OFX::Host::ImageEffect::Instance* newInstance(void *clientData,
OFX::Host::ImageEffect::ImageEffectPlugin* plugin,
OFX::Host::ImageEffect::Descriptor& desc,
const std::string& context) override;
+5 -4
View File
@@ -377,10 +377,11 @@ void OlivePluginInstance::progressStart(const std::string &message,
? QStringLiteral("Processing...")
: QString::fromStdString(message);
progress_dialog_ = new ProgressDialog(
dialog_message, QStringLiteral("OpenFX"), Core::instance()->main_window());
progress_dialog_ = new ::olive::ProgressDialog(
dialog_message, QStringLiteral("OpenFX"), nullptr);
progress_dialog_->setAttribute(Qt::WA_DeleteOnClose);
connect(progress_dialog_, &ProgressDialog::Cancelled, this,
QObject::connect(progress_dialog_, &::olive::ProgressDialog::Cancelled,
progress_dialog_,
[this]() { progress_cancelled_ = true; });
progress_dialog_->show();
}
@@ -440,7 +441,7 @@ double OlivePluginInstance::timeLineGetTime()
void OlivePluginInstance::timeLineGotoTime(double t)
{
if (ViewerOutput *viewer = GetActiveViewerOutput()) {
viewer->SetPlayhead(core::rational::fromDouble(t));
viewer->SetPlayhead(olive::core::rational::fromDouble(t));
}
}
+2 -2
View File
@@ -30,9 +30,9 @@
#include <qcontainerfwd.h>
#include <qlist.h>
namespace olive {
class ProgressDialog;
namespace plugin{
class PluginNode;
class ProgressDialog;
enum class ErrorType{
Error,
Warning,
@@ -202,7 +202,7 @@ private:
QString edit_label_;
QString edit_first_label_;
int edit_param_count_ = 0;
QPointer<ProgressDialog> progress_dialog_;
QPointer<olive::ProgressDialog> progress_dialog_;
bool progress_cancelled_ = false;
bool progress_active_ = false;
bool open_gl_enabled_ = false;
+4 -4
View File
@@ -83,6 +83,10 @@ protected:
virtual void DestroyInternal() override;
void AttachTextureAsDestination(const QVariant &texture);
void DetachTextureAsDestination();
private:
static GLint GetInternalFormat(PixelFormat format, int channel_layout);
@@ -90,10 +94,6 @@ private:
static GLenum GetPixelFormat(int channel_count);
void AttachTextureAsDestination(const QVariant &texture);
void DetachTextureAsDestination();
void PrepareInputTexture(GLenum target, Texture::Interpolation interp);
void ClearDestinationInternal(double r = 0.0, double g = 0.0,
+2
View File
@@ -350,10 +350,12 @@ void olive::plugin::PluginRenderer::RenderPlugin(TexturePtr src, olive::plugin::
OliveClipInstance *clip=dynamic_cast<plugin::OliveClipInstance *>(instance->getClip("Output"));
if (!clip) {
#ifdef OFX_SUPPORTS_OPENGLRENDER
if (use_opengl) {
DetachOutputTexture();
instance->contextDetachedAction();
}
#endif
instance->endRenderAction(0, numFramesToRender, 1.0, interactive, renderScale, true,interactive
);
return;
+1 -1
View File
@@ -233,7 +233,7 @@ QString VideoParams::GetFormatName(PixelFormat format)
}
return QCoreApplication::translate("VideoParams", "Unknown (0x%1)")
.arg(format, 0, 16);
.arg(static_cast<int>(format), 0, 16);
}
int VideoParams::GetDividerForTargetResolution(int src_width, int src_height,
-18
View File
@@ -1,21 +1,3 @@
/*
* Olive Community Edition - Non-Linear Video Editor
* Copyright (C) 2025 Olive CE Team
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS>
<TS version="2.1" language="ar_EG">
-18
View File
@@ -1,21 +1,3 @@
/*
* Olive Community Edition - Non-Linear Video Editor
* Copyright (C) 2025 Olive CE Team
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS>
<TS version="2.1" language="bs_BA">
-18
View File
@@ -1,21 +1,3 @@
/*
* Olive Community Edition - Non-Linear Video Editor
* Copyright (C) 2025 Olive CE Team
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS>
<TS version="2.1" language="cs_CZ">
-18
View File
@@ -1,21 +1,3 @@
/*
* Olive Community Edition - Non-Linear Video Editor
* Copyright (C) 2025 Olive CE Team
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS>
<TS version="2.1" language="de_DE">
-18
View File
@@ -1,21 +1,3 @@
/*
* Olive Community Edition - Non-Linear Video Editor
* Copyright (C) 2025 Olive CE Team
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS>
<TS version="2.1" language="en_US">
-18
View File
@@ -1,21 +1,3 @@
/*
* Olive Community Edition - Non-Linear Video Editor
* Copyright (C) 2025 Olive CE Team
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS>
<TS version="2.1" language="es_ES" sourcelanguage="en_US">
-18
View File
@@ -1,21 +1,3 @@
/*
* Olive Community Edition - Non-Linear Video Editor
* Copyright (C) 2025 Olive CE Team
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS>
<TS version="2.1" language="fr_FR">
-18
View File
@@ -1,21 +1,3 @@
/*
* Olive Community Edition - Non-Linear Video Editor
* Copyright (C) 2025 Olive CE Team
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS>
<TS version="2.1" language="hr_HR">
-18
View File
@@ -1,21 +1,3 @@
/*
* Olive Community Edition - Non-Linear Video Editor
* Copyright (C) 2025 Olive CE Team
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS>
<TS version="2.1" language="id_ID">
-18
View File
@@ -1,21 +1,3 @@
/*
* Olive Community Edition - Non-Linear Video Editor
* Copyright (C) 2025 Olive CE Team
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS>
<TS version="2.1" language="it_IT">
-18
View File
@@ -1,21 +1,3 @@
/*
* Olive Community Edition - Non-Linear Video Editor
* Copyright (C) 2025 Olive CE Team
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS>
<TS version="2.1" language="ja_JP" sourcelanguage="en_US">
-18
View File
@@ -1,21 +1,3 @@
/*
* Olive Community Edition - Non-Linear Video Editor
* Copyright (C) 2025 Olive CE Team
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS>
<TS version="2.1" language="pt_BR">
-18
View File
@@ -1,21 +1,3 @@
/*
* Olive Community Edition - Non-Linear Video Editor
* Copyright (C) 2025 Olive CE Team
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS>
<TS version="2.1" language="ru_RU">
-18
View File
@@ -1,21 +1,3 @@
/*
* Olive Community Edition - Non-Linear Video Editor
* Copyright (C) 2025 Olive CE Team
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS>
<TS version="2.1" language="sr_RS">
-18
View File
@@ -1,21 +1,3 @@
/*
* Olive Community Edition - Non-Linear Video Editor
* Copyright (C) 2025 Olive CE Team
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS>
<TS version="2.1" language="tr_TR">
-18
View File
@@ -1,21 +1,3 @@
/*
* Olive Community Edition - Non-Linear Video Editor
* Copyright (C) 2025 Olive CE Team
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS>
<TS version="2.1" language="uk_UA">
-18
View File
@@ -1,21 +1,3 @@
/*
* Olive Community Edition - Non-Linear Video Editor
* Copyright (C) 2025 Olive CE Team
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS>
<TS version="2.1" language="zh_CN">
-18
View File
@@ -1,21 +1,3 @@
/*
* Olive Community Edition - Non-Linear Video Editor
* Copyright (C) 2025 Olive CE Team
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS>
<TS version="2.1" language="zh_TW" sourcelanguage="en">
+1 -1
View File
@@ -93,7 +93,7 @@ QString HumanStrings::FormatToString(const SampleFormat &f)
}
return QCoreApplication::translate("AudioParams", "Unknown (0x%1)")
.arg(f, 1, 16);
.arg(static_cast<int>(f), 1, 16);
}
}
@@ -263,14 +263,6 @@ void NodeParamViewWidgetBridge::WidgetCallback()
case NodeValue::kSubtitleParams:
case NodeValue::kDataTypeCount:
break;
case NodeValue::kBinary: {
NodeParamViewTextEdit *line_edit =
new NodeParamViewTextEdit(parent);
widgets_.append(line_edit);
connect(line_edit, &NodeParamViewTextEdit::textEdited, this,
&NodeParamViewWidgetBridge::WidgetCallback);
break;
}
case NodeValue::kInt: {
// Widget is a IntegerSlider
IntegerSlider *slider = static_cast<IntegerSlider *>(sender());
+1 -1
View File
@@ -646,7 +646,7 @@ void NodeView::mouseDoubleClickEvent(QMouseEvent *event)
QStringLiteral("ParamPanel"))) {
panel->show();
panel->raise();
panel->setFocus();
panel->setFocus(Qt::OtherFocusReason);
}
}
}
+1 -1
View File
@@ -61,7 +61,7 @@ namespace OFX {
/// \arg plugin - the plugin being created
/// \arg desc - the descriptor for that plugin
/// \arg context - the context to be created in
virtual Instance* newInstance(std::shared_ptr<olive::plugin::PluginNode> clientData,
virtual Instance* newInstance(void *clientData,
ImageEffectPlugin* plugin,
Descriptor& desc,
const std::string& context) = 0;