Open Effects Proposal for Standard Change
Please read the contribution guidelines first.
Standard Change Workflow
Requirements for accepting a standard change:
Summary
Users want to move a project from a foreign (non-OpenFX) host to an OpenFX host. This proposal includes APIs to facilitate the process.
Motivation
Most shows have a two-stage editorial pipeline. A variety of names are used for these stages, but I will use the terms offline, where creative editorial decisions are made, and online, which includes colour grading, final VFX and other finishing tasks. The process of transferring projects from offline to online is conform, i.e. conforming.
Conform is facilitated using an EDL (edit decision list) file, which is exported from the offline host and imported into the online host. The dominant format is AAF, although OpenTimelineIO starting to become more popular. The EDL format used isn't important for this proposal, as long as it contains complete information about effects used in the offline.
This process often discards effects for a variety of technical reasons, and many users have requested we improve this situation so effects flow through the conform process as seamlessly as possible.
Problem
Conforming between foreign hosts (mainly Avid Media Composer and Adobe Premiere) and OpenFX hosts is difficult. Although many plug-ins are available for both OpenFX and foreign APIs, effects and parameters might have different names, and parameter values might have different semantics (e.g. scaling). Hosts do not have the information to conform effects as this is proprietary to plug-in vendors and there is no standard way to communicate it.
Impact
This will be an optional feature delivered using one or more new actions and properties. If plug-ins don't implement these, their effects won't be conformed.
Documentation Impact
Usual documentation changes will be needed for the new APIs
Stakeholders
Both hosts and plug-ins will benefit from this change.
Discussion
There are two parts to this proposal:
- Alternative naming:
kOfxPropAka will allow plug-ins to list alternative names by which any named object could be known. A kOfxPropAka2D property covers multidimensional parameters.
- The conform action:
kOfxActionConform will allow plug-ins to update their parameter values and keyframes based on information passed from the host. Prior to invoking this action, hosts will set parameter values to the best of their ability, and the plug-in will examine these and update them based on internal knowledge about where they came from.
To support point 2, plug-ins will most likely need to modify their foreign implementations to store additional information in hidden parameters. This might be as simple as a host/version identifier or as complex as an opaque blob of their entire parameter set.
One concern is parameter interpolation, which is addressed by #116. Meaningful progress can be made without this, because hosts can already make a best effort to match the interpolation type during conform.
Open Effects Proposal for Standard Change
Please read the contribution guidelines first.
Standard Change Workflow
standard changetagfeature/PROPOSAL-NAMEbranch)maintainer merges PR to master which closes PR and issue
Requirements for accepting a standard change:
Summary
Users want to move a project from a foreign (non-OpenFX) host to an OpenFX host. This proposal includes APIs to facilitate the process.
Motivation
Most shows have a two-stage editorial pipeline. A variety of names are used for these stages, but I will use the terms offline, where creative editorial decisions are made, and online, which includes colour grading, final VFX and other finishing tasks. The process of transferring projects from offline to online is conform, i.e. conforming.
Conform is facilitated using an EDL (edit decision list) file, which is exported from the offline host and imported into the online host. The dominant format is AAF, although OpenTimelineIO starting to become more popular. The EDL format used isn't important for this proposal, as long as it contains complete information about effects used in the offline.
This process often discards effects for a variety of technical reasons, and many users have requested we improve this situation so effects flow through the conform process as seamlessly as possible.
Problem
Conforming between foreign hosts (mainly Avid Media Composer and Adobe Premiere) and OpenFX hosts is difficult. Although many plug-ins are available for both OpenFX and foreign APIs, effects and parameters might have different names, and parameter values might have different semantics (e.g. scaling). Hosts do not have the information to conform effects as this is proprietary to plug-in vendors and there is no standard way to communicate it.
Impact
This will be an optional feature delivered using one or more new actions and properties. If plug-ins don't implement these, their effects won't be conformed.
Documentation Impact
Usual documentation changes will be needed for the new APIs
Stakeholders
Both hosts and plug-ins will benefit from this change.
Discussion
There are two parts to this proposal:
kOfxPropAkawill allow plug-ins to list alternative names by which any named object could be known. AkOfxPropAka2Dproperty covers multidimensional parameters.kOfxActionConformwill allow plug-ins to update their parameter values and keyframes based on information passed from the host. Prior to invoking this action, hosts will set parameter values to the best of their ability, and the plug-in will examine these and update them based on internal knowledge about where they came from.To support point 2, plug-ins will most likely need to modify their foreign implementations to store additional information in hidden parameters. This might be as simple as a host/version identifier or as complex as an opaque blob of their entire parameter set.
One concern is parameter interpolation, which is addressed by #116. Meaningful progress can be made without this, because hosts can already make a best effort to match the interpolation type during conform.