OpenMediaLib User and Development Guide

Interpolation

As has been shown in the previous section, key frame interpolation can be carried out via callbacks, but, at least in the Python domain, this is restrictive – we lose the ability to thread the graph and it's labour intensive inasmuch as it requires Python or C++ code to be introduced. Further to that, the application itself becomes intrinsic to the playout of the graph which restricts reuse.

The OML graph structure provides an alternative to this via 'interpolation filters' and frame properties.

An example of use is as follows:

colour: 
<input> 
filter:lerp @@rx=0.0:1.0 @@ry=1.0:0.0 
filter:composite slot=1 @rx=@@rx @ry=@@ry

Each frame object has a property container – properties can be assigned to this container and picked up by a downstream node. The '@@' prefix is used to identify frame properties and a single '@' prefix is used to identify node properties.