feat: Implement OFX plugin support infrastructure
This commit adds comprehensive support for OFX plugins in Olive, including: - Add plugin node infrastructure with getPlugin() method - Implement OliveHost for managing OFX plugin instances - Create OliveInstance to handle plugin parameter and timeline interactions - Add OliveClip implementation for plugin clip handling - Implement region of definition (RoD) and region of interest (RoI) functionality - Add interactive mode support in Current class - Integrate plugin rendering into RenderProcessor - Fix include dependencies and remove unused OlivePlugin.cpp reference
This commit is contained in:
@@ -118,5 +118,28 @@ OFX::Host::ImageEffect::Image *
|
||||
olive::plugin::OliveClipInstance::getImage(OfxTime time,
|
||||
const OfxRectD *optionalBounds)
|
||||
{
|
||||
return &image_;
|
||||
}
|
||||
OfxRectD
|
||||
olive::plugin::OliveClipInstance::getRegionOfDefinition(OfxTime time) const
|
||||
{
|
||||
if (regionOfDefinitions_.contains(time)) {
|
||||
return regionOfDefinitions_[time];
|
||||
}
|
||||
OfxRectD regionOfDefinition;
|
||||
regionOfDefinition.x1=regionOfDefinition.y1=0;
|
||||
regionOfDefinition.x2=params_.width();
|
||||
regionOfDefinition.y2=params_.height();
|
||||
return regionOfDefinition;
|
||||
}
|
||||
void olive::plugin::OliveClipInstance::setRegionOfDefinition(
|
||||
OfxRectD regionOfDefinition, OfxTime time)
|
||||
{
|
||||
regionOfDefinitions_[time] = regionOfDefinition;
|
||||
}
|
||||
|
||||
void olive::plugin::OliveClipInstance::setDefaultRegionOfDefinition(
|
||||
OfxRectD regionOfDefinition)
|
||||
{
|
||||
defaultRegionOfDefinitions_ = regionOfDefinition;
|
||||
}
|
||||
Reference in New Issue
Block a user