Here are two operators for the VSE that add, update fades, or clear fade animation on all selected sequences. This is a replacement for https://developer.blender.org/D5152, which is based on an old VSE add-on.
This fades add operator does a little more than the other diff: it tries to preserve the user's blend_alpha or volume animation, only clearing existing keyframes that are in the way of the fade. Right now, it also uses the existing animation's maximum value or, if there's no existing animation, the current volume or blend_alpha value as the max_value to fade to.
I've tried to write clean code. There are no guidelines for Python except for following PEP8 formatting so please tell me if I should change anything. For instance, is it okay to use methods like I do in the operator? I use this to make the execute method self-documenting.
Adds or updates a fade animation for either visual or audio strips. Fade options: - In, Out, In and Out create a fade animation of the given duration from the start of the sequence, to the end of the sequence, or on boths sides - From playhead: the fade animation goes from the start of sequences under the playhead to the playhead - To playhead: the fade animation goes from the playhead to the end of sequences under the playhead By default, the duration of the fade is 1 second.
Removes fade animation from selected sequences. Removes opacity or volume animation on selected sequences and resets the property to a value of 1.0. Works on all types of sequences.
It's my first contribution to Blender, please tell me if I messed up with something or if I can improve anything in general.