Custom Titles & Credits

So lets see what I am talking about. If you have access to a copy of Microsoft Visual Studio or some other resource editor (such as Resource Hacker ) you can peep inside some of the resources of Movie Maker executable: moviemk.exe. Besides many other things it contains five xml files: two of these are for the built in effects and transitions while the other three are for titles and credits. Here is how it looks.

People who have been experimenting with custom effects and transitions would immediately recognize the familiar structure of the xml file. Similar to custom effects and transitions, movie maker will read any xml file placed in the AddOnTFX folder which contains parameters for custom titles and credits. There seems to be many Classes (COM Objects) corresponding to different type of Title or Credit. Each of them would take several different parameters. Some of these parameters are shared suggesting a hierarchical structure.

You can extract the xml files yourself from movie maker executable (or download my edited version of these files from Reference section below ) for studying how these parameters are used.

The rest of the article deals with my understanding of several of these parameters. I will mainly talk about Titles but the same discussion applies to Credits as well.

An overview of the Title xml script

Let study the xml script in more detail. The following figure shows the script for the simplest of the titles called "Basic Title".

Before we proceed any further, it would be best if we can equip ourselves with some xml vocabulary. In the xml speak an expression enclosed in less-than and greater than signs like <exp> is known as an Element. For each element there should exist and EndElement like: </exp>. The whole section of xml code within these two tags is termed as a Node. The extra expressions that appear within an element are called its attributes. If the node expression is just a one liner, the start and end element expressions are combined e.g. <exp. />. In the xml code above we can see that the title element contains three attributes: nameID. iconid and EffectID. Furthermore the title node within <title. >. </title> contains a few other nodes such as < Param. /> which are called its child nodes. The title node is generally made up of one or more param or paragraph child nodes.

Attributes of Title Element

name ="string"

nameID ="resource id"

nameID refers to a resource identifier for a string value. For custom titles this parameter should always be converted to name and its value can be any string name for the title you like to have. This together with the Description parameter fills an entry in the Titles and Credits list of movie maker.

iconid ="resource id"

This parameter is always required but has no significance for titles or credits as the titles are never displayed as icons. If you skip this parameter the custom title can crash WMM. All the standard titles and credits seem to use a dummy iconid of 13.

EffectID ="< guid >"

This is an optional parameter which identifies a particular instance of a title or credit. WMM uses this value to uniquely identify between similarly named titles. If the names are always different then this parameter can be skipped. But if you must specify it the right hand guid value must be a unique guid number. It is important to note that a guid of any standard title should not be used with your custom title, otherwise it would cause WMM a lot of confusion. ( and that is a bad thing ).

Child node: Param

The param nodes that occur directly under Title node specify several parameters to define the layout of the title within movie maker interface and its behaviour and effect over the text expression typed in by the user. Here we will study a few important parameters only. A detailed reference of other parameters and their values is outlined in the table below. Each param node consists of two attributes: name and value. In the following discussion we will specify the possible values that a parameter with a given name can take in the form of name: .

InternalName. < TitleStandard. TitleMultiTitle, CreditStandard >

The parameter InternalName specifies which class is used to implement this particular instance of title. There are two types of internal classes: one that deals with single paragraph titles ( TitleStandard ) and the other that can deal with multiple paragraphs (

TitleMultiTitle ). Presumably the TitleMultiTitle class should also be able to deal with single paragraphs given that it can deal with more than one, but this distinction seems to imply that TitleStandard class is perhaps optimized for dealing with single paragraphs in some way.



The string value specified by the Description appears in the second column within the list of titles and credits movie maker displays for choosing a title animation. DescriptionID does the same thing except the actual string is stored in the resource section of the DLL and only its identifier is specified here. However for custom titles we should always use Description tag. Example: < param name="Description" value="This text appears on the 2nd column in movie maker interface" />

BoundingRect. <"left top width height" >

This is an important parameter as it defines the placement of the title string within the frame. The four values it takes are specified in relative coordinates i.e. as a fraction of the frame width and height. For example to place the bounding rectangle to bottom right corner we can use a value like: Example: < param name=" BoundingRect " value="0.5 0.8 0.45 0.15" /> Having just this parameter gives a whole new freedom to movie maker's titles as exact placement of titles was not possible with the standard interface. Now we can place any of our title anywhere we like. Also see the example below.






This set of parameters controls how the inside of the title’s text is filled. The Bitmap specified by FillBitmapFilename is loaded and then moved around according to the other parameters. It is not displayed as a bitmap but would interact with the text of the title wherever it would overlap it.

This type of effect is used in “Paint Drip” title animation where the titles text is dynamically filled with some dripping paint.



This parameter specifies an overlay image (bmp/png) to be displayed over the video. The important point to note is that the bitmap can have transparency. This would allow placement of semi-transparent or non-rectangular shapes over the image.

This is another very powerful feature which extends the Movie Makers functionality in general.




These set of parameters control where the video is placed during the title animation. The default value for all these is the full screen rectangle “0.0 0.0 1.0 1.0”. If you just specify one of these three parameters the other values will be used to interpolate the placement for intermediate positions. For example the “News Video, Inset” title specifies only MainVideoRect, while the other two are full screen. This causes the video to zoom to inner rectangle at the start and zoom out to full screen at the end.


This parameter specifies what type of rectangle to show as the background for title text. It can take a lot of possible values, but not all of which seem to work with all types of titles.

Values for Entrance/Main/Exit phases

The titles animations can have three phases: Entrance, Main and Exit. Many other parameters control the effect for these phases. For example EntranceEffect defines how the title emerges at the start. Thus specifying EffectFade means it would fade in from transparent. If the duration is specified for any of the phases, the total duration of the title cannot be less than the sum of these durations. For example the "News Video, Inset" specifies EntranceDuration and ExitDuration to be 1.0 seconds each; this implicitly defines the minimum duration of 2.25 for this title animation. Presumably 0.25 is the min duration for Main phase. There is no MainDuration parameter and the duration for the main phase is to be specified by the user interface (by adjusting the time of the title in the Timeline view).

Child Node: Paragraph

Each Title node has one or more paragraph child node(s). These correspond to the text lines contained in the title. For example a main text line and a subtitle text line. Each line can be individually formatted by specifying other param parameters. Although for credits one has to enter several text lines but not as many paragraphs need to be specified in the xml. Specifying two paragraphs would mean that each credit entries would consist of two paragraphs. Number of credit entries is specified via user interface and can be about 50. how to list movie credits


Category: Credit

Similar articles: