Scripting with VirtualDubMod


Scripting with VirtualDubMod

Like VirtualDub, VirtualDubMod uses Sylia (developped by Avery Lee too). Some specific functions have been added though.
You will find below a list of the functions you can use in a script with VirtualDubMod.
This list also give you the type of parameters you can use with the function. There are 2 possible types :

  • : signed long integer (32 bits) which value can be from -2147483648 to +2147483647
  • : a standard string
Integers can also be used as boolean values : 0 means false and any other value means true.
In the functions described below the values returned (when any) are integer values.
You will see that some parameters use the first letter of their name to describe their type :
  • b : boolean value
  • f : this value is a flag (generally a boolean) in VirtualDub settings (e.g. 'Preferences' settings)
  • n/l : generally a long integer (sometimes it is used as DWORD, i.e. unsigned long integer)
  • w : generally means the value is a WORD (unsigned integer)

Since version 1.5.5 VirtualDub support Unicode filenames. Thus filenames used in the script files are actually converted to UTF-8, and then processed by the strCify function to make them fit in the script as a string.
Here is the list of defined functions :
  • General functions (VirtualDub.) :
  • Subset functions (VirtualDub.subset.) :
  • Video functions ( :
  • Video filters functions ( :
  • Video filters functions ([n].) :
  • Stream (mainly audio, sometimes text) functions ([n].) :
  • Audio filters functions ([n].filters) :
  • Audio filters functions ([n].filters.instance[n]) :

For compatibility reasons some functions that are somehow deprecated in VirtualDubMod 1.5.x are still kept.
For the same reasons note that will be interpreted as[0] for keeping compatibility with VirtualDub scripts : All this should make VirtualDub scripts still be interpreted correctly in VirtualDubMod 1.5.x.

Here is a list of possible comment types (see the documentation for a description of those types) :

Type Value
Specific 0x00000000
Generic 0x00000001
Software 0x00000002
Title 0x00000003
Description 0x00000004
Author 0x00000005
Copyright 0x00000006
License 0x00000007
Commissioned 0x00000008
Comment 0x00000009
Genre 0x0000000A
Keywords 0x0000000B
Date 0x0000000C
Version 0x0000000D
Performer 0x0000000E
Album 0x0000000F
TrackNumber 0x00000010
Organisation 0x00000011
Location 0x00000012
Contact 0x00000013
ISRC 0x00000014
URL 0x00000015
(Track) Name 0x00000016
Language 0x00010000
Note that the value 0x00010000 means a user-defined language. Languages defined in the ISO-639-1&2 standards use values beyond 0x00010000 ...

Here is a list of possible input types :
Type Value
WAV 0x0201
MP3 0x0202
AC3 0x0203
Ogg Vorbis 0x0204
DTS 0x0205
SRT 0x0301

Here is the list of functions that have been removed :