Bin gerade am Experimentieren mit den Tooltips. Ich denke, im Skript sind die Informationen dann doch am Besten aufgehoben – so hat man auch bei der Skriptbearbeitung etwas davon.
Im einfachsten Fall sehen diese Informationen (für den Skriptinspektor) wie folgt aus (Beispiel "Rotate"):
# ==============================================================================# http://avisynth.org.ru/rotate/rotate.html# ==============================================================================angle = 1.0width = 0height = 0color = 0# ==============================================================================# angle = Rotation angle in degrees clock wise# width = Width of the destination output image# height = Height of the destination output image# color = Background color# ==============================================================================LoadPlugin("plugins\Rotate\Rotate.dll")Import("lib\FritzPhoto\FritzPhoto.avs")isYV12() ? YV12toRGB32() : lastRotate(angle, width, height, color)
Tja, und wenn man schon dabei ist, dem Skriptinspektor etwas mitzuteilen, dann vielleicht auch die Information, ob ein Parameter nur bestimmte (diskrete) Werte annehmen kann. Hier bietet sich nämlich eine Auswahlliste an.
Die Informationen sehen in diesem Fall wie folgt aus (Beispiel: "MSUCartoonizerFilledSegments"):
# ==============================================================================
# http://www.compression.ru/video/cartoonizer/index_en.html
# ==============================================================================
ShowEdges = 0
EdgeAmount = 0
EdgeBrightness = 5
EdgeThickness = 1
EdgeAccuracy = 1
UseFaceDetection = 0
SegmentAmount = 1
ColorSaturation = 5
# ==============================================================================
# ShowEdges = PickList, True, {0, 1}, Visibility of edges
# EdgeAmount = PickList, True, {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10}, Amount of edges
# EdgeBrightness = PickList, True, {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10}, Edge brightness
# EdgeThickness = PickList, True, {1, 2, 3, 4}, Edge thickness
# EdgeAccuracy = PickList, True, {1, 2, 3, 4}, Stroke accuracy
# UseFaceDetection = PickList, True, {0, 1}, Improved edge rendering for faces
# SegmentAmount = PickList, True, {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}, Amount of rendered segments
# ColorSaturation = PickList, True, {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10}, Color saturation
# ==============================================================================
LoadVirtualDubPlugin("plugins\MSUCartoonizer\MSU_Cartoonizer.vdf", "MSU_Cartoonizer", 0)
Import("lib\FritzPhoto\FritzPhoto.avs")
isYV12() ? YV12toRGB32() : last
MSU_Cartoonizer(1, ShowEdges, EdgeAmount, EdgeBrightness, EdgeThickness, EdgeAccuracy, UseFaceDetection, SegmentAmount, ColorSaturation, 1)
Alles anzeigen
Für Boolesche Werte erzeugt der Skriptinspektor automatisch eine Auswahlliste.
Darüber hinaus habe ich auch eine einfache Eingabeüberprüfung integriert. Je nach zugrunde liegendem AviSynth-Typ ("bool", "float", "int" oder "string") – der Skriptinspektor erkennt diesen automatisch – sind bei der Eingabe nur bestimmte Zeichen zulässig.