Printer Friendly Version      Send     
Click to Rate and Give Feedback
MSDN
MSDN Library
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:

  • Creating Windows Movie Maker Effects and Transitions in XML   This is a fairly simple task that requires only a text editor and a basic understanding of XML.

    Note   To do this with Movie Maker 2.1, you must have administrator privileges on your computer.

  • Adding Custom Icons to Windows Movie Maker   This is a slightly more complex topic that requires the knowledge of how to compile a C++ project using Microsoft Visual Studio®, and the ability to use any graphics software needed to make custom icons.
  • Creating New Transition and Effect Objects   This requires knowledge of COM and ATL programming, DirectX Transforms, and Microsoft Direct3D® architecture. Additionally, it requires you to have the DirectX Media 6.0 SDK and the headers for the DirectX 7.0 SDK installed. (The DirectX Media SDK was not included in DirectX 7.0.) Both Visual Studio .NET and the DirectX Media SDK installed from the location given at the end of this document include the DirectX 7.0 headers, but neither includes the documentation. The DirectX 7.0 SDK documentation is only included with the complete installation of the DirectX 7.0 SDK (which can be installed using the link at the end of this document). If you want to experiment with making new DirectX Transform Objects, you can download a compressed file that includes sample code for several new effects and transitions at the Microsoft Web site.    

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