refactor(plugin): de-Qt oakplugin and wrap it in a pure C ABI
- de-Qt src/plugin/src (olivehost/oliveplugininstance/oliveclip/
paraminstance/image/pluginprogressreporter); QMessageBox/
QApplication replaced by facade callbacks
- new C ABI in include/plugin/{error,host,instance}.h with
refcounted OakPluginInstance value handle
- paraminstance bridges via oaknode C ABI (OakNodeNode value handle,
oaknode_node_identity registry); undo via oakundo C ABI
- oliveclip textures are OakRenderTexture value handles; oakrender
gains texture/copier/ticket C API additions
- oaknode gains get_input_at_time/set_input_at_time_undoable/
node_identity/sequence_from_node/sequence_set_default_parameters/
find_input_footage
- move avframeptr.h to src/common/src (shared by codec and render)
- node transition pluginSupport stubs bridge the real oakplugin
headers; all oaknode-building standalone trees add src/plugin and
link oakplugin into their test binaries
- plugin tests self-sufficient (ipc shim, OfxHost force_load,
PRE_TEST discovery, OCIO env); timeline standalone gains
render/c_api
- restore ffmpegdecoder.cpp in src/codec/src/ffmpeg/CMakeLists.txt
(dropped in 3d004c081, caused jump-to-0 in decoder/encoder tests)
All six standalone trees green: codec 22, audio 40, task 110,
render 49, timeline 121, plugin 100.
This commit is contained in:
@@ -1,12 +1,3 @@
|
||||
#pragma once
|
||||
// Transitional stub for engine/pluginSupport/olivehost.h (still Qt-based).
|
||||
// Only the surface oaknode uses. M9 replaces this with the real plugin
|
||||
// boundary.
|
||||
#include <string>
|
||||
#include "ofxhImageEffectAPI.h"
|
||||
#include "ofxhPluginCache.h"
|
||||
namespace olive {
|
||||
namespace plugin {
|
||||
inline void load_plugins(const std::string &) {}
|
||||
}
|
||||
}
|
||||
// M9 收尾:桥接到 oakplugin 真身
|
||||
#include "../../../plugin/src/olivehost.h"
|
||||
|
||||
@@ -1,30 +1,3 @@
|
||||
#pragma once
|
||||
// Minimal syntax-check stub for engine/pluginSupport/oliveplugininstance.h
|
||||
// (real header is Qt-based, handled in a later milestone). Not in repo.
|
||||
#include <memory>
|
||||
|
||||
#include "ofxhImageEffect.h"
|
||||
|
||||
namespace olive
|
||||
{
|
||||
namespace plugin
|
||||
{
|
||||
class PluginNode;
|
||||
}
|
||||
|
||||
class OlivePluginInstance : public OFX::Host::ImageEffect::Instance {
|
||||
public:
|
||||
void setNode(std::shared_ptr<plugin::PluginNode> node)
|
||||
{
|
||||
node_ = node;
|
||||
}
|
||||
std::shared_ptr<plugin::PluginNode> node() const
|
||||
{
|
||||
return node_;
|
||||
}
|
||||
|
||||
private:
|
||||
std::shared_ptr<plugin::PluginNode> node_;
|
||||
};
|
||||
|
||||
}
|
||||
// M9 收尾:桥接到 oakplugin 真身
|
||||
#include "../../../plugin/src/oliveplugininstance.h"
|
||||
|
||||
Reference in New Issue
Block a user