-
Notifications
You must be signed in to change notification settings - Fork 139
Description
Open Effects Proposal for Standard Change
Please read the contribution guidelines first.
Standard Change Workflow
- Create proposal as issue (you're doing this now!)
- Tag this issue with
standard changetag - Identify subcommittee: at least one plug-in vendor, and at least one host
- Discuss the idea in this issue
- Write new or updated code and doc
- Publish updates as a pull request (ideally on a
feature/PROPOSAL-NAMEbranch)- Make sure that PR references this issue number to keep them in sync
- Discuss and review code in the PR
- Meet all requirements below for accepting PR
- When subcommittee signs off and other members don't have any further review comments,
maintainer merges PR to master which closes PR and issue
Requirements for accepting a standard change:
- Header files updated
- Documentation updated
- Release notes added
- Compatibility review completed
- Working code demonstrated with at least one host and one plugin
- At least two members sign off
- No further changes requested from membership
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:
kOfxPropAkawill allow plug-ins to list alternative names by which any named object could be known. AkOfxPropAka2Dproperty covers multidimensional parameters. - The conform action:
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.
Metadata
Metadata
Assignees
Labels
Type
Projects
Status