Bug 358052

Summary: Feature Request - Add Opacity Control for Blend Modes
Product: [Applications] kdenlive Reporter: bryanworsley
Component: Video Effects & TransitionsAssignee: Vincent PINON <vpinon>
Status: RESOLVED FIXED    
Severity: wishlist CC: jb, wegwerf-1-2-3
Priority: NOR    
Version: unspecified   
Target Milestone: ---   
Platform: Kubuntu   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:

Description bryanworsley 2016-01-16 03:55:59 UTC
Layered Blend or Mixing Modes are valuable tools in video grading for creating stylized looks and applying textured overlays. KDenLive 15.12.0 offers a comprehensive range of Blend Modes, listed as Transition Effects. Although transitions can be stretched over an entire clip and used with blend modes between two stacked clips, there is no direct way to control the opacity of the blend operation. The only way this can be achieved is by creating a three-layer "sandwich" using a "composite" layer to control the opacity of the blend operation above it. This is very cumbersome especially when it is necessary to apply more than one blend to achieve the desired effect.

The need for direct opacity control of the Blend Modes has been addressed several times on the KDenLive Forum:

https://forum.kde.org/viewtopic.php?f=270&t=116876

Accordingly, it is requested that direct opacity control be incorporated for the all of the currently listed blend modes, namely Addition, Burn, Color-Only, Darken, Difference, Dissolve, Divide, Dodge, Grain Extract, Grain Merge, Hardlight, Hue, Lighten, Multiply, Overlay, Saturation Screen, Softlight, Subtract and Value.

Thanks.   

Reproducible: Always
Comment 1 Jean-Baptiste Mardelle 2016-01-17 01:24:19 UTC
Git commit c17a542400ea6fd5722ff49780527bcbca1f3ce6 by Jean-Baptiste Mardelle.
Committed on 17/01/2016 at 01:23.
Pushed by mardelle into branch 'master'.

Add blend modes to frei0r.cairoblend transition, allowing to add blending with adjustable opacity

M  +1    -0    data/CMakeLists.txt
M  +1    -0    data/blacklisted_transitions.txt
A  +5    -0    data/transitions/CMakeLists.txt
A  +13   -0    data/transitions/frei0r_cairoblend.xml
M  +127  -6    src/effectslist/initeffects.cpp
M  +2    -1    src/effectslist/initeffects.h
M  +3    -3    src/effectstack/effectstackedit.cpp
M  +1    -1    src/effectstack/parametercontainer.cpp
M  +1    -1    src/timeline/timeline.cpp
M  +0    -1    src/timeline/transition.cpp
M  +5    -2    src/timeline/transitionhandler.cpp

http://commits.kde.org/kdenlive/c17a542400ea6fd5722ff49780527bcbca1f3ce6
Comment 2 Wegwerf 2016-01-17 15:45:09 UTC
Great, many thanks!

Now if only we could do the same to effects... ;)
Comment 3 Wegwerf 2016-01-17 17:31:22 UTC
It the opacity parameter keyframable? If yes, could we please get keyframes too? :)
Comment 4 Wegwerf 2016-01-17 18:44:36 UTC
jbm, you're my hero! Just recompiled Kdenlive and tried it on my recent project. Works like a charm and now gives me a good way to gradually blend in and out a separately rendered video clip (without alpha) into the main bright scene. Very sweet.

Is there are chance to make keyframe editing switchable between the timeline format and the table format, regardless of working on a transition or an effect? This would even more so unify the user interface for newcomers to Kdenlive. But ... just an idea.
Comment 5 Jean-Baptiste Mardelle 2016-01-18 11:04:02 UTC
About keyframes, yes I want to review the UI so that we have a common interface to adjust keyframes in timeline and in effect stack.
Vincent and I planned to merge the GSoC 2015 support for curves in keyframes on our end of the month coding sprint, and I think if we have time, it will be a good opportunity to review the whole keyframes GUI. If you have ideas about improving the keyframes UI, feedback is welcome.
Comment 6 Wegwerf 2016-01-18 20:33:16 UTC
One thing I need often is making some keyframes relative to the end. Since I run into ao many issues with resizing transitions or effects with keyframes as part of my workflow, Im currently splitting effects and transitions with ram-up and ramp-down into two separate parts. First ramp-up with no end keyframe. Second, only ramp-down. When resizing a clip I first move the ramp down, otherwise it will be resized with the clip which is wrong. Then I resize the clip. Then I resize the ram-up. With end-related keyframes the ramp-down keyframes could be automatically moved correctly.

Another thing I often bump into: for longer transitions the scale becomes unusable: I regularly have keyframes spaced apart 12 or 25 frames. With a total length of twenty seconds or two minutes for a static overlay with fade in and out, I cannot correctly manipulate the keyframes anymore.