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.
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 |
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.
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.
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".
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 $