Fixed: fixed black screen when pulling playhead back.

This commit is contained in:
2026-05-21 16:29:39 +08:00
parent 2a84027ff9
commit a0abf9cfb0
10 changed files with 1980 additions and 59 deletions
+17 -20
View File
@@ -18,7 +18,7 @@
#ifndef OLIVE_HOST_H
#define OLIVE_HOST_H
#include "node/plugins/Plugin.h"
#include "ofxhHost.h"
#include "ofxhHost.h"
#include "ofxhImageEffectAPI.h"
#include "ofxCore.h"
#include "ofxhImageEffect.h"
@@ -31,28 +31,25 @@
#include <list>
#include <memory>
#include <qlist.h>
namespace olive {
namespace plugin {
enum class HostMessageType{
Error,
Warning,
Message
};
struct HostPersistentMessage{
namespace olive
{
namespace plugin
{
enum class HostMessageType { Error, Warning, Message };
struct HostPersistentMessage {
HostMessageType type;
QString message;
};
void loadPlugins(QString path);
class OliveHost: public OFX::Host::ImageEffect::Host{
class OliveHost : public OFX::Host::ImageEffect::Host {
public:
OliveHost()=default;
OliveHost() = default;
~OliveHost() override;
void destroyInstance(OFX::Host::ImageEffect::Instance *instance);
bool pluginSupported(OFX::Host::ImageEffect::ImageEffectPlugin *plugin,
std::string &reason) const override
std::string &reason) const override
{
if (!plugin) {
reason = "null plugin";
@@ -65,14 +62,14 @@ public:
return true;
};
OFX::Host::ImageEffect::Instance* newInstance(void *clientData,
OFX::Host::ImageEffect::ImageEffectPlugin* plugin,
OFX::Host::ImageEffect::Descriptor& desc,
const std::string& context) override;
OFX::Host::ImageEffect::Instance *
newInstance(void *clientData,
OFX::Host::ImageEffect::ImageEffectPlugin *plugin,
OFX::Host::ImageEffect::Descriptor &desc,
const std::string &context) override;
std::shared_ptr<OFX::Host::ImageEffect::Descriptor> makeDescriptor(
OFX::Host::ImageEffect::ImageEffectPlugin* plugin) override;
std::shared_ptr<OFX::Host::ImageEffect::Descriptor>
makeDescriptor(OFX::Host::ImageEffect::ImageEffectPlugin *plugin) override;
std::shared_ptr<OFX::Host::ImageEffect::Descriptor>
makeDescriptor(const OFX::Host::ImageEffect::Descriptor &rootContext,