( This site in
english )
virtual AVSValue Invoke(const char* name, const AVSValue args, const char** arg_names=0);
Man kann dies verwenden, um eine Skriptfunktion aufzurufen. Es gibt viele Skriptfunktionen, die n�tzlich sind f�r andere Filter. Z.B. verwendet der Bob Filter SeparateFields und viele Quellfilter verwenden UnalignedSplice. Manche Funktionen, wie z.B. Weave, sind urspr�nglich programmiert worden als Teil einer anderen Funktion.
Falls du eine Funktion mit genau einem Argument aufrufst, kannst du es einfach im args Parameter angeben; Invoke wird es f�r dich in ein Array konvertieren. Um eine Funktion mit mehreren Argumenten aufzurufen, musst du das Array selber programmieren. Dies kann dann so aussehen:
AVSValue args[5] = { clip, 0, true, 4.7, "Mein Boot ist voll mit Aalen" };
env->Invoke("Frob", AVSValue(args, 5));
In diesem Fall braucht Frob einen Parameter vom Typ "String" wie "cibfs", "cfbfs" oder "cf.*".
Den arg_names Parameter kann man verwenden, um vordefinierte Argumente zu spezifizieren. Vordefinierte Argumente k�nnen auch entsprechend ihrer Position angegeben werden, falls du dies bevorzugst.
Invoke gibt die Fehlermeldung "!IScriptEnvironment::!NotFound", falls es keinen passenden Funktions-Prototypen findet. Du wirst diese Meldung immer wieder bekommen, bis die Funktion existiert und die Argumente akzeptiert werden.
Dankt Kurosu, der dies geschrieben hat.