View Full Version : Skipping ahead (but by bypassing commands)
Tagg
11th December 2007, 03:43
OK, so I want to let the studio logo play, then I want to go directly to the menu. The problem is that even after blanking all the previews/warnings out (in either VobBlanker or PgcEdit), my DVD Player takes awhile processing all of the commands that those cut clips had. Therefore, it is more like 20 seconds later (and a black screen) before I get to the menu.
How can I skip directly from the first studio logo to the menu - does anyone know? I'm willing to use any kind of software.
spyhawk
11th December 2007, 06:19
By redirecting navigation via commands using PgcEdit.
blutach
11th December 2007, 07:37
That's one heckuva delay. The laser must be going back and forwards a dozen times to blanked PGCs. Ensure the playback has been killed and not simply the cell blanked.
But if this is a hassle, you can do this.
With PgcEdit (http://www.videohelp.com/~r0lZ/pgcedit/index.html), trace to the end of your intro. Take a note of all the GPRMs (0-15) and their values.
Let's suppose your menu is in VTS 1, root menu (it may be somewhere else but that is not important - it just means a couple of extra commands). Now continue the trace to the very start of the precommands of the root menu. Note which registers have changed.
Make a new PGC in VMG (let's suppose it is PGC 25) and in that PGC, set each changed register to its new value (15 set statements maximum). Then at the end of that PGC, put in a command to Jump to VTSM 1, Root Menu. It might end up looking something like this:
1 Set gprm(3) =(mov) 0
2 Set gprm(8) =(mov) 36
3 Set gprm(9) =(mov) 236
4 Set gprm(10) =(mov) 78
5 (JumpSS) Jump to VTSM 1, Root menu (TTN 1)
Finally, author the first post command of the intro to jump to the new PGC in VMGM as follows:
1 (CallSS) Call the VMGM PGC 25, resume cell 1
This way, you should jump directly to the root menu from your intro.
Regards
r0lZ
11th December 2007, 11:56
Right, blu, but PgcEdit has some functions to somewhat automatize this process.
Take a note of all the GPRMs (0-15) and their values.
Here, it is sufficient to use the trace menu option State -> Clear Register Changed Flags.
Note which registers have changed.And here, just use Trace menu -> Clipboard -> Copy Changed Registers as Commands.
set each changed register to its new value (15 set statements maximum).And finally, just paste the commands here.
However, note that if an audio, subpic or angle has been changed during the trace, a SetSTN command will be pasted as well, but it is illegal in the VMGM. You have to remove it. Usually, that doesn't cause problem, but if it's the case, verify carefully if the right streams are selected when playing the main movie. (BTW, it's why I prefer to modify the pre-commands of the target PGC directly, but that requires to initialize and compare a GPRM to skip the new commands when the PGC is entered after the first time.)
Another problem that could append with this method is that the last Title PGC that is normally visited before the menu is not visited any more. If, in the menu commands, the jump to the movie is made with a RSM, that will not work anymore. Luckily, this kind of authoring is very rare, but again, don't forget to verify if the menu buttons work as expected.
blutach
11th December 2007, 12:17
LOL - thank you r0lZ - I was looking for these commands as I wrote my post and referrig to Jean's old guide but wasnt too sure. Thanks for the clarification!
Regards
Tagg
11th December 2007, 18:08
Big thanks to you both - I'll try it out now!
/edit: That worked out fantastically. Thanks again. :)
blutach
11th December 2007, 23:27
http://www.digital-digest.com/~blutach/yer.gif
mikenadia
11th February 2008, 13:10
I would like to bypass the language menu upon DVD insert ( the only way I was able to do it was to Kill Playback on that PGC ( I do not know how to differentiate the DVD insert path (first time that PGC is called ) from another one) but I am not sure that it is the right way because that PGC is called many times (not only during the DVD insert path).
I've read the above-mentionned method (but that will be last resort).
Thx
r0lZ
11th February 2008, 14:23
If you are sure that you will always select the same button of the menu, you can safely kill it.
If you want to bypass it only the first time, use Jump to PGC Upon DVD Insert.
Calimari
12th February 2008, 20:00
@mikenadia:
If you wanna kill playback of the menu language, you might wanna have a closer look at the button-commands before you do this. In many cases, pushing a button sets a register (gprm) to a certain value (eg. English -> Set gprm(5) =(mov) 15, French -> Set gprm(5) =(mov) 16, etc...) You can check this in PgcEdit's menu-editor (ctrl-m), by pointing the cursor over the button. Now, if the state of that gprm is checked in the postcommands of the pgc (LinkTailPGC), and the result of this test is a jump/link-command to another pgc, you can probably make a few pgc's uncalled (at least from that point) In my example, suppose you kill playback of the language menu and choose English as the default language, gprm(5) will never be 16 anymore in this section. So if you see something like "if ( gprm(5) == 16 ) then { LinkPGCN PGC 9 }", you can safely replace this line by a NOP (or delete it, but be sure 'Autorenumber GOTO's when commands added/removed' is switched on in the options-menu then). That way you delete the calling command to pgc 9 and, if you're lucky, make it uncalled (and hopefully a few more as a kind of a chain reaction) I don't know if you're familiar with it, but PgcEdit has a very powerful function 'Delete uncalled PGC's, which completely deletes uncalled pgc's out of the IFO's. Of course, to recuperate discspace, you have to clean the VOB's too (with FixVTS or VobBlanker)
Oh, to check were a pgc is called, you can use the 'Go to calling command' function (right-click menu or info-menu) With this function, it's very easy to check where a pgc is called for the first time.
mikenadia
12th February 2008, 21:17
Very instructive, Calimari. I went with The Jump to PGC on DVD insert. I will try your method later on.
Thx, r0lZ.
blutach
12th February 2008, 22:56
If, in Calimari's example, you manage to get all of the refs to gprm(5), you'll often find large gobs of menus can be eradicated. Many menu PGCs test for the language that is set via the gprm and go to a different PGN or PGC based on this. If you can see that gprm(5) is only used for this, you can generally get rid of many menu PGCs or PGNs which correspond to unwanted languages.
Regards
r0lZ
13th February 2008, 10:13
@Calimari: :goodpost:
@mikenadia: You can combine the method explained by Calimari with Kill Playback of the menu. But you should apply Calimari's method before, as, when you kill the menu, the buttons will disappear, and you won't be able to analyze their commands anymore.
mikenadia
25th February 2008, 17:07
Regarding post #3 of this thread, how do I choose the TTN number ( besides trial and error ) of the Jump to root menu command, if I have more than 1 TTN in that VTS.
Is it linked to the button I will select in that menu?
Thx
r0lZ
25th February 2008, 18:01
The TTN number is usually not used by the navigation. You can use any TTN, but I recommend either TTN 1, or the TTN number of the title you are coming from.
Calimari
25th February 2008, 18:10
@Calimari: :goodpost:
:thanks: But of course, all credits go to you and you wonderful software. But I guess you already know I'm a big fan of it :)
@mikenadia:
The jump to root command will jump to the root menu of a certain VTS. Don't get confused by the value of sprm(5) that you can change there. It's not a target or a gprm value to set, but a system parameter register. In other words, a register that normally gets set or changed by the system (the player). Changing this value doesn't change the jump command (it always jumps to the rootmenu), it only lets the player know which "title number in VTS" just has played. In human language, what is the TTN value of the movie-logo-warning-... that just has played before the navigation reached this point. This can be a titlenumber of any VTS. This value is set automatically, but here you can change it to "cheat", and make the player think another title just has played. Search your DVD commands for checks on "sprm(5)" to see if this value is used (text window at the bottom of PgcEdit's main window, just insert "sprm" and click "all" to see all sprm's). If it isn't used, leave the value of TTN to 1 (default value). If this sounds too confusing to you, also leave it to 1.
If you do wanna jump to another PGC with the Jump to Root command, you can set the menu type of a PGC by right clickin' it and choose "set menu type". You can change the original root menu to "none" and make another PGC the root menu. Of course, this only works with menu-PGC's (LU x), and not with TTN's.
r0lZ
25th February 2008, 18:20
@Calimari: :thanks: and :goodpost: again!
Note however that changing the root menu without moving it to the top of the LU (as PGC 1) might be dangerous. I have recently experienced that. Two players refuse to work! (There is a thread somewhere here about this problem.)
[EDIT] It's at least true for the title menu, and for one bad player: my KISS. The thread is here (http://forum.doom9.org/showthread.php?t=129638).
Calimari
25th February 2008, 18:25
@rOLZ
Wow, I do that frequently, eg. when all menu languages are in the same LU. I've never experienced problems, but I'll keep your advice in mind. Thanks for the tip!
vBulletin® v3.8.5, Copyright ©2000-2012, Jelsoft Enterprises Ltd.