So without further ado, let's look at a very basic iHD application. Now, unfortunately you folks at home won't be able to play along with the code samples here because there aren't any tools available yet... but at least you can get an idea for what it's like. And maybe if you're a web developer looking for something new, you embark on a new career! :-)
[Note: I apologise for the poor formatting; I'll try to fix it soon]
An XMU is an "XML Mark Up File" and contains the markup portion of an iHD application. Here's one way "Hello, World" could look:
<root xml:lang="en" xmlns="http://www.dvdforum.org/2005/ihd"
<div style:position="absolute" style:x="822px" style:y="551px"
style:width="250px" style:height="50px" style:backgroundColor="blue">
<p style:font="Verdana.ttf" style:fontSize="48px"
This will place the white text "Hello, World" on a blue background in the middle of a 1920 x 1080 screen.
Let's look at the elements one by one; anyone familiar with HTML should be able to see the resemblance already.
This standard tag identifies the version of XML used in this file.
This is the root node of the document; think of it like the <html> element in HTML. We declare three namespaces that we're going to use (this is a standard XML practice):
This is similar to the <head> element in HTML in that it defines things that aren't part of the visible document. For now, we won't worry about the two child elements, <styling> and <timing>; suffice it to say that the former is for defining styles (similar in concept to CSS) and the latter is for performing animations. The clock="page" attribute simply tells iHD that if we have any times listed for our animations, they are based on the lifetime of his page, not on the timecode of the underlying video. But we'll get to that later...
Again, this is similar to <body> in HTML in that it defines the things that are visible in the document. In this case, the text "Hello, World" and its background.
Once more, we find a familiar HTML-like element, <div>. It is a container for other elements, and we have given it a blue background. We have chosen to position the container at co-ordinates (822, 551) with a width of (250, 50), which will place it in the middle of a high-def screen. This is very similar to what you might do with CSS inside an HTML element, but we are using an XML syntax instead of the CSS syntax.
And, our final HTML-alike element, <p>. It defines a paragraph of text (in this case, "Hello, World") that will be in 48-pixel-high white Verdana.
And that's it, for now. Next time, we'll add some simple animation.
So, you've been tasked with creating a menu for an HD DVD and don't know where to start. Lets start out