Creating Custom Effects and Transitions in Windows Movie Maker
Josh Cohen
Mike Matsel
Peter Turcan
Microsoft Corporation
January 2005
Applies to:
Microsoft® Windows® Movie Maker 2.0
Microsoft Windows Movie Maker 2.1
Summary: Microsoft Windows Movie Maker enables programmers to add their own custom special effects and transitions to the Windows Movie Maker interface. These effects can be created with an XML file that modifies the supplied effects or transitions, or can be built from scratch using C++ and the Windows Media Transforms supplied by the Microsoft DirectX Media SDK.
Contents
Introduction
Creating Windows Movie Maker Effects and Transitions in XML
Reading the XML File
Making Your Own XML File
Effect and Transition Objects Provided by Windows Movie Maker
Bars Transition
Checkerboard Transition
DirectX Media Wipe Transition
Dissolve Transition
Fade Transition
Iris Transition
Pixelate Transition
SMPTE Wipe Transitions
Wheel Transition
WMTFX Transitions and Effects
Blur Effect
Brightness Effect
Fade Effect
Film Aging Effect
Filter Effects
Mirror and Grayscale Effects
Pixelate Effect
Speed Effects
Adding Custom Icons to Windows Movie Maker
Creating New Transition and Effect Objects
Overview of the Sample Code
Getting Started on a New Effect
Getting Started on a New Transition
Passing Parameters to Your DLL
Debugging Your DLL
Changing the Blue Adjust Effect to Purple Adjust
Glossary
For More Information
Introduction
Microsoft® Windows® Movie Maker 2.0 and later versions enable programmers to load their own custom effects and transitions into the Windows Movie Maker interface. These effects or transitions can be as simple as a modification of an existing effect or transition, or as complex as a custom-coded Microsoft DirectX® Transform object. This article includes three main topics about creating your own effects or transitions. In order from simplest to most complex, they are:
To do the tasks described in all these topics, you must have Windows Movie Maker 2.0 or later and the Microsoft Windows XP Home Edition or Windows XP Professional Edition operating system installed on your computer. Creating custom icons or new transition or effect objects also requires Visual Studio. Sources of additional information, and the installation locations of the DirectX Media SDK and the DirectX 7.0 SDK, can be found in the For More Information section at the end of this paper.
Creating Windows Movie Maker Effects and Transitions in XML
Windows Movie Maker reads a private XML file on startup that specifies all the effects and transitions to load, and the values of each object's parameters. This XML file cannot be viewed or changed; however you can create your own XML file that loads the objects you choose, using your own parameters, and displays them with your custom names.
Windows Movie Maker stores its built-in effects and transitions as COM objects inside one of several DLLs provided with the program. Each COM object represents one transition or effect, and is identified by a globally unique identifier (GUID). One DLL can contain several COM objects. Each object has zero or more parameters, such as color or brightness, that can be set for that effect or transition. The XML file specifies which objects to load, and sets values for any number of those objects' parameters. An object can be loaded more than once, using different parameters, to create different effects or transitions based on the same object. For example, the slow-motion and fast-motion effects are the same object, differing only in the value of the speed parameter passed in. After learning how these effects and transitions are addressed in the XML file, you will be able to make your own effects and transitions from the COM objects provided.
Note For Movie Maker 2.1, you must have administrator privileges on your computer.
This section explains:
- How to create your own XML file,
- Required and optional XML tags you can use in your custom XML file,
- Objects and parameters available for creating effects and transitions, and
- Private XML code that Windows Movie Maker uses to load its standard effects and transitions, so that you can copy and modify them quickly and easily.
Reading the XML File
The following code shows a segment of a Windows Movie Maker private XML file that describes one transition (Flip Right) and one effect (Sepia):
<TransitionsAndEffects Version="1.0">
<Transitions>
<TransitionDLL guid="{C63344D8-70D3-4032-9B32-7A3CAD5091A5}">
<Transition nameID="62800" iconid="91" comment="Flip, right">
<Param name="InternalName" value="Simple3D" />
<Param name="RevolveCamera" value="true" />
<Param name="ShowAFront" value="true" />
<Param name="ShowABack" value="false" />
<Param name="ShowBFront" value="false" />
<Param name="ShowBBack" value="true" />
</Transition>
...
</TransitionDLL>
...
</Transitions>
<Effects>
<EffectDLL guid="{B4DC8DD9-2CC1-4081-9B2B-20D7030234EF}">
<Effect nameID="62863" iconid="25" comment="Sepia tone">
<Param name="InternalName" value="Standard" />
<Param name="Desaturate" value="true" />
<Param name="Red" value="0.10" />
<Param name="Magenta" value="0.09" />
<Param name="Yellow" value="0.25" />
<Param name="contrast" value="1.0" />
</Effect>
...
</EffectDLL>
...
</Effects>
</TransitionsAndEffects>
The following table explains the tags and attributes in the preceding code. Transitions and effects use mostly the same tags. Where the tags differ, the table indicates the difference.
| Element | Attributes | Description |
| TransitionsAndEffects | | The boundary tag for the whole XML file. |
| | Version | A required field that should be set to "1.0". |
Transitions
or
Effects | | This tag bounds the group of all transitions or the group of all effects. Use the appropriate tag for a transition or effect. |
TransitionDLL
or
EffectDLL | | This tag bounds a single effect or transition COM object, identified by a GUID. It can hold one or more custom effects or transitions. Use the appropriate tag for a transition or effect. |
| | guid | Lists the GUID defining the transition or effect COM object. (This GUID is actually the ClassID of a COM object that implements the DirectShow IDXEffect interface in the underlying code.) The values provided are given in Effect and Transition Objects Provided by Windows Movie Maker. |
Transition
or
Effect | | This is the boundary tag for an individual transition or effect using the transition or effect COM object specified by the TransitionDLL or EffectDLL tag. One COM object can contain several transitions or effects. (A DLL file can contain several COM objects, although the name of the DLL is not needed for the COM objects that Windows Movie Maker provides.) Use the appropriate tag for a transition or effect. |
| | nameID
or name | Do not use nameID; this is the internal identifier that Windows Movie Maker uses for the transition. Instead, when creating your own file, substitute the name attribute as shown here:
<Effect name="My New Effect" iconid="25" comment="My cool new effect"> The value you assign will be displayed by Windows Movie Maker. If a name is not unique, the effect or transition shown in the preview may not be the proper one; however, Windows Movie Maker will apply the correct effect or transition to the actual edited video. |
| | iconID | Identifies the icon that Windows Movie Maker displays for the transition. In custom icons, this is a zero-based number indicating which icon in a bitmap strip to use. You can also use one of the existing Windows Movie Maker icons by choosing a number from 1 to approximately 90. For more information on adding custom icons, see Adding Custom Icons to Windows Movie Maker. |
| | comment | Information ignored by Windows Movie Maker. The comment attribute in the standard tags usually shows the display name for an effect or transition, although it does not always match exactly. |
| Param | | Tag holding a parameter in the object that you can set. You can have as many Param tags as the containing object has parameters. |
| | Name | The name of the parameter to set. |
| | Value | The value, in quotation marks, to assign to the parameter. |
Making Your Own XML File
To make your own XML file for Windows Movie Maker, you must create (or use an existing) folder called AddOnTFX in one of two places, depending on which version of Movie Maker you have.
For Movie Maker 2.0:
- Create or use the folder <Movie Maker installation path>\<decimal LCID>\AddOnTFX, where <Movie Maker installation path> is where you installed Movie Maker, and <decimal LCID> is the decimal locale ID of the language version installed (1033 is the locale ID for English).
So, for example, you might use C:\Program Files\Movie Maker\1033\AddOnTFX for an English version of Movie Maker. This location makes your effects usable by everyone, but to create the folder in this location, you must have administrator privileges on your computer.
- Create or use the folder at <OS Drive>\Documents and Settings\<username>\Application Data\Microsoft\Movie Maker\AddOnTFX, where <OS Drive> is the disk drive where Windows is installed, and <username> is your logon name. The user always has permission to add the new folder here, but the created effects can be used only by the user logged on as username.
For Movie Maker 2.1:
In Movie Maker 2.1, you must have administrator privileges to install custom effects. Use one or both of these locations to install your XML (and any custom DLL) file:
- <Movie Maker installation path>\MUI\<hexadecimal LCID>\AddOnTFX, where <Movie Maker installation path> is where you installed Movie Maker, and <hexadecimal LCID> is the hexadecimal locale ID of the language version installed (0409 is the hexadecimal locale ID for English).
So, for example, you might use C:\Program Files\Movie Maker\0409\AddOnTFX for an English language version of Movie Maker. This location makes your effects usable by everyone, but to create the folder in this location, you must have administrator privileges on your computer.
- <Movie Maker installation path>\shared\AddOnTFX. So, for example, on your computer, this folder path might be C:\Program Files\Movie Maker\Shared\AddOnTFX. This makes effects available to everyone in every locale, but to create a folder in this location you must have administrator privileges on your computer.
Windows Movie Maker checks both paths (for either version), and loads all transitions and effects it finds in both locations. If you plan to have localized versions of your transitions, be sure to use the locale ID folder rather than the local user or shared folder.
Inside the AddOnTFX folder you've created, create a new file with an .xml extension in Notepad or any other XML authoring software. There are no naming restrictions on the file, other than that it must have an .xml extension. After creating your new XML file, you can paste in the previous code sample (See Reading the XML File.) and make a few changes (such as changing the nameID attribute to name, adding your own name, and removing the "..."). The following code block shows a modified version of the previous sample. This is a complete XML file that creates a custom variation of the Flip Right transition and the Sepia effect. This new code uses new icons taken from the standard Windows Movie Maker icon set:
<TransitionsAndEffects Version="1.0" >
<Transitions>
<TransitionDLL guid="{C63344D8-70D3-4032-9B32-7A3CAD5091A5}">
<Transition name="My cool transition" iconid="88">
<Param name="InternalName" value="Simple3D" />
<Param name="RevolveCamera" value="true" />
<Param name="ShowAFront" value="true" />
<Param name="ShowABack" value="false" />
<Param name="InitialScaleA" value="smaller" />
<Param name="FinalScaleA" value="bigger" />
<Param name="ShowBFront" value="false" />
<Param name="ShowBBack" value="true" />
</Transition>
</TransitionDLL>
</Transitions>
<Effects>
<EffectDLL guid="{B4DC8DD9-2CC1-4081-9B2B-20D7030234EF}">
<Effect name="My Yellow, Rotated Effect" iconid="20" comment="Yellow, turned 3/4">
<Param name="InternalName" value="Standard" />
<Param name="Desaturate" value="true" />
<Param name="Red" value="0.0" />
<Param name="Magenta" value="0.09" />
<Param name="Yellow" value="0.75" />
<Param name="contrast" value="1.0" />
<Param name="Rotate2DA" value="270.0" />
</Effect>
</EffectDLL>
</Effects>
</TransitionsAndEffects>
When creating your custom XML file, be aware of the following two precautions:
- If your XML file is not well formed, if the GUID you use is incorrect, or there is some other problem with your XML file, Windows Movie Maker will probably not load any effects or transitions from that file and will not tell you that the file was not loaded. If an effect or transition you create does not appear in the Windows Movie Maker interface, search your XML file for errors.
- Windows Movie Maker will load XML files only on startup. Any changes you make to the XML file when Windows Movie Maker is running will not take effect until you close and restart Windows Movie Maker.
Effect and Transition Objects Provided by Windows Movie Maker
The two tables in this topic list all the base transition and effect objects that Windows Movie Maker provides. Each transition or effect object may include one or more parameters that can be changed, or even subclasses with their own parameters. You do not have to set all parameters for any effect or transition you create, because every parameter has a default value.
Transitions and effects are shown in separate tables. You cannot use a transition object as an effect, or an effect object as a transition. So, for example, the following code would not work because the Pixelate object is an effect, not a transition:
<TransitionDLL guid="{4CCEA634-FBE0-11D1-906A-00C04FD9189D}" comment="Pixelate">
<Transition nameID="62818" iconid="19" comment="Pixelate">
<Param name="MaxSquare" value="25" />
</Transition>
</TransitionDLL>
Details about all transitions and effects are given in topics that follow the tables, and the tables contain links to those topics. Each topic includes the XML code that Windows Movie Maker uses to load the effect or transition supplied with Windows Movie Maker. The names used in the following tables are arbitrary; the names that Windows Movie Maker displays are similar to those assigned to the comment attribute of the EffectDLL tag in the XML code shown.
Transitions
| Name | GUID | Description |
| Bars | 2E7700B7-27C4-437F-9FBF-1E8BE2817566 | Merges the first video into the second video in horizontal segments. |
| Checkerboard | B3EE7802-8224-4787-A1EA-F0DE16DEABD3 | Merges the first video into the second video by fields of squares. |
| DirectX Media Wipe | AF279B30-86EB-11D1-81BF-0000F87557DB | A variety of custom DirectX Media wipes. |
| Dissolve | F7F4A1B6-8E87-452F-A2D7-3077F508DBC0 | Dissolves one video segment into another in discrete dots (as opposed to a fade, which causes the videos to seamlessly exchange). |
| Fade | 16B280C5-EE70-11D1-9066-00C04FD9189D | Fades the first video into the second. |
| Iris | 049F2CE6-D996-4721-897A-DB15CE9EB73D | Splits the first video into four segments that move out from the center diagonally. |
| Pixelate | 4CCEA634-FBE0-11D1-906A-00C04FD9189D | Causes the first video to coarsen and then resolve into the second video. |
| SMPTE Wipe | DE75D012-7A65-11D2-8CEA-00A0C9441E20 | A variety of standard SMPTE transitions. See Microsoft DirectShow® documentation for more details. |
| Wheel | 5AE1DAE0-1461-11D2-A484-00C04F8EFB69 | Provides a spinning wheel-spoke wipe from the first video to the second video. |
| WMTFX transitions | C63344D8-70D3-4032-9B32-7A3CAD5091A5 | A variety of transitions and effects. |
Effects
| Name | GUID | Description |
| Blur | 7312498D-E87A-11D1-81E0-0000F87557DB | Blurs an image. |
| Brightness | 5A20FD6F-F8FE-4a22-9EE7-307D72D09E6E | Modifies the brightness of a segment of video. |
| Fade | EC85D8F1-1C4E-46e4-A748-7AA04E7C0496 | Causes a clip to fade in to or out from a solid color of your choice. |
| Film Aging | ADEADEB8-E54B-11d1-9A72-0000F875EADE | Introduces graininess, scratches, and other visual artifacts that make it appear as if a film is old. |
| Filter | E673DCF2-C316-4c6f-AA96-4E4DC6DC291E | Provides a variety of visual effects, such as neon glow, sponge, and emboss. |
| Mirror and Grayscale | 16B280C8-EE70-11D1-9066-00C04FD9189D | Causes an image to flip horizontally or change from color to grayscale, creating a black-and-white image. |
| Pixelate | 4CCEA634-FBE0-11D1-906A-00C04FD9189D | Causes an image to coarsen into squares of a single, solid color for each square, representing the average color of the original pixels from that area. |
| Speed | 00000000-0000-0000-0000-000000000000 | Null GUID used only for slowing down or speeding up. |
| WMTFX effects | B4DC8DD9-2CC1-4081-9B2B-20D7030234EF | Provides a variety of transitions and effects. |
Bars Transition
The Bars transition merges the first video into the second video in horizontal segments. It takes no parameters. The following XML code shows the Bars transition included in Windows Movie Maker:
<TransitionDLL guid="{2E7700B7-27C4-437F-9FBF-1E8BE2817566}">
<Transition nameID="62817" iconid="37" comment="Bars"/>
</TransitionDLL>
See Also
Checkerboard Transition
The Checkerboard transition merges the first video into the second video by fields of squares. It takes no parameters. The following XML code shows the Checkerboard transition included in Windows Movie Maker:
<TransitionDLL guid="{B3EE7802-8224-4787-A1EA-F0DE16DEABD3}">
<Transition nameID="62815" iconid="4" comment="Checkerboard, Across" />
</TransitionDLL>
See Also
DirectX Media Wipe Transition
The DirectX Media Wipe transition provides wipes based on the DirectX Media Wipe. DirectX Media Wipes take the following parameters.
| Parameter | Type | Default | Range | Description |
| GradientSize | float | 0.25 | 0.0 to 1.0 | Width of the gradient transition area between the two inputs, as a percentage of the output size. |
| WipeStype | int | 0 | 0 or 1 | Direction of the wipe. Can be horizontal (0) or vertical (1). |
The following XML code shows the DirectX Media Wipe transitions included in Windows Movie Maker:
<TransitionDLL guid="{AF279B30-86EB-11D1-81BF-0000F87557DB}" comment="Wipe">
<Transition nameID="62820" iconid="60" comment="Wipe, Wide Down">
<Param name="GradientSize" value="0.6" />
<Param name="wipeStyle" value="1" />
</Transition>
<Transition nameID="62821" iconid="58" comment="Wipe, Normal Down">
<Param name="GradientSize" value="0.5" />
<Param name="wipeStyle" value="1" />
</Transition>
<Transition nameID="62822" iconid="56" comment="Wipe, Narrow Down">
<Param name="GradientSize" value="0.2" />
<Param name="wipeStyle" value="1" />
</Transition>
<Transition nameID="62823" iconid="59" comment="Wipe, Wide right">
<Param name="GradientSize" value="0.6" />
<Param name="wipeStyle" value="0" />
</Transition>
<Transition nameID="62824" iconid="57" comment="Wipe, Normal right">
<Param name="GradientSize" value="0.5" />
<Param name="wipeStyle" value="0" />
</Transition>
<Transition nameID="62825" iconid="55" comment="Wipe, Narrow right">
<Param name="GradientSize" value="0.2" />
<Param name="wipeStyle" value="0" />
</Transition>
</TransitionDLL>
See Also
Dissolve Transition
The Dissolve transition dissolves one video segment into another in discrete dots (as opposed to a fade, which causes the videos to seamlessly exchange). It takes no parameters. The following XML code shows the Dissolve transition included in MovieMaker:
<TransitionDLL guid="{F7F4A1B6-8E87-452F-A2D7-3077F508DBC0}">
<Transition nameID="62816" iconid="38" comment="Dissolve" />
</TransitionDLL>
See Also
Fade Transition
The Fade transition provides some functionality for creating fade transitions using DirectX Media transitions. It takes no parameters.
The following XML code shows the fade transition included in Windows Movie Maker:
<TransitionDLL guid="{16B280C5-EE70-11D1-9066-00C04FD9189D}">
<Transition nameID="62814" iconid="12" comment="Fade" />
</TransitionDLL>
See Also
Iris Transition
The Iris transition splits the screen into four segments that move out from the center diagonally. It takes no parameters.
The following XML code shows the Iris transition included in Windows Movie Maker:
<TransitionDLL guid="{049F2CE6-D996-4721-897A-DB15CE9EB73D}">
<Transition nameID="62813" iconid="29" comment="Iris" />
</TransitionDLL>
See Also
Pixelate Transition
The Pixelate transition causes the first video to coarsen and then resolve into the second video. It takes no parameters. The following XML code shows the Pixelate transition included in Windows Movie Maker:
<TransitionDLL guid="{4CCEA634-FBE0-11D1-906A-00C04FD9189D}">
<Transition nameID="62818" iconid="36" comment="Pixelate"/>
</TransitionDLL>
See Also
SMPTE Wipe Transitions
SMPTE wipes are standard SMPTE (Society of Motion Picture & Television Engineers) wipes, as described in the DirectShow documentation. The following table shows the parameters available for SMPTE wipes.
| Parameter | Type | Default | Description |
| BorderColor | long | none | Color of the border around the edges of the wipe pattern. The value of this attribute is a hexadecimal number with the format 0xRRGGBB, where RR is the red hexadecimal value, GG is the green hexadecimal value, and BB is the blue hexadecimal value. (Thus, pure red, green, and blue are 0xFF000, 0x00FF00, and 0x0000FF, respectively.) |
| BorderSoftness | long | 0.0 | Width of the blurry region around the edges of the wipe pattern. Specify 0 (zero) for no blurry region |
| BorderWidth | long | 0 | Width of the solid border around the edges of the wipe pattern. Specify 0 (zero) for no border. |
| MaskName | string | NULL | If not NULL, specifies the name of a JPEG file to use as the wipe mask instead of a standard, built-in wipe. The file must contain a monochrome, 8-bits-per-pixel gradient. The gradient is used as a mask to define the wipe's progression. |
| MaskNum | long | 1 | Standard SMPTE wipe code specifying the style of wipe to use. For a list of wipe codes and their associated schematics, see SMPTE document 258M-1993. |
| OffsetX | long | 0 | Offset of the wipe origin from the center of the image, in the horizontal direction. Valid only for values of MaskNum from 101 to 131. |
| OffsetY | long | 0 | Offset of the wipe origin from the center of the image, in the vertical direction. Valid only for values of MaskNum from 101 to 131 |
| ReplicateX | long | 0 | Number of times to replicate the wipe pattern in the horizontal direction. Valid only for values of MaskNum from 101 to 131. |
| ReplicateY | long | 0 | Number of times to replicate the wipe pattern in the vertical direction. Valid only for values of MaskNum from 101 to 131. |
| ScaleX | long | 0.0 | Amount by which to stretch the wipe in the horizontal direction, as a percentage of the original wipe definition. Valid only for values of MaskNum from 101 to 131. |
| ScaleY | long | 0.0 | Amount by which to stretch the wipe in the vertical direction, as a percentage of the original wipe definition. Valid only for values of MaskNum from 101 to 131. |
The following XML code describes the standard SMPTE wipes included in Windows Movie Maker. The comment parameter usually gives the transition name shown in the Windows Movie Maker transition list.
<TransitionDLL guid="{DE75D012-7A65-11D2-8CEA-00A0C9441E20}" comment="DxtJpeg/SMPTE wipes">
<Transition nameID="62826" iconid="41" comment="Reveal, Right|(smpte 1)">
<Param name="MaskNum" value="1" />
</Transition>
<Transition nameID="62827" iconid="40" comment="Reveal, Down|(smpte 2)" >
<Param name="MaskNum" value="2" />
</Transition>
<Transition nameID="62828" iconid="27" comment="Inset, Down Right|(smpte 3)">
<Param name="MaskNum" value="3" />
</Transition>
<Transition nameID="62829" iconid="28" comment="Inset, Down Left|(smpte 4)" >
<Param name="MaskNum" value="4" />
</Transition>
<Transition nameID="62830" iconid="25" comment="Inset, Up Left|(smpte 5)">
<Param name="MaskNum" value="5" />
</Transition>
<Transition nameID="62831" iconid="24" comment="Inset, Up Right|(smpte 6)">
<Param name="MaskNum" value="6" />
</Transition>
<Transition nameID="62832" iconid="50" comment="Split, Vertical|(smpte 21)" >
<Param name="MaskNum" value="21" />
</Transition>
<Transition nameID="62833" iconid="22" comment="Split, Horizontal|(smpte 22)">
<Param name="MaskNum" value="22" />
</Transition>
<Transition nameID="62834" iconid="9" comment="Diagonal, Down Right|(smpte 41)">
<Param name="MaskNum" value="41" />
</Transition>
<Transition nameID="62835" iconid="51" comment="Bow Tie, Vertical|(smpte 43)">
<Param name="MaskNum" value="43" />
</Transition>
<Transition nameID="62836" iconid="23" comment="Bow Tie, Horizontal|(smpte 44)">
<Param name="MaskNum" value="44" />
</Transition>
<Transition nameID="62837" iconid="8" comment="Diagonal, Cross Out|(smpte 47)">
<Param name="MaskNum" value="47" />
</Transition>
<Transition nameID="62838" iconid="7" comment="Diagonal, Box Out|(smpte 48)">
<Param name="MaskNum" value="48" />
</Transition>
<Transition nameID="62839" iconid="16" comment="Filled V, Down|(smpte 61)">
<Param name="MaskNum" value="61" />
</Transition>
<Transition nameID="62840" iconid="15" comment="Filled V, Left|(smpte 62)">
<Param name="MaskNum" value="62" />
</Transition>
<Transition nameID="62841" iconid="13" comment="Filled V, Up|(smpte 63)">
<Param name="MaskNum" value="63" />
</Transition>
<Transition nameID="62842" iconid="14" comment="Filled V, Right|(smpte 64)">
<Param name="MaskNum" value="64" />
</Transition>
<Transition nameID="62844" iconid="64" comment="Zig Zag, Vertical|(smpte 73)">
<Param name="MaskNum" value="73" />
</Transition>
<Transition nameID="62845" iconid="62" comment="Zig Zag, Horizontal|(smpte 74)">
<Param name="MaskNum" value="74" />
</Transition>
<Transition nameID="62846" iconid="39" comment="Rectangle, Out|(smpte 101)">
<Param name="MaskNum" value="101" />
</Transition>
<Transition nameID="62847" iconid="11" comment="Diamond, Out|(smpte 102)">
<Param name="MaskNum" value="102" />
</Transition>
<Transition nameID="62848" iconid="80" comment="Circle, Out, Soft|(smpte 119)">
<Param name="MaskNum" value="119" />
<Param name="BorderSoftness" value="20" />
</Transition>
<Transition nameID="62849" iconid="81" comment="Circles, Out, Soft|(smpte 119)">
<Param name="MaskNum" value="119" />
<Param name="ReplicateX" value="8" />
<Param name="ReplicateY" value="6" />
<Param name="BorderSoftness" value="75" />
</Transition>
<Transition nameID="62850" iconid="46" comment="Star, 5 Points|(smpte 128)">
<Param name="MaskNum" value="128" />
<Param name="BorderSoftness" value="20" />
</Transition>
<Transition nameID="62851" iconid="83" comment="Stars, 5 Points|(smpte 128)">
<Param name="MaskNum" value="128" />
<Param name="ReplicateX" value="5" />
<Param name="ReplicateY" value="5" />
<Param name="BorderSoftness" value="75" />
</Transition>
<Transition nameID="62852" iconid="18" comment="Heart|(smpte 130)">
<Param name="MaskNum" value="130" />
<Param name="BorderSoftness" value="20" />
</Transition>
<Transition nameID="62853" iconid="30" comment="Key Hole|(smpte 131)" >
<Param name="MaskNum" value="131" />
<Param name="BorderSoftness" value="20" />
</Transition>
<Transition nameID="62854" iconid="84" comment="Sweep, Diagonal|(smpte 226)">
<Param name="MaskNum" value="226" />
</Transition>
<Transition nameID="62855" iconid="85" comment="Sweep, Horizontal|(smpte 228)">
<Param name="MaskNum" value="228" />
</Transition>
<Transition nameID="62856" iconid="82" comment="Fan, In, Vertical|(smpte 231)">
<Param name="MaskNum" value="231" />
</Transition>
<Transition nameID="62857" iconid="3" comment="Eye|(smpte 122)">
<Param name="MaskNum" value="122" />
<Param name="BorderSoftness" value="20" />
</Transition>
<Transition nameID="62858" iconid="86" comment="Swinging Door, Bottom|(smpte 253)">
<Param name="MaskNum" value="253" />
</Transition>
<Transition nameID="62859" iconid="87" comment="Windshield, Up|(smpte 262)">
<Param name="MaskNum" value="262" />
</Transition>
<Transition nameID="62860" iconid="88" comment="Windshield, Vertical|(smpte 263)" >
<Param name="MaskNum" value="263" />
</Transition>
</TransitionDLL>
</Transitions>
See Also
Wheel Transition
The Wheel transition provides a spinning wheel-spoke wipe. It takes the following parameter.
| Parameter | Type | Default | Range | Description |
| Spokes | int | 4 | 2 to 20 | Number of spokes. |
The following XML code shows the Wheel transition included in Windows Movie Maker:
<TransitionDLL guid="{5AE1DAE0-1461-11D2-A484-00C04F8EFB69}">
<Transition nameID="62819" iconid="53" comment="Wheel, 4 spokes">
<Param name="spokes" value="4" />
</Transition>
</TransitionDLL>
See Also
WMTFX Transitions and Effects
Windows Media Transform Effects (WMTFX) are a group of effects and transitions that you can assemble from a standard list of parameters. These transitions and effects are based on one of two COM objects that expose identical parameters, but one is used to build transitions (GUID C63344D8-70D3-4032-9B32-7A3CAD5091A5), and the other is used to build effects (GUID B4DC8DD9-2CC1-4081-9B2B-20D7030234EF). When you create WMTFX transitions or effects, be sure that you specify the GUID of the appropriate object, and that an effect is inside an <effect> block and a transition is inside a <transition> block. The following code shows an example transition and an example effect:
<TransitionsAndEffects Version="1.0">
<Transitions>
<TransitionDLL guid="{C63344D8-70D3-4032-9B32-7A3CAD5091A5}">
<Transition name="My rotating fade" iconid="91">
<Param name="InternalName" value="ParticleSystem"/>
<Param name="RotateA" value="left"/>
<Param name="FadeStartA" value="0.1"/>
</Transition>
</TransitionDLL>
</Transitions>
<Effects>
<EffectDLL guid="{B4DC8DD9-2CC1-4081-9B2B-20D7030234EF}">
<Effect name="My yellow effect" iconid="9">
<Param name="InternalName" value="Standard"/>
<Param name="Yellow" value="1.0"/>
<Param name="Magenta" value="-1.0"/>
<Param name="Cyan" value="-1.0"/>
</Effect>
</EffectDLL>
</Effects>
</TransitionsAndEffects>
A WMTFX transition or effect can be based on one of the following four classes:
- Standard
- Hue
- Simple3D
- ParticleSystem
Each class exposes specific parameters, described later. The class you use is specified by the InternalName parameter, as shown here:
<Param name="InternalName" value=someclassname />
This must be the first parameter given for the class.
Note that the ParticleSystem class extends the Simple3D class, and exposes both its own parameters as well as the Simple3D parameters. So, for example, an effect based on the ParticleSystem class will expose both ParticleSystem parameters and Simple3D parameters.
Although classes and parameters are the same for both effects and transitions, not all parameters work with all effects or transitions. For example, a transition based on the Standard class won't have a parameter that specifies when the transition occurs. You will have to experiment a little to see which classes and parameters work together for an effect or a transition.
The following tables list the parameters exposed by each class. When an "A" or "B" appears in a parameter name, "A" refers to the existing or previous clip or picture, and "B" refers to the new clip or picture replacing it.
Standard Class Parameters
| Parameter | Type | Default value | Range | Description |
| Invert | float | None | 0.0 to 1.0 | Color inversion produces new color values that are the previous color values subtracted from 255. Only values above the submitted value of the Invert parameter times 255 are inverted. |
| Red | float | None | -1.0 to 1.0 | Adjusts color balance. |
| Green | float | None | -1.0 to 1.0 | Adjusts color balance. |
| Blue | float | None | -1.0 to 1.0 | Adjusts color balance. |
| Cyan | float | None | -1.0 to 1.0 | Adjusts color balance. Ignored if Red is specified. |
| Magenta | float | None | -1.0 to 1.0 | Adjusts color balance. Ignored if Green is specified. |
| Yellow | float | None | -1.0 to 1.0 | Adjusts color balance. Ignored if Blue is specified. |
| Brightness | float | None | 0.0 to infinity | For brightness adjustment, each color channel value is multiplied by the submitted value. These values should be greater than or equal to zero and are usually around 1.0. |
| Contrast | float | None | 0.0 to infinity | Contrast adjustment shifts the range of each color channel around a midpoint. These values should be greater than or equal to zero, and are usually around 1.0. |
| Posterize | int | None | 0 to 255 | This value is the number of color levels that should remain after posterization. |
| Threshold | float | None | 0.0 to 1.0 | For the threshold filtering adjustment, each sample color channel whose value is below the submitted Threshold value times 255 is set to zero. Each color channel with a value equal to or above that threshold is set to 255. |
| Gamma | float | None | 0.0 to infinity | Gamma correction for pixels. Less than 1.0 is dimmer, greater than 1.0 is brighter. |
| ExponentialProgressDuration | float | 0.0 | 0.0 to 1.0 | Length of time, starting from 0.0, during which progress will happen on a logarithmic scale. Progress is linear after that time. |
| ExponentialProgressScale | float | 0.3 | 0.0 to infinity | Scale of the exponential progress. The equation is: LogrithmicScale = -log(1.0 - LinearProgress ) * ExponentialProgressScale |
| MirrorVertical | bool | false | "false" or "true" | Draw output upside down if true. |
| Desaturate | bool | false | "false" or "true" | Convert the image to grayscale (black-and-white) if true, allow color if false. |
| Rotate2DA | int | 0 | 0 to 359 | Amount to rotate output video in degrees. |
Hue Class Parameters
This class inherits from the Standard class and is used only for the hue cycle effect included in Windows Movie Maker. The effect cycles the video through a color spectrum—blue, cyan, green, yellow, red, magenta, then back to blue—and lets the user to choose the starting and ending colors on a scale from 0 to 1, where 0 and 1 are both blue on this path.
| Parameter | Type | Default value | Range | Description |
| Value | float | 0.0 | 0.0 to 1.0 | The starting color on a scale where zero is blue, 0.5 is yellow, and one is blue again. |
| EndValue | float | None | 0.0 to 1.0 | The ending color on a scale where zero is blue, 0.5 is yellow, and one is blue again. If Value is specified, EndValue must be specified as well, or the effect will not work. |
Simple3D Class Parameters
This class is typically used by transitions for basic rotating, expanding, shrinking, or page-turning transitions.
| Parameter | Type | Default value | Range | Description |
| MoveA | string | none | left, right, up, down | Slide first video in direction of property: left, right, up, down, in, or out |
| MoveSpeedA | float | 1.0 | 0.0 to infinity | Speed at which MoveA parameter is applied. |
| RotateA | string | none | left, right, up, down | Direction of rotation of the first video. |
| ScaleA | string | none | Smaller, Bigger, or a float > 0 | Final video size compared to the original video. "Smaller" and "Bigger" give generic relative values, while a floating-point number is a size multiplier (1.0 would give you a final size the same as the original size). |
| InitialScaleA | string | 1.0 | Smaller, Bigger, or a float > 0 | Initial video size compared to original video. "Smaller" and "Bigger" give generic relative values, while a floating-point number is a size multiplier (1.0 would give you an initial size the same as the original size). |
| RotateCenterA | string | none | lowerright only | Center of rotation for first video. |
| ZScaleAStart | string | none | 0.0 to 1.0 | Time when X axis stops scaling and Z axis starts. |
| ShowAFront | bool | true | true or false | The front polygon of the first video is rendered when this parameter is true. |
| ShowABack | bool | false | true or false | The rear polygon of the first video is rendered when this parameter is true. |
| ShowBFront | bool | true | true or false | The front polygon of the second video is rendered when this parameter is true. |
| ShowBBack | bool | false | true or false | The rear polygon of the second video is rendered when this parameter is true. |
| RevolveCamera | string | nothing | true or nothing | Camera rotates around the world x-axis when true. If any value is passed into this parameter, it will set the value to true. |
| PageCurlA | string | none | lowerright, lowerleft, upperleft, upperright, right, left, upper, or lower. | Where the page curl starts. |
| FadeStartA | float | none | 0.0 to 1.0 | Time when first video starts to fade out. |
ParticleSystem Class Parameters
This class inherits from the Simple3D class, and exposes all the Simple3D parameters, as well as these parameters. These effects enable an image to be divided into spinning, three-dimensional particles (squares or rectangles) that can move in a desired direction.
| Parameter | Type | Default value | Range | Description |
| ScatterDirection | string | none | left, right, up, down, in, out | Direction in which pieces of the first video will move, where "in" means away from the viewer, and "out" means toward the viewer. You may choose more than one direction, so "up, left" makes the pieces move to the upper left of the screen. |
| ParticleSpeed | float | 1.0 | > 0 | The speed at which the pieces move. |
| SpinDirection | string | none | left, right, up, down, in, out | Direction in which the pieces of the first video will rotate, where "in" means toward the screen and "out" means away from the screen. Choose only one direction. |
| ParticleSpinSpeed | float | 1.0 | > 0 | How fast the particles spin. |
| MaxParticles | int | 100 | 3 to 1000 | Maximum number of particles in the scene. |
| Gravity | float | 0.0 | 0 to infinity | Vertical acceleration of the particles. |
| RandomizeSpeed | float | 1.0 | any number | Randomization multiplier. Set to 0 (zero) to make the speed uniform for all particles. |
| BothDirections | bool | false | true or false | If true, particles will move in both directions with equal probability. |
The following XML code describes all the WMTFX transitions and effects included with Windows Movie Maker. The comment parameter usually gives the name shown in the Windows Movie Maker transition or effect list.
WMTFX Transitions
<TransitionDLL guid="{C63344D8-70D3-4032-9B32-7A3CAD5091A5}">
<Transition nameID="62800" iconid="91" comment="Flip, right">
<Param name="InternalName" value="Simple3D" />
<Param name="RevolveCamera" value="true" />
<Param name="ShowAFront" value="true" />
<Param name="ShowABack" value="false" />
<Param name="ShowBFront" value="false" />
<Param name="ShowBBack" value="true" />
</Transition>
<Transition nameID="62801" iconid="72" comment="Slide, up">
<Param name="InternalName" value="Simple3D" />
<Param name="MoveA" value="up" />
</Transition>
<Transition nameID="62802" iconid="73" comment="Slide up, center">
<Param name="InternalName" value="Simple3D" />
<Param name="MoveA" value="up" />
<Param name="ScaleA" value="smaller" />
<Param name="MoveSpeedA" value="0.75" />
</Transition>
<Transition nameID="62803" iconid="70" comment="Roll, right">
<Param name="InternalName" value="Simple3D" />
<Param name="RotateA" value="right" />
<Param name="RotateCenterA" value="lowerright" />
</Transition>
<Transition nameID="62804" iconid="74" comment="Spin out, left">
<Param name="InternalName" value="Simple3D" />
<Param name="ScaleA" value="smaller" />
<Param name="RotateA" value="left" />
<Param name="FadeStartA" value="0.2" />
</Transition>
<Transition nameID="62805" iconid="89" comment="Page Curl, lower left">
<Param name="InternalName" value="Simple3D" />
<Param name="PageCurlA" value="lowerleft" />
<Param name="ShowABack" value="true" />
</Transition>
<Transition nameID="62806" iconid="90" comment="Page Curl, lower right">
<Param name="InternalName" value="Simple3D" />
<Param name="PageCurlA" value="lowerright" />
<Param name="ShowABack" value="true" />
<Param name="FadeStartA" value="0.8" />
</Transition>
<Transition nameID="62807" iconid="77" comment="Shatter, Right">
<Param name="InternalName" value="ParticleSystem" />
<Param name="ScatterDirection" value="right" />
<Param name="SpinDirection" value="right" />
<Param name="MaxParticles" value="200" />
</Transition>
<Transition nameID="62808" iconid="78" comment="Shatter, up left">
<Param name="InternalName" value="ParticleSystem" />
<Param name="ScatterDirection" value="up, left" />
<Param name="MaxParticles" value="64" />
<Param name="ExponentialProgressDuration" value="0.4" />
<Param name="ExponentialProgressScale" value="0.33" />
</Transition>
<Transition nameID="62809" iconid="76" comment="Shatter, in">
<Param name="InternalName" value="ParticleSystem" />
<Param name="ScatterDirection" value="in" />
<Param name="MaxParticles" value="600" />
<Param name="SpinDirection" value="right" />
<Param name="ParticleSpeed" value="40.0" />
<Param name="ParticleSpinSpeed" value="0.5" />
<Param name="ExponentialProgressDuration" value="0.9" />
<Param name="ExponentialProgressScale" value="0.25" />
</Transition>
<Transition nameID="62810" iconid="75" comment="Whirlwind, Fade">
<Param name="InternalName" value="ParticleSystem" />
<Param name="MaxParticles" value="200" />
<Param name="SpinDirection" value="right" />
<Param name="BothDirections" value="true" />
</Transition>
<Transition nameID="62811" iconid="79" comment="Shatter, up right">
<Param name="InternalName" value="ParticleSystem" />
<Param name="MaxParticles" value="700" />
<Param name="ScatterDirection" value="up, right" />
<Param name="BothDirections" value="true" />
</Transition>
<Transition nameID="62812" iconid="71" comment="Shrink vertical, then horizontal">
<Param name="InternalName" value="Simple3D" />
<Param name="ScaleA" value="smaller" />
<Param name="ZScaleAStart" value="0.5" />
<Param name="FadeStartA" value="0.5" />
</Transition>
</TransitionDLL>
WMTFX Effects
<EffectDLL guid="{B4DC8DD9-2CC1-4081-9B2B-20D7030234EF}">
<Effect nameID="62863" iconid="25" comment="Sepia tone">
<Param name="InternalName" value="Standard" />
<Param name="Desaturate" value="true" />
<Param name="Red" value="0.10" />
<Param name="Magenta" value="0.09" />
<Param name="Yellow" value="0.25" />
<Param name="contrast" value="1.0" />
</Effect>
<Effect nameID="62864" iconid="18" comment="Negative">
<Param name="InternalName" value="Standard" />
<Param name="Invert" value="-1.0" />
</Effect>
<Effect nameID="62865" iconid="20" comment="Posterize">
<Param name="InternalName" value="Standard" />
<Param name="Posterize" value="6" />
</Effect>
<Effect nameID="62866" iconid="29" comment="Threshold">
<Param name="InternalName" value="Standard" />
<Param name="Threshold" value="0.5" />
</Effect>
<Effect nameID="62867" iconid="16" comment="Hue, Cycles Entire Color Spectrum">
<Param name="InternalName" value="Hue" />
<Param name="Value" value="0.0" />
<Param name="EndValue" value="1.0" />
</Effect>
<Effect nameID="62868" iconid="33" comment="Ease In">
<Param name="InternalName" value="Simple3D" />
<Param name="ScaleA" value="bigger" />
<Param name="ExponentialProgressDuration" value="0.01" />
</Effect>
<Effect nameID="62869" iconid="34" comment="Ease Out">
<Param name="InternalName" value="Simple3D" />
<Param name="ScaleA" value="smaller" />
<Param name="InitialScaleA" value="bigger" />
<Param name="ExponentialProgressDuration" value="0.01" />
</Effect>
<Effect nameID="62870" iconid="35" comment="Mirror, Vertical">
<Param name="InternalName" value="Standard" />
<Param name="MirrorVertical" value="true" />
</Effect>
<Effect nameID="62871" iconid="24" comment="Rotate 90">
<Param name="InternalName" value="Standard" />
<Param name="Rotate2DA" value="90" />
</Effect>
<Effect nameID="62872" iconid="22" comment="Rotate 180">
<Param name="InternalName" value="Standard" />
<Param name="Rotate2DA" value="180" />
</Effect>
<Effect nameID="62873" iconid="23" comment="Rotate 270">
<Param name="InternalName" value="Standard" />
<Param name="Rotate2DA" value="270" />
</Effect>
</EffectDLL>
See Also
Blur Effect
The Blur effect blurs an image by custom amounts. It takes the following parameters.
| Parameter | Type | Default | Range | Description |
| PixelRadius | float | 2.0 | 0.0 to 25 | The larger the number, the blurrier the picture. |
The following XML code shows the Blur effect included in Windows Movie Maker:
<EffectDLL guid="{7312498D-E87A-11D1-81E0-0000F87557DB}" comment="Blur">
<Effect nameID="62890" iconid="30" comment="Blur">
<Param name="PixelRadius" value="2.5" />
</Effect>
</EffectDLL>
See Also
Brightness Effect
The Brightness effect modifies the brightness of a segment of video. It takes the following parameter.
| Parameter | Type | Default | Range | Description |
| Brightness | long | 0 | -255 to 255 | Amount to modify the brightness by, where zero is no difference. |
The following XML code shows the brightness effects included in Windows Movie Maker:
<EffectDLL guid="{5A20FD6F-F8FE-4a22-9EE7-307D72D09E6E}">
<Effect nameID="62881" iconid="7" comment="Brightness increase">
<Param name="Brightness" value="25" />
</Effect>
<Effect nameID="62882" iconid="6" comment="Brightness decrease">
<Param name="Brightness" value="-25" />
</Effect>
</EffectDLL>
See Also
Fade Effect
The Fade effect causes a clip to fade in to or out from a solid color of your choice. It takes the following parameters.
| Parameter | Type | Default | Range | Description |
| FadeIn | bool | 0 | 0 or 1 | 0 indicates that the clip will fade out to a color; 1 indicates that a clip will fade in from a color. |
| FadeColor | long | 0 | 0 to 0xFFFFFF | The number can be given in hexadecimal or binary. In hexadecimal, the values represent blue, green, and red values as 0xBBGGRR. (This is not a misprint. The blue value must be first.) |
The following XML code shows the Film Aging effects included in Windows Movie Maker:
<EffectDLL guid="{EC85D8F1-1C4E-46e4-A748-7AA04E7C0496}">
<Effect nameID="62877" iconid="11" comment="Fade Out, To black">
<Param name="FadeIn" value="0" />
<Param name="FadeColor" value="0" />
</Effect>
<Effect nameID="62878" iconid="9" comment="Fade in, from black">
<Param name="FadeIn" value="1" />
<Param name="FadeColor" value="0" />
</Effect>
<Effect nameID="62879" iconid="12" comment="Fade Out, to white">
<Param name="FadeIn" value="0" />
<Param name="FadeColor" value="16777215" />
</Effect>
<Effect nameID="62880" iconid="10" comment="Fade in, to white">
<Param name="FadeIn" value="1" />
<Param name="FadeColor" value="16777215" />
</Effect>
</EffectDLL>
See Also
Film Aging Effect
The Film Aging effect introduces graininess, scratches, and other visual artifacts that make it appear as if a film is old. It takes the following parameters.
| Parameter | Type | Default | Range | Description |
| Age | long | 0 | 0 to 100 | Number of "years" to age the film. |
The Age parameter is actually a combination of ten separate parameters. If you want to set these parameters independently, rather than using the Age parameter, you can do so. These are the parameters that Age includes.
| Parameter | Type | Default | Range | Description |
| BlurAmount | long | 0 | 0 to 255 | Higher value means blurrier image. |
| EdgeFade | long | 0 | 0 to 255 | Higher value means more edge fade. |
| FilmJerkiness | long | 0 | 0 to 255 | Degree of film jerkiness, where 0 is least and 255 is most. |
| FlickerFrequency | long | 0 | 0, 1 to 255 | This effect sets the darkness of intervening, regularly spaced frames, where the lower the number, the darker the intervening frames, giving a flickering appearance. Zero means no visible flicker. |
| FrameSkips | long | 0 | 0 to 255 | Number of frames to skip before showing the next frame. |
| Grey | bool | false | true, false | True means grayscale (black-and-white) image. |
| LineFrequency | long | 0 | 0 to 255 | The frequency of white traveling "cracks" or lines in the image, where 0 creates the fewest lines and 255 the most. |
| LintFrequency | long | 0 | 0 to 255 | Frequency of "lint" or "tears" on the screen, where 0 creates the least and 255 the most. |
| NoiseFrequency | long | 0 | 0 to 255 | Adds noise to the image, where 0 creates the least noise and 255 the most. |
| PosterizeBits | long | 0 | 0 to 8 | Amount of posterization to apply to the image, where zero is least and 8 is most. |
The following XML code shows the Film Aging effects included in Windows Movie Maker:
<EffectDLL guid="{ADEADEB8-E54B-11d1-9A72-0000F875EADE}">
<Effect nameID="62874" iconid="4" comment="Film Age, Oldest">
<Param name="Age" value="90" />
</Effect>
<Effect nameID="62875" iconid="3" comment="Older">
<Param name="Age" value="60" />
</Effect>
<Effect nameID="62876" iconid="2" comment="Old">
<Param name="Age" value="30" />
</Effect>
</EffectDLL>
See Also
Filter Effects
Filter effects provide a variety of effects often associated with print media. Each effect has a number of parameters associated with it, passed in by generic names Control1Value through Control8Value. Not all parameters are used for every effect. Effects cannot be combined. The following table describes the parameters for all effects.
| Parameter | Type | Default | Range | Description |
| EffectID | long | 0 | 0 or 1 | The ID of an effect to use, described in the next table. |
| Control1Value to Control8Value | long | Varies by effect | 0 or 1 | Up to eight custom parameters for the effect. |
| Transparency | long | 0 | 0 to 100 | How transparent the added effect is, with a higher number indicating more transparent. |
| RGBForeColor | string | black | Any standard HTML color string that Internet Explorer will accept | Depends on the EffectID. |
| RGBBackColor | string | white | Any standard HTML color string that Internet Explorer will accept | Depends on the EffectID. |
| RGBExtraColor | string | black | Any standard HTML color string that Internet Explorer will accept | Depends on the EffectID. |
| TextureURL | string | none | Any standard HTML color string that Internet Explorer will accept | Applies to ConteCrayon, RoughPastel, Texturizer, and Underpainting effects. |
The following table lists the effects that can be specified by the EffectID parameter.
| EffectID | Effect name |
| 0 | None |
| 1 | Accents |
| 2 | AngledStrokes |
| 3 | BasRelief |
| 4 | Mosaic |
| 5 | ChalkAndCharcoal |
| 6 | Charcoal |
| 7 | Chrome |
| 8 | ColoredPencil |
| 9 | Craquelure |
| 10 | Crosshatch |
| 11 | Cutout |
| 12 | DarkStrokes |
| 13 | DiffuseGlow |
| 14 | DryBrush |
| 15 | Emboss |
| 16 | FilmGrain |
| 17 | InkOutline |
| 18 | NotePaper |
| 19 | Fresco |
| 20 | GlowingEdges |
| 21 | Grain |
| 22 | HalftoneScreen |
| 23 | Patchwork |
| 24 | NeonGlow |
| 25 | PaintDaubs |
| 26 | PaletteKnife |
| 27 | Plaster |
| 28 | PlasticWrap |
| 29 | PosterEdges |
| 30 | Ripple |
| 31 | Reticulation |
| 32 | SmudgeStick |
| 33 | Sponge |
| 34 | SprayedStrokes |
| 35 | Stamp |
| 36 | Photocopy |
| 37 | Sumie |
| 38 | GraphicPen |
| 39 | TornEdges |
| 40 | Watercolor |
| 41 | WaterPaper |
| 42 | StainedGlass |
| 43 | Glass |
| 44 | Texturizer |
| 45 | Underpainting |
| 46 | ConteCrayon |
| 47 | RoughPastel |
| 48 | Spatter |
The following XML code shows the Filter effects included in Windows Movie Maker:
<EffectDLL guid="{E673DCF2-C316-4c6f-AA96-4E4DC6DC291E}" >
<Effect nameID="62886" iconid="13">
<Param name="EffectID" value="16" comment="Film Grain" />
<Param name="Control1Value" value="4" />
<Param name="Control2Value" value="0" />
<Param name="Control3Value" value="10" />
</Effect>
<Effect nameID="62887" iconid="27" comment="Smudge Stick">
<Param name="EffectID" value="32" />
<Param name="Control1Value" value="2" />
<Param name="Control2Value" value="0" />
<Param name="Control3Value" value="10" />
</Effect>
<Effect nameID="62888" iconid="14" comment="Graphic Pen">
<Param name="EffectID" value="38" />
<Param name="Control1Value" value="15" />
<Param name="Control2Value" value="0" />
<Param name="Control3Value" value="40" />
</Effect>
<Effect nameID="62889" iconid="30" comment="Watercolor">
<Param name="EffectID" value="40" />
<Param name="Control1Value" value="9" />
<Param name="Control2Value" value="1" />
<Param name="Control3Value" value="1" />
</Effect>
</EffectDLL>
See Also
Mirror and Grayscale Effects
This object provides two abilities: creating a mirror image, and changing a color image to grayscale. This object takes the following parameters.
| Parameter | Type | Default | Range | Description |
| Mirror | long | 0 | 0 or 1 | A value of 1 indicates that the picture should be flipped horizontally. |
| GrayScale | long | 0 | 0 or 1 | A value of 1 indicates that colors should be changed to grayscale, creating a black-and-white image. |
The following XML code shows the Mirror and Grayscale effects included in Windows Movie Maker:
<EffectDLL guid="{16B280C8-EE70-11D1-9066-00C04FD9189D}">
<Effect nameID="62884" iconid="17" comment="Mirror, Horizontal">
<Param name="Mirror" value="1" />
</Effect>
<Effect nameID="62885" iconid="15" comment="Grayscale">
<Param name="Grayscale" value="1" />
</Effect>
</EffectDLL>
See Also
Pixelate Effect
The Pixelate effect causes an image to coarsen into squares of a single, solid color for each square, representing the average color of the original pixels from that area. It takes the following parameter.
| Parameter | Type | Default | Range | Description |
| MaxSquare | long | 50 | 2 to 50 | The larger the number, the larger the squares and the coarser the picture. |
The following XML code shows the Pixelate effect included in Windows Movie Maker:
<EffectDLL guid="{4CCEA634-FBE0-11D1-906A-00C04FD9189D}" comment="Pixelate">
<Effect nameID="62818" iconid="19" comment="Pixelate">
<Param name="MaxSquare" value="25" />
</Effect>
</EffectDLL>
See Also
Speed Effects
Speed effects speed up or slow down the playback of a video. They cannot be used for pausing or backward motion. These effects are not tied to an actual GUID, but are passed the null GUID. Speed effects may cause frame skipping, so selecting a value that is too large will cause an unsatisfactory result. This effect takes the following parameter.
| Parameter | Type | Default | Range | Description |
| Speed | float | 1.0 | Greater than 0.0 | A value of 1.0 is normal speed, less means slower, and greater means faster. |
The following XML code shows the Speed effects included in Windows Movie Maker:
<EffectDLL guid="{00000000-0000-0000-0000-000000000000}">
<Effect nameID="62861" iconid="32" speed="2.0" comment="Speed up"></Effect>
<Effect nameID="62862" iconid="31" speed="0.5" comment="Slow down"></Effect>
</EffectDLL>
See Also
Adding Custom Icons to Windows Movie Maker
You can attach custom icons to your custom effects and transitions for Windows Movie Maker. These icons are created as a resource file in a C++ project and compiled into a DLL. If you are not providing any custom transition or effect code, the project will contain only the icon resource file.
Windows Movie Maker can use a single bitmap image consisting of one or more icons joined at the sides. Windows Movie Maker automatically cuts the image into 96-pixel-wide, 84-pixel-high segments, each segment being one icon. The top and bottom 6 pixels should be left blank for im