Add push button support for OFX plugins

This commit adds support for push buttons in OFX plugins by:

- Adding `kPushButton` to `NodeValue` enum
- Implementing `pushButtonClicked` slot in `PluginNode`
- Creating `NodeParamButton` widget for UI representation
- Updating `paraminstance.h` to handle push button instances
- Modifying `nodeparamviewwidgetbridge.cpp` to connect push button signals
This commit is contained in:
2025-11-10 13:57:04 +08:00
parent 8a7b6cf869
commit 5aaa49c515
10 changed files with 188 additions and 66 deletions
+3 -4
View File
@@ -23,21 +23,20 @@
#include "pluginSupport/OlivePluginInstance.h"
#include <any>
#include <OpenImageIO/detail/fmt/chrono.h>
namespace olive {
namespace plugin {
class PluginJob :public AcceleratedJob{
public:
explicit PluginJob(std::shared_ptr<OlivePluginInstance> pluginInstance, NodeValueRow row): AcceleratedJob()
explicit PluginJob(OFX::Host::ImageEffect::ImageEffectPlugin* pluginInstance, NodeValueRow row): AcceleratedJob()
{
this->pluginInstance = pluginInstance;
}
private:
std::shared_ptr<OlivePluginInstance> pluginInstance;
OFX::Host::ImageEffect::ImageEffectPlugin *pluginInstance=nullptr;
QHash<OfxTime, QHash<QString, std::any>> paramsOnTime;