View Full Version : Transition plugin development
vcmohan
20th September 2003, 04:24
Having plugins for some simple transitions and effects will be very useful. Are there any plugins already for the following? If not will any one consider making these?
1. Rotate(clip,Int degrees, fill color) # Now only left or right by 90 degrees is possible.
2. Wipe(clip1,clip2,oval,a,b,number of frames)
The clip2 starting as a spec centered on clip1 to increase in size to full in the number of frames in the shape of a oval with ellipsity of a/b.
3. Wipe(clip1,clip2,rectangle,a,b,number of frames)
Similar to oval above. This effect is possible to derive now with a very tedious and error prone coding of Avisynth core.
4. Wipe clip1,clip2, with an angular wedge moving right, left,up or down.
stickboy
20th September 2003, 10:26
Originally posted by vcmohan
4. Wipe clip1,clip2, with an angular wedge moving right, left,up or down.I've written a user-defined Wipe function. It's pretty basic; it wipe only in the left/right/up/down directions (no angular wedge, sorry).
See this thread: Transition effect filter (http://forum.doom9.org/showthread.php?s=&threadid=58690).
Wilbert
21st September 2003, 11:43
There is a rotate plugin (arbitrary angles). I'm sure you can find it if you start searching ...
WarpEnterprises
21st September 2003, 23:22
Zoom (together with Layer) will do all you mentioned (I think Wilbert refers to it).
Maybe the usage of Zoom is a little to complicated.
Basically it was the first "ScriptClip"-like filter, that evaluates the arguments each frame.
Together with Spline (now built-in) it is quite compact to get those things.
What is really missing is a Warping tool (to transform a rectangle into a circle,...)
Here are two examples:
A=BlankClip(color=$008000, height=288, width=352).Subtitle("AAA",size=170)
B=BlankClip(color=$007070, height=288, width=352).Subtitle("BBB",size=170, text_color=$FF0000)
CircleFadeMask = BlankClip(A, color=$000000).FadeIn(50).Subtitle("Ÿ", x=-30,y=470,size=1000, text_color=$FFFFFF, font="wingdings") #a simple way to get a circle, fade it in
CircleFadeMask = CircleFadeMask.zoom(factor="spline(n, 0,0, 50,1.8, 51,1.8, false)") #zoom the circle
B=Mask(B,CircleFadeMask) #make a mask out of the circle
Layer(A,B,"add", 255) #combine both scripts
return last
A=BlankClip(color=$008000, height=288, width=352).Subtitle("AAA",size=170)
B=BlankClip(color=$007070, height=288, width=352).Subtitle("BBB",size=170, text_color=$FF0000)
FadeMask = BlankClip(A, color=$FFFFFF).FadeIn(50) #create a fade-in mask
B=B.zoom(factor="spline(n, 0,0, 50,1, 51,1, false)", angle="spline(n, 0,360, 50,0., 51,0, false)") #rotate the second clip
B=Mask(B,FadeMask) #put the fade-in mask onto it
Layer(A,B,"add", 255) #combine both scripts
return last
You can copy/paste both examples as they are.
"n" is a variable generated at run-time by Zoom to get the frame number.
Spline (it is documented in "syntax.html") is a short way to type in smoothly changing values for many frames.
The last argument makes the result linear (when false) or cubic - most often linear will do better as it does not overswing.
If you want to zoom from 0 to 1 and stay at 1 you must give third argument as you can see above (or the factor will continue to rise).
I just saw that there is a rounding error in Zoom when rotating, 360 deg are not really 0 deg - so better you rotate from 360 to 0 and stay at 0.
WarpEnterprises
21st September 2003, 23:27
As I mentioned above there is no way to warp / bend an image.
Although code would be available on the www I have no idea how to make the arguments to such a function.
It would be easy with a GUI but not if you have to write each grid coordinate or the like.
Any ideas around?
stickboy
22nd September 2003, 01:03
Originally posted by WarpEnterprises
Although code would be available on the www I have no idea how to make the arguments to such a function.Hm... What if it took two functions as arguments: one would map x-coordinates of the input image to x-coordinates on the output image, and the other could do the same with y-coordinates?
vcmohan
22nd September 2003, 04:10
Thanks a lot.
hanfrunz
22nd September 2003, 22:35
Hello everyone,
maybe it would be interesting to code a smpte-wipe-pattern filter. So we could use all the wipe-pattern, which prof. visiomixers use (like Sony DVS-2000 etc.) and all the standard setting like border, direction, blur... i found an interesting link:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/directx9_c/directx/htm/smptewipetransition.asp
i'd like to help develop such a filter, but my c++ skills are not that good :), but i know the prof. equipment very well!
hanfrunz
vBulletin® v3.8.5, Copyright ©2000-2012, Jelsoft Enterprises Ltd.