## Animate / ApplyRange

`Animate` (clip, int start_frame, int end_frame, string filtername, start_args, end_args)
`ApplyRange` (clip, int start_frame, int end_frame, string filtername, args)

`Animate` `é um meta-filtro que avalia seu` filter `de parâmetro com argumentos que variam continuamente.` No quadro start_frame e mais novo, filter`` é avaliado com os argumentos dados por start_args. No quadro end_frame e seguinte, filter é avaliado com os argumentos dados por end_args. No meio, os argumentos são interpolados linearmente para uma transição suave.

`ApplyRange é um caso especial de Animate onde start_args = end_args, e presente na v2.51.` Pode ser usado quando você quiser aplicar um certo filtro em certa faixa de quadros de um clipe. Outra diferença com `Animate` é que args não pode conter um clipe. A partir da v2.53 suporta áudio e start_frame pode ser igual a end_frame (tal que só um quadro é processado).

O filtro deve ser incluído entre aspas (é uma string) e as duas listas de argumentos aninhadas não estão entre parênteses. Strings e clipes vídeos não podem ser interpolados e então devem ser idênticos nas duas listas de argumentos. Você não pode usar anotação OOP ou o implícito `last` com este filtro, mesmo que o filtro no argumento filtername regularmente os permite.

Este filtro não controlará corretamente uma trilha sonora variável, assim eu não recomendo seu uso com filtros que modificam a trilha sonora. E pelo amor de Deus, não faça os parâmetros iniciais e finais renderem uma saída de tamanho de quadro diferente.

O argumento filtername pode ser até mesmo `Animate` se você quiser ao quadrado em lugar da interpolação linear, mas não vou pensar muito nisso porque minha cabeça pode explodir.

    # Faça uma versão enrolando o vídeo de "Versão":
    ver = Version()
    return Animate(0,149,"Crop", ver,0,0,64,32, ver,316,0,64,32)

    # ou o que é o mesmo:
    ver = Version()
    return Animate(ver,0,149,"Crop", 0,0,64,32, 316,0,64,32)

    # Desvaneça ao branco
    AviSource("E:\pdwork\DO-Heaven.AVI")
    Animate(100,200,"Levels", 0,1,255,0,255, 0,1,255,255,255)

    # Faça um zoom gradual no centro de um vídeo 320x240, começando em
    # 1:1 ampliação no quadro 100 e terminando com ampliação 4:1
    # no quadro 200
    clip = AviSource("E:\pdwork\DO-Heaven.AVI")
    Animate(100,200,"BicubicResize",clip,320,240,0,0,320,240, clip,320,240,120,90,80,60)

    # Faça o texto " Alô, Mundo "! desfaça o zoom do centro de um vídeo 320x240
    Animate(0,48,"Subtitle", last,"Alô, Mundo!",160,120,0,99999,"Arial",0,
      \  last,"Alô, Mundo!",25,130,0,99999,"Arial",48)

    ver = Version()
    return ver.ApplyRange(0,149,"Crop", 158,0,64,32)

    AviSource("E:\pdwork\DO-Heaven.AVI").BicubicResize(320,240)
    ApplyRange(0,48,"Subtitle", "Alô, Mundo!",25,130,0,99999,"Arial",48)

    # ou o que é o mesmo:
    clip = AviSource("E:\pdwork\DO-Heaven.AVI").BicubicResize(320,240)
    ApplyRange(clip, 0,48,"Subtitle", "Alô, Mundo!",25,130,0,99999,"Arial",48)

`$Date: 2006/03/26 18:11:19 $ Portuguese translation by RoLon`