rling
15th April 2004, 07:54
Dissolve() has a "feature" that the last frame in clip1 does not contribute to the output clip. The first frame in clip2 does, though.
Without looking at the source, I would guess that the mixing factors are calculated in such a way that, for the last frame in the overlap range, clip1 contributes 0% and clip2 contributes 100%.
If I didn't know better I'd swear this "feature" was a "bug".
Consider a Dissolve with an overlap of 1 - the result is the same as a Splice, with the exception that the last frame of clip1 simply disappears. This can be verified using ShowFrameNumber().
Accordingly I have the following function in many of my scripts:
function Dissolve2(clip clip1, clip clip2, int overlap)
{
return Dissolve(clip1 + BlankClip(clip1, 1), clip2, overlap + 1)
}
rling
Without looking at the source, I would guess that the mixing factors are calculated in such a way that, for the last frame in the overlap range, clip1 contributes 0% and clip2 contributes 100%.
If I didn't know better I'd swear this "feature" was a "bug".
Consider a Dissolve with an overlap of 1 - the result is the same as a Splice, with the exception that the last frame of clip1 simply disappears. This can be verified using ShowFrameNumber().
Accordingly I have the following function in many of my scripts:
function Dissolve2(clip clip1, clip clip2, int overlap)
{
return Dissolve(clip1 + BlankClip(clip1, 1), clip2, overlap + 1)
}
rling