In regards to this, I was thinking of proposing:
modify the right click on keyframe menu to show:
left of keyframe is a jump...
left of keyframe is a linear slope...
left of keyframe is a beizer slope...
right of keyframe is fixed...
right of keyframe is a linear...
right is a beizer...
but then, I figured it would be really cool if we could be comply with
the inkscape way of beizer management. (i.e. selecting keyframes, and
then setting them to be corner points, or smooth using a button on a
toolbar / floating toolbar) This would involve adding a "selected" and
also having a "showbeizerhandles" property for each auto that allows the
display of angle and strength control of the beizer etc...
Anyhow, in thinking about this idea, I played around, and managed to add
some code that adds the property, "selected" to each auto, and some code to
trackcanvas that toggles this state when right clicking the auto. I
then starting to play around with actually drawing circles for those
auto's that are selected, and boxes for those that aren't. When doing
this, I noticed that the function, TrackCanvas::draw_floatauto has some
code that actually draws three boxes: one at the center of the auto,
one at the "in" position, one at the "out" position, along with lines
joining the centers of each of these boxes.
Mostly I believe the in, out and center positions are all the same. Has
anyone seen any situation where there are three positions are different
and visually seen three boxes for 1 auto??
I commented the "in" & "out" box drawing code, and it didn't seem to
make much difference to how cinelerra showed the autos, and let me show
the selected and un-selected auto's, but I would love to know if the in,
and out values of the auto's are ever used.
I traced the in and out values of each auto to the parameter,
control_{in,out}_value, and in XML, "CONTROL_{IN,OUT}_VALUE"
Doing:
grep control_in_value * -r
in the cinelerra directory doesn't bring up many occurence of useful
changed to the control_in_value, so I am wondering if this is an feature
is some redundant old bit of code??
Also, examining my xml files, (which don't do that much) the
CONTROL_{IN,OUT}_VALUES properties seem mostly zero...
Does anyone with knowledge of the source know about this stuff, and
could offer a comment??
I am purely playing around, (and should be writing up...) so please
don't expect anything too soon...
Cheers,
Pierre
Jonathan Woithe wrote:
Hi Nicolas
I use keyframes and the compositor window to create a vertical scrolling
(end credits) from a still picture. However, the scrolling speed isn't
constant. I assume that's due to the fact that interpolations between
keyframes are made with a bezier curve.
You are correct; the bezier curves used are forced to have zero slope
at every keyframe. This means you get "smooth" starting. While this
can be good in certain circumstances it is a pain for others such as the
credit example you mention. At times you do want keyframe interpolation
to use something else which produces constant speed between keyframes.
Is there a way to use a linear interpolation instead of the bezier
curve? That way I would be able to scroll my end credit picture at a
constant speed, wouldn't I ?
With linear interpolation the speed would be constant, yes.
This is actually an aspect to Cinelerra which I noticed with annoyance about
18 months ago for the same reasons as you - I was scrolling credits and
noticed they were *much* slower at the start and end than in the middle. It
is most irritating. Unfortunately cinelerra (both vanilla and CVS/SVN) do
not have alternative curves available (at least not when I last checked
CVS/SVN about a year ago). I would offer to look into this myself but I am
currently far too busy with other FOSS projects and life in general.
The workaround I came up with at the time is a bit fiddly but with patience
you can get reasonable results. I arranged things so that the approximately
linear portion of the bezier curve (ie: the bit in the middle) corresponded
with the part of the timeline where the credits were to scroll. For my
project this meant starting the scroll about 30 seconds before the credits
and ending it 30 seconds after the credits. The starting and ending Y
values were adjusted so that the credit graphic just became visible and just
finished at the appropriate points in the timeline. This last requirement
is where things get a bit fiddly - it's pretty much a trial-and-error thing.
Assuming the credits are at the end of the movive, an unfortunate
consequence of this is that your final rendered movie has a blank, silent
portion tacked onto the end which lasts lasts for 30 seconds (or whatever
runout time you needed for the curve in your particular project). To avoid
this blank silent stuff at the end of the render the easiest thing to do is
to select from 0:00:00.000 to the point where the credits/movie material
ends and then choose File|Render. To select such a long timespan accurately
I find it best to type the times into the selection span boxes under the
timeline.
I hope this helps.
Regards
jonathan
_______________________________________________
Cinelerra mailing list
[email protected]
https://init.linpro.no/mailman/skolelinux.no/listinfo/cinelerra
_______________________________________________
Cinelerra mailing list
[email protected]
https://init.linpro.no/mailman/skolelinux.no/listinfo/cinelerra