ConditionalReader

ConditionalReader (clip, string filename, string variablename, bool "show")

ConditionalReader permite importar informação de um arquivo de texto, com valores diferentes para cada quadro - ou uma gama de quadros.

Parâmetros

Parâmetro Descrição Padrão
clip O clipe que entra. Não é tocado, a menos que você especifique show=true. Não opcional
filename O arquivo com as variáveis para você fixar. Não opcional
variablename O nome da variável com a informação inserida. Não opcional
show Quando fixado em true, o valor dado a este quadro será sopreposto na imagem. false

Formato do arquivo

O arquivo é puro texto. Toda a separação é feita por espaços e outra linha indica um novo jogo de dados. Não é caso sensitivo!

TYPE (int|float|bool)

Você pode ter um só tipo de dados em cada arquivo. Atualmente é possível ter valores float, int ou bool. Você especifica isso usando a palavra chave TYPE. E deve sempre iniciar especificando o tipo de dados, como nada é salvo até que esta palavra chave tenha sido encontrada. Não é possível mudar type uma vez fixo!

DEFAULT <value>

Isto especifica o valor padrão de todos os quadros. Você deve fazer isso direito, depois de especificar o tipo, como sobreescrever todos os quadros definidos. Você pode omitir esta colocação, mas deve estar seguro em especificar uma colocação para todos os quadros, porque em caso contrário conduzirá a resultados inesperados.

<framenumber> <value>

Isto fixa o valor só para quadro <framenumber>.

R <startframe> <endframe> <value>

Você deve notar que start E end-frame estão incluídos

I <startframe> <endframe> <startvalue> <stopvalue>

Isto interpolará entre dois valores em cima de uma gama de quadros. Isto só trabalha em valores inteiros e flutuantes. Você deve notar que start E end-frame estão incluídos

Tipos

Como mencionado, os tipos podem ser qualquer um float, int or bool

Número Int  é um número opcionalmente precedido de um sinal.

Float  é um número decimal que contém um ponto decimal, opcionalmente precedido por um sinal e opcionalmente seguido pelo caractere e ou E e um número decimal. Entradas válidas: -732.103 ou 7.12e4.

Bool pode ser true ou false.

Exemplos

Uso básico

File.txt:

Type float
Default 3.45567

R 45 300 76.5654
2 -671.454
72 -671.454

O arquivo acima retornará valores float. Por padrão retorna 3.45567. Porém os quadros 45 a 300 retornarão 76.5654. E quadros 2 e 72 retornarão -671.454. 
Como você pode notar - mudanças posteriores predominam colocações feitas antes no arquivo. Isto é ilustrado através do quadro '72' - embora esteja dentro da gama de 45-300, o valor posterior será devolvido. Por outro lado - se a gama fosse especificada DEPOIS '72 -671.454' - retornaria 76.5654.


Um escrito para invocar este arquivo pode ser:

colorbars(512,512)
trim(0,500)
ScriptClip("subtitle(string(myvar))")
ConditionalReader("file.txt", "myvar", false)

Isto coloca os valores na variável chamada "myvar" que é usada por Subtitle invocada por ScriptClip para exibir o valor condicional.

Ajustando Overlay

AviSynth script:

colorbars(512,256)
a1 = trim(0,600)
a2 = MessageClip("Text clip")
overlay(a1,a2, y = 100, x = 110, mode="subtract", opacity=0, pc_range=true)
ConditionalReader("opacity.txt", "ol_opacity_offset", false)
ConditionalReader("xoffset.txt", "ol_x_offset", false)

xoffset.txt:

Type int
Default -50

I 25 50 -50 100
R 50 250 100
I 250 275 100 250

opacity.txt:

Type float
Default 0.0

I 25 50 0.0 1.0
R 50 250 1.0
I 250 275 1.0 0.0

Basicamente define keyframes para um x-offset e opacidade. Nos quadros 25->50 a opacidade é escalada de 0.0 a 1.0, enquanto o texto está se movendo da esquerda para a direita. O texto então é mantido firme do quadro 50 a 250, onde depois avança para a direita, desvanecendo. O mais fácil é assistir o clipe acima que descreve tudo o que faz.

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