Simple Menus |
last updated: 20-Dec-2002 | introduction | anatomy of selection | menu 1 | menu 2 | conclusions | back to index
|
Menus in VCDs are exactly what they sound like... they allow user interaction with the VCD, usually in the form of a choice of some sort. The menus are invariable authored using the <selection> element in the XML file. Click here for a comprehensive look at <selection>.
There will be no CUE/BIN sample of the simple menu to download. The PAL/NTSC Demo VCD has an example of the simple menu. This can be downloaded here: http://www.vcdimager.org/pub/vcdimager/examples/demovcd/
Figure 1 shows diagrammatically how a
<selection> works.![]()
|
A menu can use either a video clip or a still image as the <play-item> (or background). This guide with demonstrate the use of both.
Source files for this project include:
Thus, the following lines in the XML file are needed to reference these source files:
<sequence-items>
<sequence-item src="menu.mpg" id="sequence-menu"/>
<sequence-item src="video1.mpg" id="sequence-video1"/>
<sequence-item src="video2.mpg" id="sequence-video2"/>
<sequence-item src="video3.mpg" id="sequence-video3"/>
</sequence-items>
In this menu structure (as shown in figure 2):
Thus, the <pbc> of this structure can be authored as: <pbc>
<selection id="menu">
<bsn>1</bsn>
<loop jump-timing="immediate">0</loop>
<play-item ref="sequence-menu"/>
<select ref="video1"/>
<select ref="video2"/>
<select ref="video3"/>
</selection>
<playlist id="video1">
<next ref="menu"/>
<wait>0</wait>
<play-item ref="sequence-video1"/>
</playlist>
<playlist id="video2">
<next ref="menu"/>
<wait>0</wait>
<play-item ref="sequence-video2"/>
</playlist>
<playlist id="video3">
<next ref="menu"/>
<wait>0</wait>
<play-item ref="sequence-video3"/>
</playlist>
</pbc>
|
![]() |
In this more complex menu structure (as shown in figure 3):
Thus, the <pbc> of this structure can be authored as: <pbc>
<selection id="menu">
<bsn>1</bsn>
<default ref="video1"/>
<timeout ref="video1"/>
<wait>1</wait>
<loop jump-timing="immediate">3</loop>
<play-item ref="sequence-menu"/>
<select ref="video1"/>
<select ref="video2"/>
<select ref="video3"/>
</selection>
<playlist id="video1">
<next ref="video2"/>
<wait>0</wait>
<play-item ref="sequence-video1"/>
</playlist>
<playlist id="video2">
<prev ref="video1"/>
<next ref="video3"/>
<wait>0</wait>
<play-item ref="sequence-video2"/>
</playlist>
<playlist id="video3">
<prev ref="video2"/>
<next ref="menu"/>
<wait>0</wait>
<play-item ref="sequence-video3"/>
</playlist>
</pbc>
|
![]() |
Source files for this project include:
Thus, the following lines in the XML file are required to reference these source files:
<segment-items>
<segment-item src="menu.mpg" id="segment-menu"/>
</segment-items>
<sequence-items>
<sequence-item src="video1.mpg" id="sequence-video1"/>
<sequence-item src="video2.mpg" id="sequence-video2"/>
<sequence-item src="video3.mpg" id="sequence-video3"/>
</sequence-items>
In this menu structure (as shown in figure 4):
Thus, the <pbc> of this structure can be authored as: <pbc>
<selection id="menu">
<bsn>1</bsn>
<default ref="video1"/>
<timeout ref="video1"/>
<wait>60</wait>
<loop jump-timing="immediate">1</loop>
<play-item ref="segment-menu"/>
<select ref="video1"/>
<select ref="video2"/>
<select ref="video3"/>
</selection>
<playlist id="video1">
<next ref="video2"/>
<wait>0</wait>
<play-item ref="sequence-video1"/>
</playlist>
<playlist id="video2">
<prev ref="video1"/>
<next ref="video3"/>
<wait>0</wait>
<play-item ref="sequence-video2"/>
</playlist>
<playlist id="video3">
<prev ref="video2"/>
<next ref="menu"/>
<wait>0</wait>
<play-item ref="sequence-video3"/>
</playlist>
</pbc>
|
![]() |
By following the instructions in this guide and some extrapolation, self made menus should be easily accomplished. A simple menu is functionally the largest difference between a PBC enabled VCD versus and PBC disabled one. It transforms a VCD from the video equivalent of an audio CD, to something that responds to human interaction. Furthermore, it allows the VCD author full control of the manner in which the video and other media is to be displayed rather than leaving it to the whims of the stand-alone player (and/or the audience!) The effect contributed by a simple menu is the difference between active and passive, for both the author and audience.
Once the simple menu is mastered, I strongly recommend progressing to more complex menus. A guide on the multi-menu VCD is available here.
Michael Tam <vitualis (at) michaeltam.com>
anti-spam device - replace (at) with @ to send me e-mail
(c) 20 December, 2002