Firstly i agree that the spec states that Dolby Digital is always set to be the first audio track. There's no technical reason for this though, it's only because every DVD player has a DD decoder built in and it enables the disc to be played by everyone as soon as it's inserted into the machine.
Actually, there is a very good technical reason for this.
If the default stream #1 is DTS, then there is a very real chance certain people will get White Noise out of their system - if their player cannot handle DTS then it becomes more than a possibility. It's rare, admittedly, but it does happen.
Best way is to use custom VM commands in DLP here and an Audio Setup menu.
Code in Audio Setup would be as follows:
Dullby Select - SetSTN (audio = 0), LinkPGCN x (where x is the number of the playlist menu - see below)
DTS Select - SetSTN (audio = 1), LinkPGCN x (linking to the same playlist)
The reason to write the code manually is that you must turn off the Abstraction Layer when compiling - this is an option in DLP thanks to Oscar being a top chap & adding it for us.
To get the menu number, simply count the menus in the VTS. For example, suppose we are in VTS1, and we have the following content:
ROOT MENU = Main menu (Play, Playlist, Audio Setup) = PGCN 1
Playlist = PGCN 2 (assuming it is the second menu in the VTS list, as seen in the structure list - not the connections window)
Audio Setup = PGCN 3.
So our buttons would read as follows:
PLAY - Custom VM Command = JumpVTS_PTT (tt 1, ptt 1)
PLAYLIST = LinkPGCN 2
AUDIO SETUP = LinkPGCN 3
Playlist buttons would be as follows:
TRACK 1 = JumpVTS_PTT (tt 1, ptt 1)
TRACK 2 = JumpVTS_PTT (tt 1, ptt 2)
etc.
BACK TO MAIN MENU = LinkPGCN 1
RESTRICTIONS:
1 - Each VTS must contain identical assets. So if VTS 1 TT 1 has Dullby & DTS at a 16:9 Aspect Ratio, all other titles in VTS 1 must be the same.
If we also have additional content in, say, LPCM then these must go into a different VTS. This applies to 16-bit and 24-bit - you cannot mix bit depths in the same VTS either.
(we did this, and hit a problem where 3 streams were 24-bit & 1 was 16-bit. Most players handle this with no problems, but some do not & play the 16-bit stream at the same data rate as the 24-bit, and you end up with what sounds like Pinky & Perky on bad acid)
2 - Jumping across VTS from one to another is restricted, and you cannot go from a menu in VTS 1 to a menu in VTS 2 or a title in VTS 2.
To get around this you need to use VMGM menus instead. It sounds more complex than it really is - if, for example, you have the following setup:
VTS 1 = Dullby/DTS 16:9
VTS 2 = 24-bit LPCM 16:9
VTS 3 = 16-bit LPCM 16:9
You would need the following VMGM menus, all blank (unless you are using motion transitions of course)
VMGM 1 (in the VM commands this would be "pgc 1") = VTS 1 Entry
VMGM 2 = VTS 2 Entry
VMGM 3 = VTS 3 Entry
You then set up a Pre Command in each PGC that either goes to the Root Menu in the target VTS or else straight to an asset via a dummy root menu.
Code for menu link = JumpSS VTSM (vts x, tt 1, menu ROOT) - where x is the number ofthe VTS being linked to.
Code for direct title link = As above, but with an additional PRE command in a blank dummy Root menu = JumpVTS_TTx (where x is the title number)
Code for VTS2 Root Menu back to VTS 1 root menu = CallSS VMGM (pgc 1, rsm_cell 1) - modify the pgc number as appropriate.
First Play & Title commands:
FP = JumpSS VTSM (VTS 1, tt 1, menu ROOT)
Title = as above.
Title POST commands for multi-VTS titles = CallSS VMGM (pgc 1, rsm_cell 1) - this will take you to the root menu in VTS 1.
Title POST command on single VTS = CallSS VTSM (menu ROOT)
I'll try to put a complete list together, but each disc is different.