VScrollTitle

From Avisynth wiki
Jump to: navigation, search

Hope you find this useful. If you want scrolling 'credits' you'll need to set the start frames

manually for each row of text. Note that these are all centered by default.

   #----------------------------------------------------------------------#
   # VScrollTitle                                                         #
   #----------------------------------------------------------------------#
   # V0.0                                                                 #
   #                                                                      #
   # Insert a subtitle that scrolls from (below) the bottom to (above)    #
   # the top of the frame. The total time for the scroll is given in      #
   # seconds in parameter "Time"                                          #
   #----------------------------------------------------------------------#
   function VScrollTitle( clip    Clop, \
                          int     StartFrame, \
                          string  Title, \
                          string  Font, \
                          int     FontSize, \
                          int     Colour, \
                          int     Time ) {

       ef = StartFrame + int( Time * Clop.FrameRate )
       return Animate( Clop, StartFrame, ef, "subtitle",\
       Title, Clop.width/2, int(Clop.Height*1.2), StartFrame, ef, Font, FontSize, Colour, 0, 5, 0, -1,\
       Title, Clop.width/2,                    0, StartFrame, ef, Font, FontSize, Colour, 0, 5, 0, -1)
   }

Example application. This was written for a 25fps avi - start frames may need to be adjusted for another frame rate, but the scroll time will stay at 5 seconds.

clip = AVISource("blah.avi")
sf = 50
clip = clip.VScrollTitle( sf, "The End", "Uncial", 48, $ffffff, 5 )
clip = clip.VScrollTitle( sf+15, "Directed by", "Arial", 14, $ffffff, 5 )
clip = clip.VScrollTitle( sf+24, "nkotb", "Arial", 24, $ffffff, 5 )
clip = clip.VScrollTitle( sf+40, "Produced by", "Arial", 14, $ffffff, 5 )
clip = clip.VScrollTitle( sf+49, "nkotb", "Arial", 24, $ffffff, 5 )
clip = clip.VScrollTitle( sf+55, "Multi\nline\ntext", "Arial", 24, $ffffff, 5 )
return clip

If you change the font / size the start frames will need tweaking.

Personal tools