Starting with batchMux release 1.2, the configuration of the hard coded
navigation is obtained by means of a single suitable .hcn file (parameter of
the -hcn filename switch). So the DVD authoring navigation is kept separate,
in a dedicated .hcn configuration file. This provides better flexibility and
a more modular and clean approach.

A typical project.hcn file contains lines such as:
  see also other examples of project.hcn files

=============================================
# BatchMux Navigation configuration file.
# Edit at your own risk!

# Number of VMG menu pages
set ::vmg::menupages 3

# Page1:
# Type of menu 0 --> static; 1 --> motion
set ::vmg::menutype(1) 0

# Number of buttons leading to "Titles"
set ::vmg::titlebut(1) 3

# "Play All" button number (0 --> "Play All" button not present)
set ::vmg::playallbut(1) 4

# Page2:
# Type of menu 0 --> static; 1 --> motion
set ::vmg::menutype(2) 0

# Number of buttons leading to "Titles"
set ::vmg::titlebut(2) 3

# "Play All" button number (0 --> "Play All" button not present)
set ::vmg::playallbut(2) 4

# Page3:
# Type of menu 0 --> static; 1 --> motion
set ::vmg::menutype(3) 0

# Number of buttons leading to "Titles"
set ::vmg::titlebut(3) 3

# "Play All" button number (0 --> "Play All" button not present)
set ::vmg::playallbut(3) 4

# Test 1 --> Skip the menu at the DVD insertion: play all titles
#        --> until the end and then go to the title menu
#        --> Function "Skip menu, play all titles"
#        --> Number of commands to change: 1
# 1. Insert a precommand in the First Play PGC
# Set gprm(13) =(mov) 100
set ::precommand::insert FP {[71 00 00 0D 00 64 00 00]}
=============================================


1. "menupages"
   This is a global parameter, defining the number of pages of the compilation.
   Set it to 1 for single page menus;
2. "menutype"
   For each menu page, this parameter defines if the given page is based on
   static or motion assets. In a given compilation, the different pages
   of the menu may have a different "menutype";
3. "titlebut"
   This parameter, for each menu page, defines the number of buttons leading to
   titles in the menu page; these buttons should be the first ones in the menu
   page;
4. "playallbut"
   This parameter, for each menu page, defines the number of the button driving
   the "PlayAll" function. In case no "PlayAll" button is wanted in the DVD
   compilation, the value 0 means "No PlayAll button present". In a given
   session, the single different pages of the menu may have or not one
   "PlayAll" button. In order to change the behaviour of the "PlayAll" button
   (for instance to start the playback from a title different from the first in
   the compilation) it is sufficient to modify accordingly the
   "Set gprm(0) =(mov)1" button commands defined in the mnu asset(s) of the
   given menu page; further more sophisticated (but also more complex to
   control) mechanisms to change the default behaviour of the "PlayAll" button
   are provided by means of the "insert", "append" and "replace" commands (see
   below).
5. All of the other buttons present in a given menu page do not have predefined
   functionalities, so it is easily possible, by preparing suitable mnu assets,
   to include buttons to implement various navigation purposes (for instance to
   move from the given page to the previous, the next, the first or the last).

Please look at the examples provided in the Support Info folder in order to
practice about the way to use BatchMux.exe for building multipage menus...

CAVEAT!
In the mnu assets, the button commands are actually obeyed (and used for the
DVD navigation!!!). For instance it is useful to know that the different pages
are mapped to specific PGCs in the VMG of the DVD. After these pgs, a single
additional pgs for each page tests the "Resume" function. The gprm(0) register
contains the "next title" to play, and so on. For instance the button designed
to play the "title1" should contain the command "Set gprm(0) =(mov) 1" with the
"LinkPGCN PGC 4" suffix in order to test for the resume of the first page...
Some detail about the "default" authoring layout implemented in BatchMux is
provided hereafter:

-------------------------------------------------------------------------------
REGISTER USAGE
-------------------------------------------------------------------------------
- GPRM 0  --> Next title to play
- GPRM 1  --> Temporary (used) register
- GPRM2 ... GPRM 10 --> Registers left free for customisation and future needs
- GPRM 11 --> To enable/disable the RSM resume function [0 --> RSM off]
- GPRM 12 --> Title interruption flag [0  --> Title played until the end]
                                      [       of the last cell,
                                      [20 --> Title interrupted before its end]
- GPRM 13 --> Play all flag [100 --> Play All function enabled]
                            [0   --> Play All function disabled]
                            [200 --> Test 6 customisation example provided]
                            [        where the same register is used to]
                            [        implement the PlayAllWithinPage function]
- GPRM 14 --> Button index [In the PGCs checking the button that was pressed]
                           [after exiting from a menu page]
- GPRM 15 --> Support register
              for the RSM function [0 --> RSM reset]
                                   [1 ... TitleNr --> last title played before]
                                   [                  RSM - e.g. RSM pointer]  

-------------------------------------------------------------------------------
PGC function
-------------------------------------------------------------------------------
FP                        --> First Play PGC, set GPRM to 0 and lead to VMGM{1}
VMGM{1} ... VMGM{TitleNr} --> Title Menu PGCs, handling the navigation among
                          --> the various menu pages and the playback of the
                          --> titles associated to the menu. The menu itself
                          --> is skipped if the PlayAll function is ON.
                          --> In the stress tests 1 .. 6 there are 3 menu pages
                          --> so we have VMGM1, VMGM2 and VMGM3
VMGM{TitleNr+1} ... VMGM{2*TitleNr} --> Return after menu PGCs, testing if the
                          --> resume function was triggered. One additional
                          --> PGC in the VMGM DVD domain for each menu page.
                          --> the purpose in detail is to store into GPRM 14
                          --> the index of the button pressed in the given menu
                          --> page and to implement the test for resume.
VMGM{2*TitleNr+1}         --> Test for "Return to Menu after Title".
VMGM{2*TitleNr+2}         --> "Go forward one Title".
VMGM{2*TitleNr+3}         --> "Clean Up After PlayAll".
VMGM{2*TitleNr+4}         --> "Go backward one Title".
VTSM1 ... VTSM{TitleNr}   --> Root Menu PGC associated to Title1. In the
                          --> current layout, one VTS is dedicated to each
                          --> title. The PGC is not called from any command,
                          --> but it is callable with the remote control
                          --> RootMenu button. When called, for all titles, it
                          --> simply jumps to the VMGM1 PGC
VTST1 ... VTST{TitleNr}   --> Title PGC.



