Log in

View Full Version : how to remove menus for unwanted language


itchione
30th September 2007, 13:27
When removing unwanted and annoying video, it's normally a simple and intuitive use of the trace function within pgcedit by ticking 'blank this cell' for the video that i am not interested in. I also remove buttons from the main menu pointing to the extras and language/subtitle menus (but yet to play with redoing the main menu video to remove the actual text for these now removed buttons). My next step is to strip the rubbish from the vob files using fixtvs (by this time it may fit a dvd5, if so i create an iso and burn). In most cases i use shrink to strip the other languages and subtitles from the disk, (as it is still too big) and then jump back to pgcedit to produce the iso ready for burning. It may not be the most effective way to do it but i seem to get what i feel are good backups of my disks :)

What i am now trying to understand is how to remove all menus except the english main menu and chapter selection menu from an already authored disk. Unlike the above, menus are a little different as i can't just tick 'blank this cell'. Seems i need to understand a little more than i do about the dvd structure, commands and registers. I am not there yet :confused:

Until now, i never get to see the other language menus using the trace function. I have just realized i can set one of the other language codes as the default within the virtual player setup window and in my tracing, i now see that language menu :o The other way i can see the other language menu is to double click an appropriate VTSM and preview the cell within the PGC edit window. As i see it, neither method gives me an easy way to remove these menus (obviously i am missing something) :confused:

I have tried following the commands when performing the trace but it doesn't make sense. As an example, tracing to the warner promo, i get:

------> Entering VMG , First-Play PGC
-- pre 1 : Set gprm(0) =(mov) 0
-> gprm(0) = 0 (0x0000)
-- pre 2 : (JumpTT) Jump to Title 2
-> sprm(4:Title number in volume) = 2 (0x0002)
-> sprm(5:Title number in VTS) = 2 (0x0002)
-> sprm(6:PGC number) = 2 (0x0002)
-> sprm(7:Chapter number (or PGN)) = 1 (0x0001)
-> sprm(14:Video preference and current mode) = 2 (0x0002)
------> Entering VTST 1 , 2 TTN 2 (0:12) Title 2
-- pre 1 : if ( gprm(6) == 1 ) then { Goto line 12 }


but when looking at the VMGM, first play PGC commands, i don't see where the pre 2 commands come from. There are no sprm commands in any VMGM/VTSM/VTST.

I thought it could be a simple case of copying some commands to force 'en' earlier in the flow and then select the unwanted menus directly/manually and 'kill pgc playback' (so as to later remove them from the vob using fixvts). As i understand, in my case i can't select the button to jump to if i try and 'kill pgc playback' as the menu button i want to select is a LinkPGCN command.

So where do the sprm pre commands come from ?
Can i set a sprm command to force a language ?
How ?

Is a 'kill pgc playback' of a VTSM allowed if i select a linkPGCN button within the menu ?
Will this allow me to later remove dummy VTSM's as they may become uncalled ?

Is there an easier way using pgcedit and cleaning up the menus ?

Cheers, itchione.

blutach
30th September 2007, 15:38
Yes, for unwanted menus, use Kill Playback (Ctrl-K). PgcEdit (http://www.videohelp.com/~r0lZ/pgcedit/index.html) will ask you to select a button (eg main menu), which on entry to the PGC will be selected and executed as if you pushed it yourself. It will then ask if you wanna make the cell a dummy - say yes. Note if there are Link Cell or Link Pgn commands in the precommands, delete them first. Clean up afterwards with FixVTS.

If there are alternative languages in other PGCs, the way I do it is to use the PGC Editor to change the VCIDs in each foreign language PGC to mimic exactly the corresponding the English ones. Again FixVTS cleans up nicely.

Regards

Calimari
30th September 2007, 20:27
You can also make your DVD preferred-language-independent by searching for the string "preferred". Then you can change this sprm (preferred language, subtitle language or menu language) by the language code you prefer (English is 25966). This way the navigation doesn't check the settings of the player anymore. English will always be the chosen language. Also, check the commands after this command, as it's possible that you may delete some link commands because they'll never be executed due to your previous action. This can make some PGC's uncalled. PgcEdit's 'Delete uncalled PGC's" function will find them and delete them.
Watch out with menus in different languages who actually have their own laguage code (eg. "en" and "fr", instead of all being "en"). These are easy to delete (remove LU), but if you don't delete them, the player still might select different menus (even after you deleted these commands) depending on its settings of preferred language (eg. when pushing "root" on your remote control).

r0lZ
1st October 2007, 07:49
To summarize what has been said above, there are two completely different method to select the menu language.

The most complicated method is to place all languages in the same LU, and use navigation commands to jump to the cell or PGC corresponding to the preferred language of the user. When this method is used, you can either change your preferred language in the virtual player setup and restart the trace, or, as Calimari has suggested, use a more advanced method and search for the command that stores your preferred language in a GPRM and modify that command manually.

The other method is the use of the LUs (Language Units.) In this case, each language is authored in a different LU, and the player selects automatically the LU to use based on the value of SPRM(0:Preferred Menu Language). You can also trace those LUs by changing your language preferences in the virtual player setup, but if you need to regain space on the disc, you can easily remove the LUs you don't need. Remember that PgcEdit removes the LU in the IFO only, so, to regain the disc space, you have to process the modified menu domain with FixVTS or VobBlanker to drop the unreferenced cells.
You cannot force the player to use another LU with a VM command. The only way to select another LU is to change the settings of your player.

r0lZ
1st October 2007, 08:02
------> Entering VMG , First-Play PGC
-- pre 1 : Set gprm(0) =(mov) 0
-> gprm(0) = 0 (0x0000)
-- pre 2 : (JumpTT) Jump to Title 2
-> sprm(4:Title number in volume) = 2 (0x0002)
-> sprm(5:Title number in VTS) = 2 (0x0002)
-> sprm(6:PGC number) = 2 (0x0002)
-> sprm(7:Chapter number (or PGN)) = 1 (0x0001)
-> sprm(14:Video preference and current mode) = 2 (0x0002)
------> Entering VTST 1 , 2 TTN 2 (0:12) Title 2
-- pre 1 : if ( gprm(6) == 1 ) then { Goto line 12 }

When a command is executed, the line in the trace log begins always by "--". Here, pre-command 2 of the FP-PGC jumps to Title 2. The 5 lines following that commands are changes made by the player itself when it enters a new title.

Although there are some VM commands that can change the content of some SPRMs (such as SetSTN or SetHL_BTN), most of the time the SPRMs are set by the player itself. Some of them are modified internally when you change the setings of the player (such as your preferred menu, audio and subpic languages), some are dependent of the hardware (such as the player capabilities), and some are modified dynamically when the DVD is playing (such as all SPRMs changed in your example.) The VM commands can check the SPRMs later for example to select automatically the right menu button of your chapter menu, based on the last chapter that was playing when the user has interrupted the playback to return to the menu (in this case, it's SPRM(7) that will be used for the check.)

prOnorama
1st October 2007, 08:54
Sorry for the n00b question: I have used VobBlanker to blank out unwanted foreign menu's and then used PgcEdit to disable a few menu buttons leading to those blanked menus and then created an ISO & burned it.

So I didn't use FixVTS. Is this a problem? (have to say the backup plays fine in my standalone)

r0lZ
1st October 2007, 09:36
No, if you use VobBlanker to blank the useless stuff, it replaces the original cells with tiny black cells immediately, when the VOB files are processed. You don't need FixVTS to remove the unreferenced cells.

In the other hand, PgcEdit adds a blank cell at the end of the VOB file, and modifies the IFOs so that that new cell is used instead of the original cell, but it doesn't remove the original cells. If you want to regain the disc space, you have to remove the cells that are now unreferenced from the VOBs after the process, with FixVTS or VB. (BTW, VB drops the unreferenced cells anyway when you process a domain, and it's also the main job of FixVTS.)

Calimari
11th October 2007, 09:39
@rOLZ
To bring this up once again...

I have a disc which has a lot of PGC's in the VTSM of one VTS.
They're paired, the even numbers are the English menus, the odd numbers are the French equivalents. And with a lot, I mean over 100. They're all in the same LU. Now, I wanna remove the French menus by making them uncalled, so that PgcEdit can remove them. Searching the calling commands of each PGC and modify each LinkPGCN command (PGCN -1) is a lot of work in this case. Remapping only the French "rootmenu" PGC is not enough to make all the rest of the French PGC's uncalled, as they contain a lot of button-commands, keeping them all linked to each other.

I've been playing around with the Search and Replace plugin, to modify all LinkPGCN commands in one move. This works fine, but it changes the specified commands in the entire DVD, not only in the VTS I'm working in.

A dump of the DVD commands (Info - DVD Commands) lets me quickly find the commands that I want to change. I can change the values in the text window, but there is no possibility to save the changes to the IFO's. It only writes to a text file.

So, in the Go To Calling Command window, do you think there's a possibility to filter the LinkPGCN/JumpTT/JumpVTS_TT commands out and extend it with some kind of a 'remap PGC/Title/TTN' function?
Or, to stick with the hex commands, a filter (VTS, domain, or whatever...) in the S&R plugin window?

blutach
11th October 2007, 10:23
@calimari

As you already know, there are a couple of ways you can do this conveniently, even where a lot of PGCs exist.

Of course, the "long way" is to remap the VCIDs in each PGC - something I guess you don't wanna do but it doesn't take all that long really.

Another way is to kill playback on the various French menus until they all become uncalled. This may also mean changing some precommands in some of the PGCs to ensure the French main (and other) menus are diverted to the English ones.

Why don't the authoring companies take advantage of LUs? That's what they were invented for, fgs!!!!

Regards

Calimari
11th October 2007, 12:47
Blutah, thanks for advice, but...


Of course, the "long way" is to remap the VCIDs in each PGC - something I guess you don't wanna do but it doesn't take all that long really.
Yes I know this method, but I can't stand redundant PGC's :)
Because that's what will be the result, two identical PGC's each time, showing the same thing. I know this isn't a big waste of disc space as both would use the same VOB/cell ID, I just can't stand it ...
Besides, I'd have to modify each PGC in the PGC Editor, changing each VOB/cell ID. I'm talking about 102 PGC's here. And with two youngster fighting on my back all the time, there WILL be errors involved :)


Another way is to kill playback on the various French menus until they all become uncalled. This may also mean changing some precommands in some of the PGCs to ensure the French main (and other) menus are diverted to the English ones.

That's also a problem, as a lot of the menus have buttons, so I would have to choose one when I kill playback. Which one? I guess I'd have to find myself a route that brings me back to the root menu and kill playback of all PGC's on my way. This probably would delete a number of links to other PGC's, IF I got lucky and deleted all links to them. Because this would only work if the buttons themselves make a link/jump out of the PGC. But mostly, the buttons are handled in the postcommands, where the highlighted button number or the state of a gprm is checked. Kill Playback will emulate a users action (pushing button), but it will not delete all condition checks, which contains the links (which I normally do manually after each kill playback)
So this would bring me back to where I started, I'd have to check each PGC and modify the commands manually.


Why don't the authoring companies take advantage of LUs? That's what they were invented for, fgs!!!!
Regards
Right! And especially if all menus are identical.

I guess there isn't an elegant solution to 'remap' such a number of PGC's, I hope rOLZ finds this issue important enough to implement something.

r0lZ
11th October 2007, 13:07
Or, to stick with the hex commands, a filter (VTS, domain, or whatever...) in the S&R plugin window?
I have received a similar request by email. Indeed, it might be useful to apply the search & replace on a limited set of commands only. It's in my todo list, but currently I don't have much time for PgcEdit, so, for your current DVD, it might still be necessary to do the job manually.

Another method could be to delete the PGCs manually, and then use Jumps to Nowhere to find the commands that must be deleted. But some commands may still point to a valid PGC, and anyway I'm not sure that it's less work.

Also, if you use MenuShrink to shrink the french cells only, you can probably leave them in place. Selecting the right cells to shrink is fast and easy.

r0lZ
11th October 2007, 14:37
I was wrong. Since it was easy to modify the S&R plugin, I did it immediately. But I haven't tested it well, so use it with care, and consider it as a beta. You can download it here (http://home.tele2allin.be/vt6328799/pgcedit/beta/search_replace_plugin_v22.zip).

You can now limit the action of the Search and Replace to a range of VTSs (VTS 0 is the VMG), to the Title or Menu domains (the FP-PGC is assimilated to a title), and to the pre, post, cell or button/BOV areas, or to any combination of those settings. That should be sufficient in most cases.

Enjoy!

Calimari
11th October 2007, 14:48
Also, if you use MenuShrink to shrink the french cells only, you can probably leave them in place. Selecting the right cells to shrink is fast and easy.
Using the preview of MenuShrink indeed gives a nice overview of the menus. And since I modified the navigation so that the French menus can't be accessed anymore, I could shrink them and leave them in place. Though I hate it when unused PGC's are left in my result, so I take your next solution :)


it might be useful to apply the search & replace on a limited set of commands only. It's in my todo list
I'll go for that one.
Thanks in advance, rOLZ.

@Blutah
Excellent guide (http://www.digital-digest.com/~blutach/SRPlugin/Using_Search_Replace_Plugin.htm)you wrote there, thank you for that.

r0lZ
11th October 2007, 14:54
Thanks in advance, rOLZ.You can thank me now! See my previous post.

Calimari
11th October 2007, 14:58
Since it was easy to modify the S&R plugin, I did it immediately.
Enjoy!

Thanks!
I'm at the office right now, I don't have that disc with me.
Yeah, I just looked at the GUI, that's what I was talking about :)
I'll try it tonight and let you know how it went.
Thanks again for this quick response!