[WIP]VSE: Allow playback of multiple framerates
WARNING: Need to update FFmpeg tests
Store playback rate in `Sequence` and use it to calculate length
and to convert timeline frame to frame index.
Playback rate is stored as absolute value which allows easy update on
framechange. This means that scene framerate has to be available, so
a lot of functions had to be supplied with pointer to scene.
With relative value, scene frame rate properties would need `_set`
accessor function that would first go over all strips to update
framerate value, then scene framerate and finally update strip offsets.
There is also risk of precision loss for playback rate when doing these
I am undecided whether to keep this property for users to utilize for
other purposes (it could possibly replace speed effect). See for
, which is attempt for more advanced version of this
Right now property is exposed in time panel (it's badly aligned...)
It has no effect on effect strips, only movie, image, scene and similar strips.
Problem with speed effect is, that it is more difficult to work with
because whole effect chain has to be cut and time related issues and
inconsistencies do require special treatment.
On the other hand this approach does not work well with animation -
retiming strip won' t move keyframes.
So either this feature will work only for movie (and scene) strips
and will be hidden under the hood
Or it could replace speed effect completely.
Perhaps it would be better to first make this feature invisible and catch bugs, because I am quite sure there will be some.
Differential Revision: https://developer.blender.org/D10807