( This site in
english )
Die Quelle und das Ergebnis dieser Funktionen sind keine Clips, aber andere Variablen, die man im Skript nutzen kann.
Floor(float): Konvertiert eine Dezimalzahl in Integer (rundet alle Dezimalstellen ab).
Ceil(float): Konvertiert eine Dezimalzahl in Integer (rundet alle Dezimalstellen auf).
Round(float): Konvertiert eine Dezimalzahl in Integer (rundet alle Dezimalstellen zur nähesten Integerzahl auf oder ab).
Sin(float) (v2):
Cos(float) (v2):
Pi() (v2):
Log(float) (v2):
Exp(float) (v2):
Pow(float base, float power) (v2):
Sqrt(float) (v2):
Abs(float / integer) (v2.07): Absoluter Wert eines Integer oder Dezimalzahl.
Sign(float) (v2.07): Gibt das Vorzeichen der Zahl als -1, 0 oder 1 zurück.
Int(float) (v2.07): Konvertiert von Dezimalzahl zu Integer (rundet ab).
Frac(float) (v2.07): Gibt den entsprechenden Bruch der Dezimalzahl zurück.
Float(int) (v2.07): Konvertiert von Integer zu Dezimalzahl.
Value(string) (v2.07): Konvertiert eine Zeichenkette in einen Zahlenwert.
HexValue(string) (v2.07): Gibt den Wert einer hexadezimaler Zeichenkette zurück.
Rand([int max] [, bool scale] [, bool seed]) (v2.07):
Gibt eine Zufallszahl als Integer zwischen 0 and dem Maximum zurück. Alle Parameter sind optional. max ist der maximale Wert+1 (Standard: 32768) und kann auch negativ sein, wenn man nur negative Zufallszahlen haben will.
Es arbeitet sowohl im normalen als auch modulierten Modus (Standard scale=true, wenn abs(max) > 32768, ansonsten false). Der normale Modus skaliert die internen Zufallszahlen bis zum Maximum, während der modulierte Modus (scale=false) den Rest einer Ganzzahl, die durch eine Zufallszahl geteilt wurde. Ich finde den modulierten Modus besser für kleine max Werte. Nutze seed=true startet den Zufallszahlen-Generator mit der aktuellen Zeit (Standard: false) und ist an sich nicht notwendig (aber was man hat, hat man). Normalerweise wird Rand für die Select Funktion genutzt.
Spline(float X, x1, y1, x2, y2, .... [, bool cubic]) (v2.51): Interpolatiert Y am Punkt X unter Verwendung der Kontrollpunkte x1,y1, usw. . Man muss mindestens zwei x/y-Paare angeben. Die Interpolation kann kubisch (das Ergebnis ist dann ein Spline) oder linear (das Ergebnis is ein Polygone) sein.
LCase(string) (v2.07): Gibt die Zeichenkette in Kleinbuchstaben zurück.
UCase(string) (v2.07): Gibt die Zeichenkette in Großbuchstaben zurück.
StrLen(string) (v2.07): Gibt die Länge derZeichenkette zurück.
RevStr(string) (v2.07): Gibt die Zeichenkette umgedrehter Reihenfolge zurück.
LeftStr(string, int) (v2.07): Gibt die ersten int Zeichen zurück.
RightStr(string, int) (v2.07): Gibt die letzten int Zeichen zurück.
MidStr(string, int pos [, int length]) (v2.07):
Gibt einen Teil der Zeichenkette zurück, der bei pos (für den ersten Buchstaben pos=0) beginnt und die angegeben Länge hat oder bis zum Ende der Zeichenkette.
FindStr(string, substring) (v2.07): Gibt den Versatz von substring innerhalb von string zurück. Die Suche berücksichtigt die Groß- und Kleinschreibung.
String(float / int) (v2): Konvertiert eine Zahl in eine Zeichenkette.
Chr(int) (v2.51): Gibt das ASCII Zeichen zurück
Time(string) (v2.51): Gibt eine Zeichenkette mit der aktuellen Systemzeit in einem vorgegeben Format zurück. Abkürzung für das Ausgabeformat:
%a Kürzel des Wochentages
%A Volle Name des Wochentages
%b Kürzel des Monats
%B Voller Name des Monats
%c Datum und Zeit im lokalem Format
%d Tag und Monat als Dezimalzahlen (01 - 31)
%H Stunde im 24-Stunden Format (00 - 23)
%I Stunde im 12-Stunden Format (01 - 12)
%j Tag des Jahres als Dezimalzahl (001 - 366)
%m Monat als Dezimalzahl (01 ? 12)
%M Minute als Dezimalzahl (00 ? 59)
%p Current locale?s A.M./P.M. indicator for 12-hour clock
%S Sekunde als Dezimalzahl (00 ? 59)
%U Woche des Jahres als Dezimalzahl mit Sonntag als ersten Wochentag (00 ? 53)
%w Wochentag als Dezimalzahl (0 ? 6; Sonntag ist 0)
%W Wochentag des Jahres als Dezimalzahl mit Montag ersten Wochentag (00 ? 53)
%x Date representation for current locale
%X Time representation for current locale
%y Jahr ohne Jahrhundertangabe als Dezimalzahl (00 ? 99)
%Y Jahr mit Jahrhundertangabe als Dezimalzahl
%z, %Z Zeitzonen Name oder Kürzel; es wird nichts zurückgegeben, wenn die Zeitzone unbekannt ist
%% Prozent Zeichen
Das # Zeichen kann vor jeden Formatierungs-Code vorangestellt werden. In diesem Fall wird die Deutung des Formatierungs-Codes wie folgt geändert:
%#a, %#A, %#b, %#B, %#p, %#X, %#z, %#Z, %#% # Zeichen werden ignoriert.
%#c Long date and time representation, appropriate for current locale. For example: ?Tuesday, March 14, 1995, 12:41:29?.
%#x Long date representation, appropriate to current locale. For example: ?Tuesday, March 14, 1995?.
%#d, %#H, %#I, %#j, %#m, %#M, %#S, %#U, %#w, %#W, %#y, %#Y Remove leading zeros (if any).
VersionNumber() (v2.07): Gibt die AviSynth Versionnummer als Dezimalzahl zurück.
VersionString() (v2.07): Gibt die AviSynth Versionsinformationen als string (die erste Zeile von Version) wieder.
IsBool(var)
IsInt(var)
IsFloat(var)
IsString(var)
IsClip(var)
Exist(Dateiname) (v2.07): Gibt true oder false zurück, je nachdem ob die Datei existiert oder nicht.
Defined(var): ergibt true, wenn var definiert ist, ansonsten false.
Default(x,d): ergibt x, wenn Defined(x) true ist, ansonsten d.
Hinweis: Defined und Default wurde ursprünglich entwickelt, um mit optionalen Variablen in benutzerdefinierten Funktionen umzugehen und sollte dort feststellen, ob eine optionale Variable übergangen wurde. Eine komplett undefinierte Variable erzeugt einen Fehler. Siehe für mehr Informationen "Benutzerdefinierte Funktionen" weiter hinten im Text.
SetMemoryMax(int) (v2): Setzt die maximale Speichergrösse, die AviSynth verwendet (in MB). In manchen Versionen ist die Standardgröße 5MB, was recht wenig ist. Wenn Probleme auftreten (besonders langsame Geschwindigkeit), sollte dieser Wert auf mindestens 32MB gesetzt werden.
SetWorkingDir(string) (v2): Setzt das Standard-Verzeichnis für AviSynth (normalerweise sonst das Verzeichnis in dem sich das Skript befindet). Das kann vor allem für das einfache Laden von Quell-Clips verwendet werden und hat keinerlei Auswirkung auf das automatische Laden der Plugins. Das Ergebnis ist 0 wenn erfolgreich, sonst -1 (wenn z.B. der Pfad nicht existiert)
nop() (v2.07): Gibt NULL zurück. Wird hauptsächlich für bedingte Ausführung wie z.B. Importieren oder wobei kein Rückgabewert ausgegeben wird.
Select(index, item0 [,item1...]) (v2.07): Gibt item zurück, ausgewählt durch index (index=0 -> item0). Items können beliebige Variablen, Clips oder beides sein. Kann man z.B. mit Rand() als index nutzen, um zufällig einen Clip auszuwählen.
Man kann auch selber Funktionen definieren. Die SkriptGrammatik innerhalb einer Funktion ist diegleiche wie im ganzen Skript. Die Funktion kann einen Clip oder jeden Variablen-Typ wiedergeben. Das Format im Allgemeinen ist wie folgt:
Geschwungene Klammern müssen die Funktionsbefehle einfassen, aber sie können sich die Zeile mit dem Funktionskopf und / oder dem ersten und letzten Funktionsbefehl teilen.
Variablen von Funktionen können optional gemacht werden, indem man Variablenname in Anführungsstriche setzt (z.B. int "num" im obigen Beispiel). Innerhalb der Funktion kannst du auch eine Defined oder Default Funktion angeben, um herauszufinden, ob Variablenname übergangen und der Standardwert eingesetzt wurde oder ob es die Bearbeitung ändert. Optionale Parameter kann man auch über die Variablenname=Wert Syntax setzen, um andere optionale Parameter zu übergehen.
Falls du etwas Cooles erstellt, kannst du es unter GesammelteFunktionen veröffenlichen.