ConditionalReader

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

ConditionalReader consente di importare informazioni da un text file, con valori diversi per ogni frame o per ogni range di frames.

Parametri

Parameter Description Default
clip E' l'input clip. Non viene toccato a meno che non si specifichi show=true. Obbligatorio
filename Il file contenente le variabili che si vogliopno impostare. Obbligatorio
variablename Nome della variabile in cui si vogliono memorizzare le informazioni. Obbligatorio
show Quando impostato a true, il valore attribuito al frame verrà sovrapposto all'immagine. false

File format

Il file è un file di testo. Tutte le separazioni sono costituite da spazi, e newline indica un nuovo data set. NON è case sensitive!

TYPE (int|float|bool)

Si può avere un solo tipo di dati in ogni file. Al momento è possibile avere valori float, int o bool . Il tutto viene specificato tramite la keyword TYPE . In ogni caso si deve iniziare specificando il tipo di dati, visto che nulla viene salvato fintantochè tale variabile non è stata trovata . Non è possibile cambiare il tipo d data una volta che questo è stato impostato!

DEFAULT <value>

Specifica il valore di default per tutti i frames. Si deve impostare subito dopo il type visto che sovrascrive tutti i frames definiti. Se si omette, bisogna essere sicuri di specificare un valore per ogni frame, altrimenti si otterrebero dei risultati non voluti.

<framenumber> <value>

Imposta il valore SOLO per il frame<framenumber>.

R <startframe> <endframe> <value>

Applica un valore ad un range di frames. Da notare che sono compresi sia il frame start CHE end-frame.

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

Interpola tra due valori un range di frames. Funziona solo con valori int e float. Da notare che sono compresi sia il frame start CHE end-frame.

Types

Come detto types può essere float, int obool

Int è un numero opzionalmente preceduto dal segno.

Float è un numero decimale contenente un punto decimale opzionalmente preceduto dal segno ed opzionalmente seguito dal caretter e o E e da un numero decimale. Valori validi sono -732.103 o 7.12e4.

Bool può essere true o false.

Esempi

Basic usage

File.txt:

Type float
Default 3.45567

R 45 300 76.5654
2 -671.454
72 -671.454

Il file precedente restituisce valori float. Di default restituisce 3.45567. Tuttavia per i frames da 45 a 300 restituisce 76.5654. E per i frames 2 e 72 -671.454. 
Come si può notare, le modifiche successive prevalgono sulle impostazioni date in precedenza. Questo è evidenziato dal frame '72' - che sebbene all'interno del range 45-300, restituisce l'ultimo valore. D'altra parte - se il range fose stato specificato DOPO '72 -671.454' - avrebbe restituito il valore 76.5654.

Uno script per richiamare questo file potrebbe essere:

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

Questo carica i valori nella variabile chiamata"myvar", che è usata da Subtitle, attivata da ScriptClip per mostrare la "conditional value".

Adjusting 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

Sostanzialmente definisce keyframes per x-offset e per opacity. Per i frames 25->50 opacity è scalata da 0.0 a 1.0, mentre il testo si sta muovendo da sinistra a destra. Il testo è quindi mantenuto stabile dal frame 50 al 250, in seguito si muove ulteriormente verso destra con una dissolvenza.
E' molto più facile verificare visivamente il clip che descriverlo.

$Date: 2004/09/26 19:49:40 $