Home
RecentChanges

Search:

» AviSynth is a powerful video FrameServer for Win32.

AviSynth Links:
»Download
»Learn to script
»FAQ
»Manual
»Discussion fora
»Project page
»External filters
»FeedBack

» You can add pages to this website immediately. No login required.
Edit this document

» AboutAviSynth

 

Avisynth 
Logo

ConditionalReader Deutsch

ConditionalReader(clip clip, string filename, string variablename [, bool show])

ConditionalReader erlaubt es Informationen aus einer Datei auszulesen, um eine Variable mit unterschiedlichen Werte f�r jeden Frame oder f�r einen bestimmten Bereich zu erhalten.

Parameter:

clip

Der Quell Clip. Dieses wird nicht ver�ndert, es sei denn man setzt show=true.

filename

Hier gibt den Dateipfad zu der Variablendatei, die man setzen will.

variablename

Der Name der Variable, die die importierten Einstellungen enthalten soll.

show

Bei diesem optionalen Parameter wird bei true der �bergebene Wert im Frame eingeblendet. Standard ist false.

Dateiformat:

Die Datei ist eine einfache Textdatei. Als Separator reicht ein einfaches Leerzeichen und eine neue Zeile zeigt einen neuen Datensatz an. Es wird nicht auf Gro�-/Kleinschreibung geachtet.

Parameter:

TYPE <int|float|bool>

Man kann pro Datei nur einen Typ an Daten definieren. Man sollte den Typ immer am Anfang definieren, weil ConditionalReader erst nach dem Typ sucht und dann erst die Daten ab da liest. Man kann den Typ nicht zwischendurch wechseln.

Die Typen k�nnen float, int oder bool sein:

int Ist eine ganze Zahl und kann wahlweise auch ein Vorzeichen enthalten.

float Ist eine Dezimalzahl, die einen Dezimalpunkt enth�lt. Wahlweise auch ein Vorzeichen oder gefolgt vom e oder E Buchstaben und einer Dezimalzahl. G�ltige Werte sind z.B. -732.103 oder 7.12e4.

bool Kann entweder true (wahr) oder false (falsch) sein.

DEFAULT <Wert>

Gibt einen Standardwert f�r alle Frames an. Diesen sollte man direkt nach der Definition von Type setzen, da er die Werte f�r alle Frames �berschreibt. Man kann den Standardwert auch nicht setzen, muss dann aber auch wirklich f�r alle Frames eine Wert so setzen, da es sonst zu unerwarteten Ergebnissen kommt.

<Framenummer> <Wert>

Dies setzt den Wert nur f�r den Frame Framenummer.

R <Erster Frame> <Letzter Frame> <Wert>

Dies wendet den Wert auf einen Bereich an Frames an. Sowohl der Startframe als auch der letzte Frame sind im Frame-Bereich enthalten.

I <Erster Frame> <Letzter Frame> <Startwert> <Stopwert>

Dies interpoliert zwischen den beiden Werte �ber den angegebenen Bereich an Frames. Dies funktioniert nur f�r int und float Werte. Sowohl der Startframe als auch der letzte Frame sind im Frame-Bereich enthalten.

Beispiele:

Diese Datei liefert Gleitkommazahlen als Werte. Standardm��ig ist der Werte 3.45567. Von Frame 45 bis 300 ist der Wert aber 76.5654. Und der Wert von Frame 2 und 72 ist -671.454.

Wie man sieht, �berschreiben sp�tere �nderungen die Einstellungen davor. Dies sieht man gut am Frame 72: obwohl der Frame innerhalb des Bereiches 45-300 ist, wird der Wert sp�ter ge�ndert. W�rde man zuerst den Frame und dann den Bereich spezifisieren, w�rde der Wert von -671.454 auf 76.5654 ge�ndert werden.

Datei.txt:

Type float

Default 3.45567

R 45 300 76.5654

2 -671.454

72 -671.454

Hier ein Skript, dass die obigen Datei nutzen w�rde.

Hier wird der Wert in die Variable "MeineVar" importiert, welche von Subtitle - aufgerufen von ScriptClip wegen dem bedingten Wert - angezeigt wird.

ColorBars(512,512)

Trim(0,500)

ScriptClip("Subtitle(String(MeineVar))")

ConditionalReader("Datei.txt","MeineVar",false)

An sich werden nur Schl�sselframes f�r x-offset und opacity definiert. Bei Frame 25->50 wird die Transparenz von 0.0 bis 1.0 skaliert, w�hrend sich der Text von links nach rechts bewegt. Dann bleibt der Text stehen von Frame 50 bis 250 und wandert dann weiter nach rechts und wird dabei ausgeblendet.

Es ist einfacher, sich den Clip anzusehen, als ihn zu beschreiben ;-)

AviSynth Skript:

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

Changelog:

v2.54: Erstes Release

SourceForge Logo

 


Edit this document | View document history
Document last modified Sat, 17 Jan 2004 09:20:48