Index |
Next | Prev |
MuxMan Buttons:
Complex commands cannot be used as button actions with MuxMan, as
button actions may only have one 'simple' command. Dvdauthor uses some
kind of 'trick' for this purpose, which can be used with MuxMan too,
but not automatically.
The principle is using a register which is set by the button command
and examined in the menu post command. In GfD there is a predefined
action (can be found in the button actions listbox): Mov GPRM15,1 ; LinkTailPGC
The menu pre command sets GPRM15 to '0'. Each button may set GPRM15 to
any value <> 0 (Mov GPRM15,1 or Mov GPRM15,2 ...) and 'jump' to
the menu post section (with LinkTailPGC), where the value of GPRM15 is
checked and the appropriate sequence of instructions is executed. The
menu post section may be edited with the Advanced Pre/Post Command Editor.
If you click on 'Calc Standard' for the pre and post commands, you
get the following 'framework' (example for an audio menu in the first
titleset=TS1SubMenu1):
The pre command sets GPRM15 to 0:
Mov GPRM15, 0
The Button uses the command:
Mov GPRM15, 1 ; LinkTailPGC (further buttons: Mov GPRM15,
2 ; LinkTailPGC...)
Within the post commands the value of GPRM15 is checked and according to the button a specific section is linked via GoTo :
if ( GPRM15 == 1 ) GoTo Tag1
Break
Tag1:
NOP
In case of a 'looping' menu:
if ( GPRM15 > 0 ) GoTo Tag0
LinkCN MainMenu_cell1
Break
Tag0: if (GPRM15 == 1 ) GoTo Tag1
Break
Tag1: NOP
To give you an example: The dvdauthor command: "if (g1 eq 0) {audio=1;resume;}
else {audio=1;jump menu
1;}" within the submenu TS1SubMenu1 can be 'rebuilt' for MuxMan with a command sequence like this:
if ( GPRM15 == 1 ) GoTo Tag1
Break
Tag1: SetSTN audio=1
if ( GPRM1 == 1 ) LinkPGCN TitleSet1Menu
if ( GPRM1 == 0 ) RSM
Break
Complete example for an audio menu which is created as the first submenu of the first titleset menu
(TS1SubMenu1) to select two different audio streams (like German and English):
(Important: The pre command of the movie 'Film1' sets GPRM1 to '1' and
the post command to '0' again; this can be set up if the Advanced
Pre/Post Command Editor is started from the Video+Audio files dialog of
'Film1')
Explanation: The pre command sets the highlight for the button in
accordence to the currently selected audio stream: if (GPRM15 ==
SPRM1 ) SetHL_BTNN HL_BTNN=1 or 2. Each button only sets GPRM15 to
'its' own value and jumps to the menu post commands section. In the
post commands the value of GPRM15 is examined and the correspondent
command sequence is executed: The audio buttons FreeButton1 (SM1B1) and
FreeButton2 (SM1B2) set the audio stream to a specific value (SetSTN
audio=1 or SetSTN audio=2) and either link to the titleset menu (if
GPRM1=0) or resume to the playing movie (if GPRM1=1); remember that
the 'Film1' pre command sets GPRM1 to '1' and the post command to
'0'. The Back-button doesn't change the selected audio stream, but also
either links to the titleset menu or resumes to the playing movie. The
'Film1' pre and post commands look like this: