Add OFX plugin support and related infrastructure

This commit extends the OFX plugin support in Olive by:

- Initializing and scanning for OFX plugins
- Updating PluginNode to handle OFX plugin parameters and inputs
- Adding necessary methods and properties for OFX plugin integration
- Enhancing NodeFactory to include OFX plugin nodes
- Refactoring and renaming OliveInstance to OlivePluginInstance
- Introducing new classes for parameter handling (ParamInstance)
- Adding PluginJob for rendering OFX plugins
- Adjusting CMakeLists.txt files to include new source files
This commit is contained in:
2025-11-09 17:03:56 +08:00
parent 26e6924cdf
commit 8a7b6cf869
23 changed files with 545 additions and 90 deletions
+4 -2
View File
@@ -19,6 +19,8 @@
#ifndef NODE_H
#define NODE_H
#include "ofxhImageEffectAPI.h"
#include <map>
#include <QMutex>
#include <QObject>
@@ -1124,11 +1126,11 @@ public:
static const QString kEnabledInput;
std::shared_ptr<OFX::Host::ImageEffect::ImageEffectPlugin> getPlugin();
OFX::Host::ImageEffect::ImageEffectPlugin* getPlugin();
protected:
// If is set, this is a plugin node.
std::shared_ptr<OFX::Host::ImageEffect::ImageEffectPlugin> plugin;
OFX::Host::ImageEffect::ImageEffectPlugin* plugin= nullptr;
void InsertInput(const QString &id, NodeValue::Type type,
const QVariant &default_value, InputFlags flags,