[Kdenlive-devel] transitions

Rolf Dubitzky Dubitzky at physi.uni-heidelberg.de
Mon Mar 29 08:14:49 UTC 2004


Hi,

I am trying to fix the alphablend transition and make it work again in the 
current scheme. One thing that needs to be change is the way piave handles 
inconsistent settup of the rendertree.
    The ideal setup of a <par> node with two inputs tracks and a video effect 
is:

Case A)
  Time:        0                              10
  Track A:     ********************
  Track B:                  ********************
  V Effect:                 *******
  A Effect:                 *******


However, in the current alphablend example, the <videoeffect> has a "begin"
and also a "dur" attribute, i.e. it is possible to create something like:

Case B)
  Time:        0                              10
  Track A:     ********************
  Track B:                  ********************
  Effect:                ******
                            ^^^

In the example above, the effect is not alligned in time and also not alligned 
in length with the timeinterval in which the two tracks overlap.

In the first design, piave tried to be smart about these kinds of errors since 
I wanted to have the setup as simple as possible. E.g. in case a binary 
operator (like a transition) did not overlap in time with the interval the 
two trackswhere overlapping, it would adjust the effect accordingly. Another 
case is this:

Case C)
  Time:        0                              10
  Track A:     ***************
  Track B:                        **************
  Effect:                ****

piave would not allow to have a gap with no coverage in binary opperation.

I want to change this behavior in piave and make piave much more ignorant 
about the meaning/sense of the input.

-  In case of gaps. display the "emptyFrame" which is defined in the top of 
   the renderframe and is (not yet) configurable in veml.

-  In case B) piave will render the effect in the interval marked with ^^^
   BUT with a local time wich is relative to the _complete_ length of the
   effect, i.e. let's say the effect is an alphawipe with parameter 
   "amplitude" animated from 0 - 1, the effect would start at about 0.5 and be 
   rendered up to 1.0.   For the time where both tracks are defined, but
   no operation, track A will be displayed.

       I think it makes more sense if kdenlive get's exactly the output is is 
asking for, not something where piave tried to be too smart and apply 
assumptions that may be wrong.
       In my opinion, the only alternative would be to remove the "begin" and
"dur" attributes from the <videoeffect> tag and implicitely assume case A). 
But that would mean to loose some flexibility, however it would also decrease 
traffic of communication which is a good thing.

What do people think?   Implicitely assume case A) ?  Make piave just render 
what it is told and not think about it?  Other suggestions?

Cheers, Rolf


-- 
contacts: http://www.physi.uni-heidelberg.de/~dubitzky




More information about the Kdenlive mailing list