TransAll AviSynth Plugin

# TransAll

Author V. C. Mohan
Date Sep 18, 2006
EMail: mohanvc

Donations to : V.C.Mohan,
401 Gulmarg Enclave,
Plot 65 Srinagar Colony,
Hyderabad 500073, India

The transitions plug-in require two clips having equal frame width, height, pitch, color format. and similar Audio formats. The scene will gradually transform from the Left Clip to the Right Clip during the overlap of the clips. Audio of the Left clip fades out while of the Right fades in during transition. (24 bit audio is not accepted).. Brief description of all the 26 functions within this plugin is given in the Synopsis. Around 150 distinct transitions can be created with these functions. In the detailed descriptions typical images seen during transition are depicted.

Place the TransAll.dll in the Avisynth plugin folder (2.5+ version) . A LoadPlugin call will be needed if the plugin is put in any other folder. As there are many functions in this plugin and Avisynth has a limit on autoloading, it may be preferable to keep this plugin in a different folder and invoke loadplugin. All parameters excepting input clips and overlap frames, have default values.

A sample script may look like this :
#LoadPlugIn("C:\............\TransAll.dll")
Left=avisource("C:\...........\xxxxx.avi")
Right=avisource("C:\...........\yyyyy.avi")
#any desired transition call in place of TransSprite below
TransSprite(Left,Right,100,"left")
Copy of my test script to check most of the functions is after synopsis page.

RGB32, RGB24, YUY2 and YV12 formats are supported.

Synopsis of TransAll plugin for Avisynth
TransAccord: Left Clip opens out revealing the Right Clip or the Right Clip closes over the Left Clip in an Accordion Type folding. Single or Twin sections, openjng or closing, vertical or horizontal direction are the options.
TransBubbles:Bubbles of Right Clip randomly move on to Left Clip and lock into position.
TransCentral: Right (second) clip emerges from left clip or left clip disappears into Right clip. While emerging or disappearing the frame is resized to fit and or rotated by desired number of turns clockwise or counterclock wise.
TransCrumple: This function crumples or fanfolds (as one does with paper) Left Clip over the Right Clip thus revealing Right Clip or uncrumples (unfolds) Right Clip over Left Clip thus masking Left Clip.
TransDisco: Right (second) clip emerges over the Left(First)clip or the Left Clip disappears into Right Clip as circular rotating Disks during transition. Radius of discs, Emerge or disappear and number of revolutions and direction of rotation are options.
TransFlipPage: Left (first) clip is flipped either left or right or up or down as viewing in an album revealing Right Clip
TransFlipTurn: Right Clip (the second Clip) emerges flipping vertically and horizontally and rotating while gradually replacing the Left Clip. The number of times to flip horizontally, vertically, number of turns during effect, clock or anticlockwise are other parameters. Vertical and horizontal flips acan be considered as rotations about x and y axis, while turning is around z axis and therefore this is a 3d rotation transition.
TransFunnel: This function funnels out(wraps around a funnel shape) the Left Clip (the First Clip) and reveals the Right(the second) Clip while moving in any of the 4 (up down, left or right) directions.
TransMarbles: Over Left Frame, Right Frame appears as gradually enlarging circulardisks. Magnification in the disks produces the effect of viewing through glass marble. If drop is true the magnification in the discs vary from center to edges, otherwise remain constant through. Radius of discs, magnification and whether drop effect is required can be specified.
TransPaint: This function, from pieces of Right Clip frame, builds a fence or a brick wall or paint with brush strokes or draws rings over left clip and completes the build by the end of transition. May be TransBuild would be a more appropriate name. The style of build can be specified.
TransPeel. Left (first) clip rolls and optionally pulls out revealing Right Clip. The roll is given a center shading if shade is +ve number, or edges shaded more if shade is a -ve number. If shade is zero no shading is done. If pull is true the roll remains stationary and image is pulled into the roll. Otherwise the roll moves in any of the four (east, west, north, south) directions.
TransPush: Right Clip pushes out the Left Clip in any of the four (up down, left or right) direction.
TransRipple: A gradually increasing water ripple covers fully the Left Clip during 1/3 of transition (overlap) length. Thereafter the Right Clip emerges in the center as a growing Ripple fully covering frame by 2/3 of overlap length. This ripple then subsides (withdraws) revealing the Right Clip. The wave length lambda and wave amplitude can be specified.
TransScratch: Right (second) clip gradually is revealed by scratching the left Clip image, in a desired style similar to scratch cards. Falling rain, tv noise, water fountain, laser beams, dust storm, O Rings, horizontal lines, vertical lines and merging are the styles currently available.
TransShuffle: Left (first) clip moves out on top, while Right Clip moves from below in opposite direction halfway, then Right clip moves back to the top position while left clip slides under in opposite direction resembling movement of shuffling of cards. Four directions (up down, left or right) of shuffling are possible.
TransSlantRollIn: Right (second) clip rolls in along diagonals as a carpet over the Left(First)clip, masking it. Roll diameter, style of shading and the direction (up down, left or right) of rolling are the parameters that can be specified.
TransSlantRollOut: Left (first) clip rolls out along the diagonals as a carpet over the Right (second) clip revealing it. Roll diameter, style of shading and the direction (up down, left or right) of rolling are the parameters that can be specified.
TransSlantWipe: Right (second) clip wipes over the Left(First)clip along the diagonal in the direction specified.
TransSlideIn: Right (second) clip slides in over Left Clip. If center is selected then left clip disappears towards the center of Right Clip shrinking in all directions. Any of 8 directions or center can be opted.
TransSlideOut: Left clip slides out in the selected direction revealing Right Clip. If center is opted, then the right clip gradually emerges out from frame center.
TransSprite: Right (second) clip squeezes out left clip thereby appearing like a rotating sprite, exhibiting different faces. Movement can be specified as any of four possible directions.
TransSwing: Right (second) clip swings in or the left clip swings out as doors hinged at corners, thereby fully revealing or assembling the Right Clip. The number of doors can be one (single door attached at the selected corner swings out or in), two (twin doors hinged at opposite corners swing) and four (4 doors each at a corner swing).
TransSwirl: A gradually increasing swirl that covers fully the Left Clip by 1/3 overlap length is created. Thereafter the Right Clip emerges in the center as a growing Swirl fully covering frame by 2/3 overlap length. This Swirl then subsides (withdraws) over the Right Clip thus revealing it. The swirling can be clockwise or anticlockwise. The coarseness of depicting swirl can be specified.
TransTwinDoors: Twin vertical or Horizontal doors made out of Left Frame open or those made out of Right Frame close revealing Right Frame.
TransVenetianBlinds: In this transition vertical or Horizontal slats open (as Venetian blinds do) revealing Right Frame. Instead of linear blinds, checks or diamond pattern can also be opted. Pattern width can also be specified.
TransWeave: Interleaving together thin strips of Right frame over the left frame the transition occurs. The interleaving styles options are horizontal, vertical, jigsaw puzzle and basket weave.
TransWipe: Right Frame wipes away Left Frame in any of the possible four directions.
Script to test most of the functions at one go:-

    Loadplugin call required only if TransAll.dll is not in Avisynth2.5 plugins folder

    #loadPlugin ("E:\........\TransAll.dll")

    colorbars().trim(0,30)

    #convertToRGB24(last)
    convertToRGB32(last)
    #ConvertToYV12(last)
    #ConvertToYUY2(last)
    right = turnleft().turnleft()

    invert()

    T=TransAccord(last,right,-1,"hor",false,false).subtitle("TransAccord",text_color=0,align=5,size=24)
    T=T+TransAccord(last,right,-1,"vert",true,true).subtitle("TransAccord",text_color=0,align=5,size=24)

    T=T+TransCentral(last,Right,-1).subtitle("TransCentral",text_color=0,align=5,size=24)
    T=T+TransCentral(last,Right,-1,false,false,-4).subtitle("TransCentral",text_color=0,align=5,size=24)

    T=T+TransCrumple(last,right,-1,"crumple",true).subtitle("TransCrumple",text_color=0,align=5,size=24)
    T=T+TransCrumple(last,right,-1,"fan",true).subtitle("TransCrumple",text_color=0,align=5,size=24)
    T=T+TransCrumple(last,right,-1,"crumple",false).subtitle("TransCrumple",text_color=0,align=5,size=24)
    T=T+TransCrumple(last,right,-1,"fan",false).subtitle("TransCrumple",text_color=0,align=5,size=24)

    T=T+TransFlipTurn(last,right,-1,0,4,0).subtitle("TransFlipTurn",text_color=0,align=5,size=24)
    T=T+TransFlipTurn(last,right,-1,2,4,4).subtitle("TransFlipTurn",text_color=0,align=5,size=24)

    T=T+TransFlipPage(last,right,-1,"up").subtitle("TransFlipPage",text_color=0,align=5,size=24)
    T=T+TransFlipPage(last,right,-1,"left").subtitle("TransFlipPage",text_color=0,align=5,size=24)

    T=T+TransFunnel(last,right,-1,"right").subtitle("TransFunnel",text_color=0,align=5,size=24)

    T=T+TransMarbles(last,right,-1,60,4,true).subtitle("TransMarbles",text_color=0,align=5,size=24)

    T=T+TransPaint(last,right,-1,"fence").subtitle("TransPaint",text_color=0,align=5,size=24)
    T=T+TransPaint(last,right,-1,"paint").subtitle("TransPaint",text_color=0,align=5,size=24)
    T=T+TransPaint(last,right,-1,"bricks").subtitle("TransPaint",text_color=0,align=5,size=24)

    T=T+TransPeel(last,right,-1,"right",100,shade=-120).subtitle("TransPeel",text_color=0,align=5,size=24)
    T=T+TransPeel(last,right,-1,"up",100,shade=-120,pull=true).subtitle("TransPeel",text_color=0,align=5,size=24)

    T=T+TransRipple(last,right,-1,80,4).subtitle("TransRipple",text_color=0,align=5,size=24)
    T=T+TransSwirl(last,right,-1,"anti",8).subtitle("TransSwirl",text_color=0,align=5,size=24)

    T=T+TransScratch(last,right,-1,"fount").subtitle("TransScratch",text_color=0,align=5,size=24)
    T=T+TransScratch(last,right,-1,"laser").subtitle("TransScratch",text_color=0,align=5,size=24)
    T=T+TransScratch(last,right,-1,"rain").subtitle("TransScratch",text_color=0,align=5,size=24)
    T=T+TransScratch(last,right,-1,"dust").subtitle("TransScratch",text_color=0,align=5,size=24)
    T=T+TransScratch(last,right,-1,"vline").subtitle("TransScratch",text_color=0,align=5,size=24)
    T=T+TransScratch(last,right,-1,"merge").subtitle("TransScratch",text_color=0,align=5,size=24)
    T=T+TransScratch(last,right,-1,"TV").subtitle("TransScratch",text_color=0,align=5,size=24)

    T=T+TransShuffle(last,right,-1,"right").subtitle("TransShuffle",text_color=0,align=5,size=24)

    T=T+TransSlantWipe(last,right,-1,"sw").subtitle("TransSlantwipe",text_color=0,align=5,size=24)
    T=T+TransSlantWipe(last,right,-1,"nw").subtitle("TransSlantwipe",text_color=0,align=5,size=24)

    T=T+TransSlideIn(last,right,-1,"ne").subtitle("TransSlideIn",text_color=0,align=5,size=24)
    T=T+TransSlideIn(last,right,-1).subtitle("TransSlideIn",text_color=0,align=5,size=24)

    T=T+TransSlideOut(last,right,-1,"nw").subtitle("TransSlideOut",text_color=0,align=5,size=24)
    T=T+TransSlideOut(last,right,-1,"center").subtitle("TransSlideOut",text_color=0,align=5,size=24)

    T=T+TransSwing(last,right,-1,true,1,1).subtitle("TransSwing",text_color=0,align=5,size=24)
    T=T+TransSwing(last,right,-1,true,1,2).subtitle("TransSwing",text_color=0,align=5,size=24)
    T=T+TransSwing(last,right,-1,true,1,3).subtitle("TransSwing",text_color=0,align=5,size=24)
    T=T+TransSwing(last,right,-1,true,1,4).subtitle("TransSwing",text_color=0,align=5,size=24)
    T=T+TransSwing(last,right,-1,true,2,1).subtitle("TransSwing",text_color=0,align=5,size=24)
    T=T+TransSwing(last,right,-1,true,2,3).subtitle("TransSwing",text_color=0,align=5,size=24)
    T=T+TransSwing(last,right,-1,true,4,1).subtitle("TransSwing",text_color=0,align=5,size=24)
    T=T+TransSwing(last,right,-1,true,4,2).subtitle("TransSwing",text_color=0,align=5,size=24)
    T=T+TransSwing(last,right,-1,true,4,3).subtitle("TransSwing",text_color=0,align=5,size=24)

    T=T+TransTwinDoors(last,right,-1,false,false).subtitle("TransTwinDoors",text_color=0,align=5,size=24)
    T=T+TransTwinDoors(last,right,-1).subtitle("TransTwinDoors",text_color=0,align=5,size=24)

    T=T+TransVenetianBlinds(last,right,-1,type="hor").subtitle("TransVenetianBlinds",text_color=0,align=5,size=24)
    T=T+TransVenetianBlinds(last,right,-1, type = "vert").subtitle("TransVenetianBlinds",text_color=0,align=5,size=24)
    T=T+TransVenetianBlinds(last,right,-1, type = "diam").subtitle("TransVenetianBlinds",text_color=0,align=5,size=24)
    T=T+TransVenetianBlinds(last,right,-1, type ="cheq").subtitle("TransVenetianBlinds",text_color=0,align=5,size=24)

    T=T+TransWeave(right,last,-1,"weave").subtitle("TransWeave",text_color=0,align=5,size=24)
    T=T+TransWeave(right,last,-1,"vert").subtitle("TransWeave",text_color=0,align=5,size=24)
    T=T+TransWeave(right,last,-1,"hor").subtitle("TransWeave",text_color=0,align=5,size=24)
    T=T+TransWeave(right,last,-1,"jigsaw").subtitle("TransWeave",text_color=0,align=5,size=24)

    T=T+TransWipe(last,right,-1,"down").subtitle("TransWipe",text_color=0,align=5,size=24)

    T=T+TransSlantRollIn(right,last,-1,"sw", 120).subtitle("TransSlantRollIn",text_color=0,align=5,size=24)

    T=T+TransSlantRollOut(last,right,-1,"nw", 120).subtitle("TransSlantRollOut",text_color=0,align=5,size=24)

    T=T+TransDoor(last,right,-1,true,false).subtitle("TransDoor",text_color=0,align=5,size=24)

    T=T+TransSprite(last,right,-1,"right").subtitle("TransSprite",text_color=0,align=5,size=24)
    T=T+TransSprite(last,right,-1,"up").subtitle("TransSprite",text_color=0,align=5,size=24)

    T=T+TransDisco(last,right,-1,40,6,false).subtitle("TransDisco",text_color=0,align=5,size=24)

    T=T+TransBubbles(last,right,-1,false).subtitle("TransBubbles",text_color=0,align=5,size=24)

    T+TransPush(last,right,-1).subtitle("TransPush",text_color=0,align=5,size=24)

To my index page | down load plugin | To Avisynth