View Full Version : PgcEdit v9.3 released! (March 22, 2010)


r0lZ
22nd March 2010, 20:03
[EDIT]
See this post (https://forum.doom9.org/showthread.php?p=2011894#post2011894) for v9.4.
See this post (https://forum.doom9.org/showthread.php?p=2024017#post2024017) for v9.5.


PgcEdit v9.3 (March 22, 2010)
A. = Added feature
E. = Enhancement
F. = Fixed bug

Main window and commands list:

A. The Dead commands that cannot be executed due to unconditional jumps or gotos are now highlighted in purple in the commands pane (if the Highlight Gotos and Errors option is enabled.)
E. A GOTO was not renumbered when its target was deleted. Now, it is renumbered so that it points to the first command following the group of deleted commands.
F. Backward GOTO targets were often wrong after a copy/paste operation, and when GOTO commands were appended to a scratchbook section.
E. Right-clicking on the Copy button in the main window does a Copy As Text.

Search box and its result window:

E. Added a new Tab in the Search results window, to see only the commands. Useful for example to check which value a GPRM can have. You can double-click on a line of the Summary tab of the Search window to search for that particular command, and return to the previous search with the new Previous button. It is also possible to save the summary and to copy it to the clipboard. Thanks to M_Knox!
E. The "Most Recently Used" contextual menu of the Search box included dupes when a leading or trailing space was included or when there were upper / lower case differences. Now, the "almost dupes" are automatically removed.

PGC Editor:

E. Improved the tooltip of the NextPGCN pink link in menus.
F. PUOs Editor: It was not possible to input a value for the PUOs editor when it was launched from the PGC editor.
A. PGC Editor -> Subpicture Colour Lookup Table -> Import: Added the VobSub index files (*.idx) to the supported CLUT formats. (Note that the conversion from YCrCb to RGB is not always accurate.)
F. Pgc Editor -> Cell Type Flags editor: Now, the user cannot set the Angle and Interleaved Allocation flags in a menu.
A. PgcEditor -> Create New Cell: New option to copy all cells of a VOB in one operation.
F. When the first 16:9 cell was created in a menu domain, the letterboxed or pan&scan flag was not automatically set in the domain stream attributes. Now, the letterboxed flag is forced by default.

Menu Editor:

E. MAJOR IMPROVEMENT! It is now possible to edit all button positions for all groups at the same time:

The position values are now automatically computed for the groups that are not currently displayed.
The pseudo-group "All" is now a checkbox. When it is ticked, the user can edit all groups at the same time, including the positions of the buttons.
The group radiobuttons are now used only to select the group to display in the viewer (or the group to edit when the All checkbox is not ticked.)
The new All checkbutton is highlighted in RED when there are parameter differences in the groups of the CURRENT button. It is still pink when there are differences in the other buttons. The tooltip of the All checkbutton now contains the list of the group differences for all buttons.
The button position sliders are now highlighted in yellow when there is a notable position difference in the different groups, as it might be better to edit the button positions in each group separately.
New dialogue when the user quits the editor with OK and there are button parameter differences in the groups (except for the positions).

E. MAJOR IMPROVEMENT when creating a new cell with buttons, so that the highlight of the new button is now visible by default. The new cells can now easily be used as a basis for simple still menus, with the help of VobBlanker and DVDSubEdit:

When the FIRST button is created in a cell of a 16:9 domain and the user selects the option to create 2 (or 3) groups, and there is no subpic decoding stream defined in the PGC, PgcEdit now creates a stream with 2 subpics: subpic 0 for the wide display mode, and subpic 1 for the letterbox AND pan&scan modes. It is therefore possible now to edit the button highlights of 2 groups independently with DVDSubEdit. (Note that 3 groups are still not, and will probably never be supported.)
When a new button is created, colour scheme 1 is now assigned by default to the button, instead of colour scheme 0 (usually transparent).
When a new dummy PGC is created, PgcEdit now uses its own CLUT instead of the Muxman default CLUT. As a consequence, when the first button is created and the original colour scheme is still undefined, the default colour schemes created will be different to those created by previous versions of PgcEdit. Colour scheme 1 (the default) is special, as none of the 4 colours are fully transparent, to ensure that the highlight of the buttons created by PgcEdit will be visible anyway.
When the first button of a cell is created and the current colour scheme has not yet been defined and is still full transparent, a default colour scheme with reasonable values is created automatically.
DON'T FORGET TO VERIFY THE NEW BUTTONS WITH A GOOD PLAYER!

A. New functions in the Edit menu "Clear all adjacent button links", "Automatically link buttons (numerically)" and "Automatically link buttons (by position)" to let PgcEdit clear or set the adjacent button links automatically. The Automatically Link functions fail in some cases, notably when there are auto-activating buttons, therefore a verification function "Verify Buttons Accessibility" has been added to check if all non-hidden buttons can be accessed with the remote from all non-auto activating buttons. This function is automatically called at the end of the Automatically Link Buttons processes and when the user OK the editor.
N. New "Paste and Increment" functions in the Edit menu to paste a command and automatically increment some of its parameters. A simplified version "Paste and Increment JumpVTS_PTT" is designed to fill the commands of the chapter menu buttons. See the help in the Edit menu of the editor.
F. When importing or copying a whole menu, the number of numerically selectable buttons was sometimes wrong.
F. The number of buttons was not updated in the list of cells of the menu viewer when the editor was closed.

Menu Viewer and Editor:

E. It is now possible to select the adjacent buttons of the auto-activating buttons with Control+Cursors. (A real player does not allow this with its remote.)
E. It is now possible to select the previous or next button with the keyboard shortcuts Control+P and Control+N. Tooltips added.

File menu:

F. Open DVD: Fixed some bugs when fake PGCs and LUs are automatically removed.
F. File -> Recent DVDs: some DVDs were shown twice in the list.
E. Find BOVs: Improved the method to find all BOVs when the option to Scan Only One VOBU Every N VOBUs is high and the cell is relatively small.
F. Find BOVs: After having scanned a short cell, the scan of the remaining cells was very slow.
F. New DVD: the commands added immediately after New DVD to the FP-PGC were lost, and the Jump To Title 1 command was not highlighted.
A. New function File -> Menu Buttons & BOVs -> Export and convert PAL <-> NTSC to convert the position of the buttons from PAL to NTSC or vice versa during the export operation. The file can be imported in a converted DVD.

Edit menu:

A. New Edit function "Dupe and Increment" to duplicate several commands at once and automatically adjust their parameters. Useful to create long lists of similar commands. See the help in the Edit menu.
Clicking on the Duplicate button (in the bottom of the main window) with the right mouse button calls the new Dupe and Increment function.

Trace mode:

E. The State -> Mark Played PGCs as '<Played>' option has been replaced by Mark Called/Played PGCs in Comments. Now, a PGC is marked as Called and highlighted in light yellow when it has been accessed, and as Played and highlighted in light green when a video cell has been played. It is therefore easier to locate PGCs with never played video content.
F. All Player Audio Capabilities flags were inverted in the Virtual Player Configuration and in SPRM(15).
PLEASE VERIFY YOUR VIRTUAL PLAYER CONFIGURATION!
F. A NextPGCN link not pointing to itself in a menu is now considered as invalid by the trace.
F. Trace menu -> State -> Clear All Played/Called Comments and Highlights replaced the other comments with "-". Thanks wencaS!
F. The Control+Down key (shortcut to start the trace) was active even when the trace mode was off.
F. It is now impossible to jump to the post or cell commands of a cell without buttons but with an infinite still time. The user must now press a button on the remote to continue to trace.
F. The trace was blocked when a Title PGC with BOVs and with the Button Select Or Activate PUO set was encountered.
F. Fixed the hexadecimal string appearing in the Watch window.
F. When the menu viewer was closed by an external function and not manually by the user, an error happened when the trace mode was closed.

DVD menu:

E. Remove Useless Stuff has been greatly improved, and includes several new functions. The order of the operations has also been modified.

E. Clear Useless Set GPRM Commands now also converts the JumpSS_VMGM_PGC commands in the VMGM to simple LinkPGCN commands.
A. Added PGC and DVD -> Delete All Dead Commands to remove the commands that cannot be executed due to unconditional jumps or gotos.
Use Info -> Find Dead Commands to examine the dead commands in the DVD.
A. New function "Delete All Dead Menubuttons" to remove the buttons that cannot or cannot easily enough be activated by the user due to PUO or too short playback time.
A. Added PGC and DVD -> Delete All NOPs to remove all useless NOPs (and move the goto targets to NOPs to the next non-NOP line.)


Domain menu:

F. Delete Last PGC In Domain, when used on a PGC of a not-one_sequential Title often produced an error.

PGC menu:

E. Kill PGC Playback, on PGCs with menu buttons or BOVs: PgcEdit tries now to pre-select the best button (in the best cell) to propose a reasonable default button to the user.
E. When using Kill PGC Playback on a menu without VOB files, PgcEdit doesn't ask each time if the VOB file should be removed. Now, it checks if there are still references to the VOB in the IFO, and displays the dialogue only when that's the case.
E. Jump To PGC Upon DVD Insert: A new dialogue is shown when the target PGC is a menu so that the user can now select the longest Title for the resume point instead of the default resume Title. See point 12 of the online guide here (http://www.digital-digest.com/~blutach/Jump2PGC/Jump2PGC_guide.html).

Menu menu:

F. After having replaced a menu domain with New Menu, it was impossible to create a new cell in the new menu.
F. Change LU Language Code: It was impossible to define an "undefined" code.
F. Menu -> New Menu bug: the menu was not usable after having cancelled the function. It was necessary to reload the DVD to access the menu.

Title menu:

F. Fixed partially a problem with Import Title's Intro Clip, occurring when the title is visited (but not played) before the main menu.

Info menu:

E. When applied to a Title, Root, Audio, Subpic, Angle or Chapter menu PGC, Go To Calling Command now also shows the Title PGCs from which the user can call the entry menu PGC with the corresponding button of the remote.
E. Go To Calling Command has now an additional pink button to warn the user when there are jumps to nowhere in the DVD. The user can click the button to launch the Find Jumps To Nowhere GUI immediately.
E. Go To Calling Commands (and similar functions): When the user clicks on a reference in the list, the focus is now automatically set to the command.
F. Go To Calling Command crashed if the user clicked Refresh after having deleted the target PGC. Now, the GUI is simply closed.
F. Go To Calling Command bug: the "Return To Target" button did not work properly after having used the "Refresh" button. Thanks to M_Knox!

Bookmarks menu:

N. New Bookmarks menu. You can now assign a bookmark to any PGC, and quickly jump to that PGC. Thanks to M_KNOX for the idea and demo plugin.
Note: the bookmarks are automatically saved and loaded with the DVD, and you can also export and import them.

Tools menu:

E. There is now a new Contextual Help plugin, maintained by M_Knox. It uses the F1 key, so the F1 key has been removed from the Tools menu. There is a dialogue when you start PgcEdit v9.3 for the first time, to explain that you may need to reorganize the Tools menu.

Scratchbook menu:

F. After having loaded a Scratchbook file in the scratchbook, the sub-menu of Append To Scratchbook (with the scratchbook sections) was not updated.

Options menu:

A. Added the Options -> Input/Output -> Set Default Provider ID submenu, to force a specific Provider ID by default.
F. Fixed a bug when the Highlight Gotos and Errors option was OFF.

General:

F. Compiled with a new version of FreeWrap 6.42.4, with several fixes by M_Knox. This version should fix the problems with foreign characters in the file and path names, and a bug under some Linux flavours.
Unfortunately, that means also that PGCEDIT DOESN'T RUN UNDER WIN 95/98/ME ANY MORE!
F. Fixed most problems with foreign characters in the file or path names.
E. The message boxes now have a scrollbar when the text is too long to fit.
F. Fixed a bunch of typos and non-European spellings. Thanks to all betas!
E. The tiny cells created by PgcEdit have now a blank subpic pack. As a consequence, the size of the VOB cell is now 20KB instead of 10KB.
F. Yes/No/Cancel dialogues: the height of some dialogues was wrong, and a bug occurred when the option "use_internal_dialog" was manually set to "false" in PgcEdit.cfg. The icons have also been improved by M_Knox.
E. Added "No to all" and/or "Yes to all" in some dialogues that can be shown many times in some circumstances.
E. The torn off menus are now always on top of their parent windows, and they do not have a button in the Windows task bar any more.
E. Improved the method to detect if the cells of a menu PGC can be played.
E. Some cosmetic improvements (About menu, new bold or underlined text and clickable URLs in dialogues, ...) Thanks to M_Knox!
F. Workaround for a system bug when renaming the backups folders.

r0lZ
22nd March 2010, 20:05
Linux specific:

F. Menu Editor, under Linux: Fixed the error (without consequence) happening when the user ticks or unticks the "All" checkbox.
F. Three bugs under Linux in the new function that displays the text in the standard Yes/No/Cancel dialogues and in the text viewer. Thanks M_Knox!
*. Unfortunately, due to an incompatibility in Wine with the new kernels, the preview doesn't work correctly any more under most Linux distributions. Let me know if you can find a workaround!



Updated plugins:

PUO (Prohibited User Operations) plugin v2.0

Added "Edit VOB PUOs of current domain" and "Edit VOB PUOs of current PGC" with a GUI to selectively set or clear any VOB PUO of any cell of the current domain or PGC.
Removed Selectively Clear VOB PUOs, less powerful than the new functions.
The plugin menu has been reorganised.

DVDShrink plugin v2.7

Minor change necessary for the new PgcEdit contextual help system.

Womble plugin v1.2

Added Create Celltimes.txt from a Womble PAL Project file.



New plugins by M_Knox:

Context Help plugin

Developed by M_Knox with the help of blutach and Wombler (for the help file), this plugin implements the new contextual help system in PgcEdit. Use the F1 key to get help for any function!
IMO, this plugin is essential, especially for newbies. Thanks to everybody involved in that big project!
Note: If you're getting "Page not found" errors when using PgcEdit_Manual.chm, please ensure that you have the latest version of it, which can be obtained here (http://www.digital-digest.com/~blutach/PgcEdit_Manual.zip), or delete the PgcEdit manual from your PgcEdit installation folder to force the plugin to use the online help.
The Context Help plugin discussion thread and download link are here (http://forum.doom9.org/showthread.php?p=1384938#post1384938).

Drag and Drop support plugin

Developed by M_Knox, this plugin implements the Drag and Drop support for PgcEdit. Just drop the icon of any DVD-Video file in the PgcEdit main window to open the DVD. You can also import a VTST by dropping its IFO file to the PGC list pane.
The Drag and Drop support plugin discussion thread and download link are here (http://forum.doom9.org/showthread.php?t=152694).

QuickTarget plugin

Yet another useful plugin developed by M_Knox. With this plugin, you can easily change the target of almost all Jump, Call, LinkPGCN or Goto command by simply Alt-clicking its target! You can even change the Prev/Next/GoUp PGCN links from the PGC Editor the same way, and convert any NOP to a jump! There is also a function to split combined Set+Link commands into two commands.
The QuickTarget plugin discussion thread and download link are here (http://forum.doom9.org/showthread.php?t=152320).

Options Dialog plugin

This plugin, written by M_Knox, adds a new "Show Options Dialog" entry in the Options menu. It allows you to change all PgcEdit options from an handy window with tabs, instead of having to use the options menu.
The Options Dialog plugin discussion thread and download link are here (http://forum.doom9.org/showthread.php?p=1384727).

Command Parser plugin

This new plugin by M_Knox is still in development phase. It will be released as soon as possible.
With that plugin, you will be able to type the command instead of having to use the menus and widgets of the Command Editor to insert or modify a command. You will be able to use the standard PgcEdit syntax, as well as a slightly simplified syntax.

blutach
22nd March 2010, 22:56
Fantastic r0lZ. And huge thanks also to M_Knox for his innovative plugins.

Regards

r0lZ
22nd March 2010, 23:00
... and to you and Wombler for your patient work on the manual, and to all beta testers for their wonderful job!

I would like to thank also all donors. Thanks to them, I am still motivated to continue to develop PgcEdit, although some additional donations are still welcome! ;)

goonix
22nd March 2010, 23:45
You are the greatest, r0lZ!
Many thanks to you and all the beta testers.

goonix

kikatu
23rd March 2010, 01:25
Thanks: r0lZ, M_Knox, testers, and anybody else involved with PcgEdit evolvement. :)

Hubbabub
23rd March 2010, 07:44
Thank you all for a super program

dashali
23rd March 2010, 12:52
Very Very Thx for this great gift....

Wombler
23rd March 2010, 22:42
... and to you and Wombler for your patient work on the manual, and to all beta testers for their wonderful job!

I would like to thank also all donors. Thanks to them, I am still motivated to continue to develop PgcEdit, although some additional donations are still welcome! ;)

Thanks r0lZ!

I had the easy bit though. :)

Great to see all this finally arrive as I know users will find the enhancements extremely useful.

The 'Remove Useless Stuff' function is a particularly powerful favourite of mine that I use on every disc.


Wombler

r0lZ
24th March 2010, 10:28
Thanks for the kind words, everybody!

I like also Remove Useless Stuff. Funny to see how simple some DVDs can become after having applied that function, and how unnecessarily complex some authoring programs are.

naiden_99
28th March 2010, 03:02
Thank you r0lZ for this little gem. I've used it quite a while and it's getting better with each new version. Thanks also to all the people involved with PgcEdit.

Could someone please explain what exactly does 'Remove Useless Stuff' do. I don't remember seeing that function before.

:thanks:

r0lZ
28th March 2010, 06:57
Remove Useless Stuff calls in sequence a lot of functions. All of those functions are available from the DVD, Domain or PGC menus, but Remove Useless Stuff launches them all, in a particular order. The goal is to simplify the DVD as much as possible, without breaking the navigation. It is not new, but it has been expanded with several new functions in v9.3.

Examples:
- Most authoring programs are based on templates, and they create usually several PGCs in each menu domains that are used only in some very specific cases. When PgcEdit detects that some of these PGCs are not useful, it removes them automatically.
- Remove Useless Stuff tries also to remove the "dead commands", which are the commands that can never be executed and are therefore useless. By freeing them, some PGCs can become uncalled, and PgcEdit can remove them as well. (The dead commands stuff is new in 9.3.)

You can turn any of the cleanup function off before launching the Remove Useless Stuff. So, if you don't like a feature of Remove Useless Stuff, you can skip it. Personally, I use that function usually immediately after having ripped the DVD, to remove most useless stuff, but I like to keep the NOPs, as they are sometimes used as GOTO targets, and keeping them can be useful when I modify the navigation manually. When I have finished my edits, I launch it again, and that time, I remove also the useless NOPs.

Anyway, try it! As far as I know, this function is safe to use, and it can help to understand the structure of the DVD. It can even sometimes regain some disc space, by removing uncalled PGCs or VTS.

naiden_99
28th March 2010, 07:27
It is not new, but it has been expanded with several new functions in v9.3.
Maybe I should look more carefully in the menu commands, is just that I'm used to work by clicking on the button bar.:rolleyes:

Anyway I will try it and see for myself what it does.:)
Thanks for your explanation and examples.

:goodpost:

Wombler
29th March 2010, 11:57
Maybe I should look more carefully in the menu commands, is just that I'm used to work by clicking on the button bar.:rolleyes:

Anyway I will try it and see for myself what it does.:)
Thanks for your explanation and examples.

:goodpost:

r0lZ is kind of understating things there. :)

'Remove Useless Stuff' is a very powerful tool for cleaning up and simplifying the DVD structure.

It's very easy to use though as all the complicated stuff is dealt with by PgcEdit.

Check out the manual for further information as it explains in more detail as to exactly what this function does.

The CHM file version is included in the PgcEdit download and if you extract this to your PgcEdit folder it'll always be available via the 'Documentation' link in the 'Help Menu'.

HTH.


Wombler

vwpassion
10th April 2010, 10:57
Thanks r0lz for the update, its very much appreciated. :)

Found a small bug: When you right click a pgc and go to "Domain stream attributes" and click on delete behind Audio/SubPic Stream the Application error "wrong # args: should be "winfo toplevel win..." pops up. When i click on OK the error msg disappears tho and the function itself works fine.

r0lZ
10th April 2010, 11:08
Thanks for the report. I've already noticed and fixed that bug. I'll release an update soon, but I want to improve some things and wait for other (possible) bug reports before.

BTW, the bug is not really important. It is caused by the dialogue that pops up to inform you that the stream is not removed from the VOB files. Since that dialogue is (normally) displayed only once per session, you can retry, and the bug will not happen any more. Anyway, don't worry, the bug causes nothing wrong in your IFOs. Just verify that the stream is really gone by closing and reopening the DSA window.

Gothmog
2nd May 2010, 02:52
Bug report... ?

You may or may not be aware of this, and it took me awhile to notice, but "control + shift + V" (paste after) does not work in 9.3 or 9.2 and maybe others. It worked in versions before 9.0 that I'm aware of. It works from the menu, but not in the keyboard shortcut. it just pastes.

XP, sp2

BTW... I love this program!

blutach
2nd May 2010, 03:17
Works OK for me.

Regards

Gothmog
2nd May 2010, 03:24
well, then I'm stumped...:(

I just tested it again in another clean copy of this OS (dual boot) and it does it there too, so its not a software hotkey conflict.

It does NOT misbehave if the caps lock is on.

Something must have changed since it did not behave this way before.

blutach
2nd May 2010, 04:05
Just a guess - maybe a keyboard problem. Try swapping your keyboard and see if that helps.

Regards

r0lZ
2nd May 2010, 07:12
Control+Shift+V means Control+upper case V. So, if Caps-Lock is on, you need to type Control-v without the shift key, and if it is off, you have to hold shift. In other words, use Control+whatever key combination you use to type "V" in notepad.

Gothmog
2nd May 2010, 22:59
Just a guess - maybe a keyboard problem. Try swapping your keyboard and see if that helps.

Regards

I swapped keyboards and bingo, it works again! Looks like that's the only thing wrong with it. #@%@#%

And here I thought hardware went bad all at once.

Thanks!!!

IVaN_000
16th July 2010, 23:11
Is there an unattended way to open a DVD folder, search for BOVs, "Remove useless stuff", save, and then exit?

I tried to make a little app in C# to perform those tasks by retrieving the handles of PgcEdit buttons, and sending Windows messages to them, but apparently windows made in Tcl/Tk work different than regular Win32 windows, because that didn't work as I expected. For example, trying to use WM_CLOSE to close some windows (like "Verify number of streams") actually minimizes them. I guess I should study some Tcl and write a plugin to automatize that.

(Sorry for my poor English.)

r0lZ
17th July 2010, 09:44
I guess I should study some Tcl and write a plugin to automatize that.
Yes, that's the way to do it. When a DVD is passed to PgcEdit via the command line, the plugins are always loaded and executed after the DVD has been loaded. Normally, a plugin does nothing at load time, except to add itself to the Plugins menu, but you can theoretically launch any processing, then exit PgcEdit.

Unfortunately, you cannot just launch the Remove Useless Stuff procedure from the plugin, as it opens a window. But you can launch the procedures that Remove Useless Stuff uses, one at a time. (Note however that sometimes, one of these procedures can display a dialog box if it encounters a problem, so there is no guarantee that it will work completely unattended.)

Try this:

# Launch Remove Useless Stuff unattended

# check if a DVD has been loaded at startup
if {[info exists ::dvddir]} {
# Delete all useless Dead Commands
::main::clean_up_dvd 2
if {$::dvd_modified} {::main::Write_DVD false}

# Delete all useless Dead Buttons and BOVs
::macros::delete_all_dead_buttons true
if {$::dvd_modified} {::main::Write_DVD false}

# Delete all unreferenced cell commands
::utils::delete_all_unreferenced_cell_commands true
if {$::dvd_modified} {::main::Write_DVD false}

# Delete completely all uncalled Titlesets
::utils::delete_uncalled_vts true
if {$::dvd_modified} {::main::Write_DVD false}

# Clear useless Set commands and free useless GPRMs
::macros::clear_useless_set_commands true

# Clear jumps and links to void PGCs
::utils::clear_jumps_to_void_pgcs true
if {$::dvd_modified} {::main::Write_DVD false}

# Remove useless menu VOB files
::macros::remove_useless_menu_vobs true

# Delete all uncalled PGCs
::utils::delete_all_uncalled true
if {$::dvd_modified} {::main::Write_DVD false}

# Delete all NOPs
::main::clean_up_dvd -2
if {$::dvd_modified} {::main::Write_DVD false}

# close PgcEdit
exit
}

The BOVs are scanned automatically at startup anyway, so you don't need to add that function in the plugin.

Note that you will need to copy the PgcEdit installation folder elsewhere and add the plugin in that folder only, or you will not been able to use PgcEdit without running your plugin when a DVD is opened at startup.

Note also that I have not tested the method. I hope it works. :-)

mikenadia
21st July 2010, 14:34
Preprocessed the VOB with PGCedit (including "remove unwanted stuff": all options checked). Then run Voblanker ( with 32k gaps unchecked, VIDEO_TS= 0k, otherwise 64k).
With 32k gaps unchecked (in Vobblanker options), no issue.
With 32k gaps checked (in Vobblanker options), if I rerun "remove unwanted stuff" VIDEO_TS goes down to 0k (instead of 64k), meaning I probably have to rerun Vobblanker. It seems that it is the option "remove unnecessary Menu VOB" that makes the difference.
I understand it may be normal behaviour but I would like to know what options I should unckeck in "Remove useless stuff" if I decide to rerun with a future version without having to rerun Vobblanker.
Thanks in advance.

r0lZ
21st July 2010, 21:10
PgcEdit and ImgBurn use a special technique commonly called "64K gaps" to be sure that the IFO and BUP files are placed in different ECC (error correction) blocks of the DVD. For example, when there is no VIDEO_TS.VOB file, VIDEO_TS.BUP is placed on disc after VIDEO_TS.IFO and a gap so that a read error in one ECC block doesn't ruin both files.

In the other hand, VobBlanker has an option to create a blank VIDEO_TS.VOB file to fill the gap. Therefore, the IFO and BUP will always be on different ECC blocks, even with burning program that rebuild the IFO and suppress the gap, such as Nero.

If you don't burn with ImgBurn, then the VobBlanker option might be useful. But if you burn with ImgBurn or if you create an ISO with PgcEdit (with the 32k gap option enabled), then the VOB file is absolutely useless.

Anyway, PgcEdit's Remove Useless Stuff does what it is supposed to do: it removes the useless VOB file. Of course, you can untick that option if you need the VIDEO_TS.VOB file, but take care. Some commercial DVDs create huge VIDEO_TS.VOB files, just to align the layer break correctly. Not removing them is a great waste of space if you want to burn the DVD on a single layer disc. And note that the other useless menu VOBs will not be removed either, and it is rarely necessary to create gaps between VTS IFO and BUP files, since there is always at least one VOB file between the two files on disc.

notec
27th July 2010, 15:31
You can turn any of the cleanup function off before launching the Remove Useless Stuff. So, if you don't like a feature of Remove Useless Stuff, you can skip it. Personally, I use that function usually immediately after having ripped the DVD, to remove most useless stuff, but I like to keep the NOPs, as they are sometimes used as GOTO targets, and keeping them can be useful when I modify the navigation manually. When I have finished my edits, I launch it again, and that time, I remove also the useless NOPs.


Nice tip didn't know that about the NOPs and GOTOs.

Do you run "Remove Useless Stuff" (Ctrl+Shift+R) the second time with all the options ticked or just with the the remove NOPs box ticked? Does it hurt to run as after opening the DVD with them all ticked? (I'm assuming no but thought I'd ask).

thx...

r0lZ
27th July 2010, 18:44
You can tick all options both times, especially if you have modified the navigation. PgcEdit might find new stuff to remove. Also, sometimes, running all options two times can be useful, as some cleanup functions can free stuff that can be only removed during the second pass. (I did my best to put the functions in the most useful order, but I had to take the speed of the operations into account, and the best order depends of each DVD.)
Anyway, Remove Useless Stuff should be transparent to the navigation (unless there is a bug somewhere).

notec
29th July 2010, 14:22
Now running before and after as you describe. Thanks for the tips (and confidence that it's a viable solution for proper clean up)!

mikenadia
30th July 2010, 15:53
Cosmetics
1) Straight from the rip.
[71 00 00 05 00 00 00 00] 1 Set gprm(5) =(mov) 0
[71 00 00 02 00 00 00 00] 2 Set gprm(2) =(mov) 0
[00 C1 00 01 00 06 00 05] 3 if ( gprm(1) >= 6 ) then { Goto line 5 }
[30 06 00 01 03 83 00 00] 4 (JumpSS) Jump to VTSM 3, Root menu (TTN 1)
[30 06 00 01 07 83 00 00] 5 (JumpSS) Jump to VTSM 7, Root menu (TTN 1)
[30 06 00 00 00 00 00 00] 6 (JumpSS) Jump to First Play PGC
From the info GPRM Summary tab, it seems that gprm(1) is never >=6.
But VTSM 7 does not exist , so line 5 is a Jump to nowhere, but because line 5 is a Jump and because there is no Goto line 6 , line 6 is considered as a Dead command and is deleted while running "Remove useless stuff".

2) Sometimes, I have
[71 00 00 05 20 00 00 00] 1 Set gprm(5) =(mov) 8192
[71 00 00 05 00 01 00 00] 2 Set gprm(5) =(mov) 1
[71 00 00 03 00 01 00 00] 3 Set gprm(3) =(mov) 1
[30 02 00 00 00 01 00 00] 4 (JumpTT) Jump to Title 1
Two consecutive set commands for the same gprm and at non variable values. Can I always delete the first one?

Thanks in advance.

r0lZ
30th July 2010, 16:10
1) I don't see your point. PgcEdit can delete line 6, as normally it cannot be executed. The fact that line 5 is a jump to nowhere doesn't change that. A player should normally hang on that line. If it doesn't hang, you're lucky, but you cannot assume that all players will happily continue to the next line.
PgcEdit could be smarter and check if the condition of the test in line 3 can never be true, and when it's the case, it could delete lines 3, 5 and 6, but it is extremely difficult to do that (especially as I have to take the speed of the operations into account and verifying all possible values of a GPRM in each condition is much too slow).

2) When the second command's operator is =(mov), then yes, you can safely remove the previous set, as the value of the GPRM is overwritten anyway.

mikenadia
30th July 2010, 16:17
I understand but my point is that "Remove useless stuff" should not delete line 6 (assuming that it is a Dead command) without checking that the previous Jump (here line 5) is not a Jump to Nowhere.

Otherwise, I have to make sure to have solved all the " Jump to nowhere" issues before running " Remove useless stuff".

The intent of the DVD is to have lines 1, 2, 3,4, 6 left, I think.

Thanks.

Edit: I was not asking for lines 3, 5 , 6 to be removed and the "Jump to nowhere" check will be welcome , if there is no objection.
Edit2:If you insert a conditionnal Goto to a non existing line ( the last one + 1), when you create that line, the conditionnal GOto is modified (the last one (before any modifications ) +2). Just cosmetics. One click away. (Or when you insert a conditionnal Goto to a non existing line, it may create automatically the missing lines).
Also, selecting more than one line, and clicking on Add only creates one line.

r0lZ
30th July 2010, 16:28
Well, I could add a global check for Jumps to Nowhere as the first step of Remove useless stuff or just before Delete Dead Commands, and issue a warning when there are jumps to nowhere, but as I have explained, it is not possible to check every command before processing them, because that's too slow.

frank
7th September 2010, 09:58
Hello r0lZ,
I want to set the sound on as standard in PgcEditPreview.exe.
It's very useful when I check the chapterpoints for noise.
How to do it?

I don't see a PgcEdit option at the options dialog menu.
Perhaps you can implement a button?

r0lZ
7th September 2010, 11:55
The Preview options are in the Preview menu.
Tick Preview -> Playback Mode -> Real Time With Audio, and select the option you prefer in Preview -> Default Audio Stream. If you tick "Based on Virtual Player Setup", be sure to set the right language code in the Player Setups for SPRM 16.

frank
7th September 2010, 21:45
Great! Never searched it there.
:thanks:

mikenadia
9th October 2010, 15:27
Cosmetics.
Straight from the rip (lines 2 to 5 of the pre-command highlighted in purple).
[20 04 00 00 00 00 00 02] 1 LinkPGCN PGC 2
[61 00 00 05 00 8D 00 00] 2 Set gprm(5) =(mov) sprm(13:Parental level)
[79 00 00 05 00 0F 00 00] 3 Set gprm(5) &=(and) 15 (preserve bits 0-3)
[20 C4 00 05 00 06 00 04] 4 if ( gprm(5) >= 6 ) then { LinkPGCN PGC 4 }
[71 00 00 05 00 00 00 00] 5 Set gprm(5) =(mov) 0
********** post commands:
[00 B1 00 05 00 01 00 03] 1 if ( gprm(5) != 1 ) then { Goto line 3 }
[00 03 00 00 00 00 08 04] 2 (SetTmpPML) Set parental level =(mov) 8, Goto line 4
[20 04 00 00 00 00 00 03] 3 LinkPGCN PGC 3
[20 04 00 00 00 00 00 04] 4 LinkPGCN PGC 4
********** cell commands:
After running "Remove useless stuff" and Killing Playback on two parental menus as part of running "Remove...".
(lines 2 to 7 of the pre-command highlighted in purple).
[20 04 00 00 00 00 00 02] 1 LinkPGCN PGC 2
[56 00 00 00 04 00 00 00] 2 (SetHL_BTN) Set Highlighted Button =(mov) 1024 (button 1)
[71 00 00 05 00 01 00 00] 3 Set gprm(5) =(mov) 1
[00 B1 00 05 00 01 00 06] 4 if ( gprm(5) != 1 ) then { Goto line 6 }
[00 03 00 00 00 00 04 07] 5 (SetTmpPML) Set parental level =(mov) 4, Goto line 7
[20 06 00 00 00 00 00 02] 6 LinkPGN Program 2
[20 04 00 00 00 00 00 06] 7 LinkPGCN PGC 6
********** post commands:
[56 00 00 00 04 00 00 00] 1 (SetHL_BTN) Set Highlighted Button =(mov) 1024 (button 1)
[71 00 00 05 00 01 00 00] 2 Set gprm(5) =(mov) 1
[00 B1 00 05 00 01 00 05] 3 if ( gprm(5) != 1 ) then { Goto line 5 }
[00 03 00 00 00 00 04 06] 4 (SetTmpPML) Set parental level =(mov) 4, Goto line 6
[20 06 00 00 00 00 00 02] 5 LinkPGN Program 2
[20 04 00 00 00 00 00 06] 6 LinkPGCN PGC 6
********** cell commands:

I was expecting the lines 2 to 7 to be removed. I understand that PGCEdit cannot try for every combination (gprm...) to see if those lines can be removed but I saw the them highlighted in purple. (I do not know the exact meaning of the purple highlighting . I did not find it in the Help file). Running " Remove..." another time does not remove them.

Thanks in advance.

r0lZ
9th October 2010, 18:43
You're right. PgcEdit should have removed the purple lines. (Purple is assigned to the "dead" lines: the lines that cannot be executed due to non-conditional jumps or gotos.)

I'm not sure why PgcEdit has not removed them. (The function that removes the dead lines is new and still not perfect, and I prefer to leave some dead lines than to remove useful ones!) Anyway, I will have a look. Thanks for the detailed example. :-)

r0lZ
9th October 2010, 23:10
Hum, I don't know how you did your tests, but on my system, PgcEdit has removed the dead commands correctly.
If you still have the files, can you try DVD -> Delete All Dead Commands alone?
Also, what version are you using?

mikenadia
10th October 2010, 02:25
I am using 9.3.0.1000 . The dead commands are deleted when using the "Delete Dead command" alone.
The problem arises when , in " Remove useless stuff", the Delete Dead command" is used in combination with "Remove useless menu VOB when possible". Then I am asked to Kill Playback on the two "Parental Mgt" menus (recognized as useless) and the "deleted command " reappear somehow.

After having done "Remove useless stuff" with only the "Delete Dead command" and "Remove useless menu VOB when possible" checked, I have
[20 04 00 00 00 00 00 02] 1 LinkPGCN PGC 2
[00 00 00 00 00 00 00 00] 2 NOP
[56 00 00 00 04 00 00 00] 3 (SetHL_BTN) Set Highlighted Button =(mov) 1024 (button 1)
[71 00 00 05 00 01 00 00] 4 Set gprm(5) =(mov) 1
[00 00 00 00 00 00 00 00] 5 NOP
[00 B1 00 05 00 01 00 08] 6 if ( gprm(5) != 1 ) then { Goto line 8 }
[00 03 00 00 00 00 08 09] 7 (SetTmpPML) Set parental level =(mov) 8, Goto line 9
[20 04 00 00 00 00 00 03] 8 LinkPGCN PGC 3
[20 04 00 00 00 00 00 04] 9 LinkPGCN PGC 4

Thanks in advance.

Edit: after only doing "Remove useless menu VOBS, some dead commands are added (now, lines 2 to 13 are highlighted purple).
Actually, the lines 7 to 13 are added everytime I run "Remove useless menu VOBs", that is why they reappear if I run "Remove useless stuff " twice even I do not have any "Killing Playback" the second time.
And those lines are identical if I "kill Playback" on those two " Parental Mgt " PGCs straight from the rip (they are also dead commands).
********** pre commands:
[20 04 00 00 00 00 00 02] 1 LinkPGCN PGC 2
[61 00 00 05 00 8D 00 00] 2 Set gprm(5) =(mov) sprm(13:Parental level)
[79 00 00 05 00 0F 00 00] 3 Set gprm(5) &=(and) 15 (preserve bits 0-3)
[20 C4 00 05 00 04 00 02] 4 if ( gprm(5) >= 4 ) then { LinkPGCN PGC 2 }
[71 00 00 05 00 00 00 00] 5 Set gprm(5) =(mov) 0
[00 00 00 00 00 00 00 00] 6 NOP
[56 00 00 00 04 00 00 00] 7 (SetHL_BTN) Set Highlighted Button =(mov) 1024 (button 1)
[71 00 00 05 00 01 00 00] 8 Set gprm(5) =(mov) 1
[00 00 00 00 00 00 00 00] 9 NOP
[00 B1 00 05 00 01 00 0C] 10 if ( gprm(5) != 1 ) then { Goto line 12 }
[00 03 00 00 00 00 04 0D] 11 (SetTmpPML) Set parental level =(mov) 4, Goto line 13
[20 06 00 00 00 00 00 02] 12 LinkPGN Program 2
[20 04 00 00 00 00 00 06] 13 LinkPGCN PGC 6

If, straight from the rip, I "kill Playback" on those two Parental Mgt" PGCs and then run "Remove Useless stuff" (with Remove useless menu VOBs ( the dead commands are still there).

r0lZ
10th October 2010, 11:52
OK, I think I understand. Delete Dead Commands works as expected, but as you can see, it is at the first position in the list of actions in Remove Useless Stuff. That means that it is executed first. Then the other actions are executed as well, and if the PGC needs to be killed, the post commands (and if necessary some button or cell commands) are copied to the pre-commands area again. (Kill PGC Playback doesn't verify if it copies useless commands, and that function is called indirectly by many other functions.) It's why the useless commands are added again. It's also why I have explained elsewhere that it might be necessary to run Remove Useless Stuff twice.

Sometimes, as in your example, a function of Remove Useless Stuff changes the DVD in such a way that it is possible to simplify it further. (Here, ) But if the function that could simplify it again has already been called, it is not called again during the procedure, and you need to relaunch Remove Useless Stuff (or one of its procedures) again. Unfortunately, it is not easy to determine the best order of the functions in Remove Useless Stuff, as it depends of the authoring of each DVD, and of what the user has made manually. Also, I have to take the duration of the actions in mind. For example, I like to leave Delete Dead Commands as the first function, as it suppresses sometimes some useless commands jumping to dead PGCs, and if I leave those commands before calling Delete Uncalled PGCs, the useless PGCs will not be removed because they will still be technically referenced (although by dead commands).

I could perhaps relaunch the whole Remove Useless Stuff procedure automatically, until there is nothing that can still be removed, but that would require some hard work for me, and that might be very slow. There is also a risk of infinite loop if, for some reason, it is not possible to remove everything that needs to be removed. So, currently, you have to relaunch the procedure yourself. Can you verify if that works well?

I just saw your edit now. It seems that "Remove useless menu VOBs" restores the useless commands each time any way. That's probably a little bug, as if the VOB is not needed, the post commands should be copied to the pre-command area the first time the command is run, then removed from the post-command area. If they are not removed, they are copied again the next time. Obviously, there is a bug here. I will have a look...

mpucoder
10th October 2010, 15:31
A simple way to repeat a process without the risk of an infinite loop is to use a flag which indicates if any changes were made by the process. Then execute the process until no changes have been made.

BOOL something_changed;

something_changed = TRUE; //to run the first pass
while (something_changed) {
something_changed = FALSE;
check_for_things_to_do();
}

or if the actions taken are so many that the while logic could get difficult to see when maintaining the code

BOOL something_changed;
//loop until no changes are made
loop: something_changed = FALSE;
.
.
.
if (something_changed) goto loop;

The difficult part here would be to add code for setting the flag at every possible change, but if one is missed the worst that can happen is the user need to rerun, there would be no danger of a hang.

r0lZ
10th October 2010, 17:02
Thanks mpucoder. I use already that logic in the loop that searches for uncalled PGCs, and it works fine. But Remove Useless Stuff is a global macro that calls several totally independent functions. Each of these functions will have to return the flag to the main macro, but some of them have already something to return. I will have to use global flags, and I don't like that too much. Furthermore, the fact that a function finds nothing to remove doesn't mean that it will not find something during the next run (as the conditions may have changed due to another function), and therefore I can't exclude it from the loop to simplify and speed things up.

Also, the risk of infinite loop is caused by the fact that a function could try to remove something, but fail. If the flag telling that something has been removed is set anyway, the loop will be repeated again and again.

I wonder if improving that already powerful macro is really necessary. Anyway, I will add a call to Delete Dead Commands (on the current PGC) at the end of Kill PGC Playback. So, the useless post-commands copied to the pre-command area will be removed immediately, and will not interfere with the other functions. That should at least solve the little bug reported by mikenadia.

r0lZ
11th October 2010, 10:55
OK, I did what I have suggested above. Now, Delete Dead Commands is called automatically after Kill PGC Playback (on the killed PGC only). This way, KillPGC playback no longer adds useless commands in the pre-command area. (The drawback is that it removes also the dead commands that were in the original pre-command area before the operation, but IMO, since the PGC is modified anyway, that doesn't matter much.)

Also, in Remove Useless Menu VOBs, PgcEdit should no longer consider a menu with button that leads to a dead end as useless. Previously, that kind of menu (that stops the navigation) was removed, but that might be a problem with parental management menus, as I suppose that sometimes that kind of menu is intentional. It might be normal to stop the navigation completely if the user is unable to provide the password to watch the DVD, after having displayed a menu that explains why the DVD will stop.
However, I don't know if that kind of parental management menu is frequent, and even if it exists, as here in Europe, it is extremely rare to find a DVD with parental management.
It is possible that the new logic will prevent to remove really useless menus in some cases, but I think it is dangerous to remove menus with buttons anyway (unless the PGC is uncalled of course). The user can manually kill it if he wish.

If someone can send me a good example of a parental management menu, I will be able to check what I did in real circumstances. Thanks in advance.

mikenadia
16th November 2010, 07:57
Different navigation between PGCedit and PowerDVD.
There is a gprm(15) set with sprm(preferred audio) so in PGCedit , I go to a menu that asks me to choose the preferred audio. I went to Virtual Player setup and put "en" in " Preferred audio language". It did not change anything.
By inserting " set gprm(15)=25966" in FPG-PC , both navigation are identical.

Thanks in advance.

r0lZ
16th November 2010, 09:44
Well, I don't understand the problem.

If you modify the language code of the "Preferred audio language" in the virtual player setup, you change the value of SPRM(16). That value cannot be modified by a nav command when the DVD is playing, so you can consider it as a constant.
If your DVD executes the command Set GPRM(15)=SPRM(16), then that value is transferred in GPRM(15). That works well in PgcEdit, I have just verified.
So, if you need to add the command Set GPRM(15)='en (which is identical to set gprm(15)=25966) in the FP-PGC, that means that the DVD does not execute the Set GPRM(15)=SPRM(16) when it should, or that that command has been modified or removed.

You can verify that PgcEdit is not responsible of the problem by changing the Set of the FP-PGC to Set GPRM(15)=SPRM(16). The result should be correct for any preferred audio language in the virtual player setup. It is preferable to use that command anyway, as the player will (theoretically) select the right audio language automatically. If you leave your command, it will select English, regardless of the setup.

So, IMO, you have found an authoring error: a missing Set command. I really don't understand why PowerDVD does not react like PgcEdit, but take in mind that there is no setup for most software players. They assume usually that the language of the Windows installation is what you want. That makes the software players useless to check if the right language is selected automatically.

BTW, I do not trust any software player, except the "Play DVD" of IfoEdit. Have you checked if IfoEdit does the same thing than PowerDVD?

mikenadia
16th November 2010, 13:49
Thank you. Solved.
The navigation required also "Preferred menu language" and " Preferred sub picture language "to be set up. If I put both of them to "en", PGCedit and PowerDVD act the same, so PowerDVD is "guessing" that they are probably set to "en" (my Windows language). It looks like that PowerDVD and IfoEdit act the same way.

Thanks a lot.

r0lZ
16th November 2010, 15:07
Thanks for the confirmation.
Maybe I'll need to set default values in the virtual player setup automatically when PgcEdit is launched for the first time, as some DVDs seem to dislike undefined language codes. But I have no precise way to find out what's the Windows installation language, and I don't want to force English by default. Anyway, a correctly authored DVD should always check if the language is not defined, and use reasonable defaults if it's the case. Unfortunately, there are exceptions. Your DVD is probably among them.

mpucoder
16th November 2010, 18:39
I can't remember if you use C++ or another language, but there is a round-about way to determine a window user's language. First get the locale identifier using GetUserDefaultLCID() (or you could use GetSystemDefaultLCID() if you want the system default instead). This gives you a number that can be cross referenced to a language and locale. The so-called LangID is in the lower word and can be isolated by simply casting the value to WORD or using LANGIDFROMLCID (which does the same thing). I found a fairly easy to read cross reference at http://www.pagedowntech.com/faq/faq.asp?faqid=21

It may seem overwhelming, but there is a way to simplify things. Only the lower 10 bits are used to define the language, bits above that define the sub-language, for example:
English ...9
English - Australia ...3081
English - Belize ...10249
English - Canada ...4105
English - Ireland ...6153
English - Jamaica ...8201
English - New Zealand ...5129
English - South Africa ...7177
English - Trinidad ...11273
English - United Kingdom ...2057
English - United States ...1033

After masking off the upper bits, or performing a mod 1024 operation, they all have the value of 9.

edit: I found an even easier to comprehend list at the Microsoft (http://msdn.microsoft.com/en-us/library/0h88fahh(VS.85).aspx) site. (I'm surprised)
Also This (http://www.google.com/url?q=http://download.microsoft.com/download/9/5/e/95ef66af-9026-4bb0-a41d-a4f81802d92c/%255BMS-LCID%255D.pdf&sa=U&ei=bcTiTJT9N4GB8gaVx5z_Dw&ved=0CBMQFjAC&usg=AFQjCNHIIbWaHswtUkdakIgTwQaAnwGYPg) may be more helpful. I am still searching the web for a pre-defined cross reference (that is an array definition of ISO 639-2 codes indexed by LangID)
Seems a lot of people have struggled with this, I even found a script to scan the registry key HKLM\Software\CLASSES\MIME\Database\Rfc1766 (which does list all the LangID codes in effect at the time of install and their ISO code)!

r0lZ
16th November 2010, 19:01
Thanks, but unfortunately, I can't call directly Windows functions, because Tcl/Tk is a cross-platform language. Perhaps I can read the information in the registry? Anyway, I will have to find another method under Linux.
Maybe I'll just add a warning in the trace log when the trace is started and the language SPRMs are not defined. Much easier! :-)

IVaN_000
16th December 2010, 00:11
I'd like to have a macro that assumes a value for a given register, and cleans code, like "Assume gprm(x) always == y".

For example, after executing "Assume gprm(14) == 2", the following code:

[20 A4 00 0E 00 01 00 04] 1 if ( gprm(14) == 1 ) then { LinkPGCN PGC 4 }
[20 A4 00 0E 00 02 00 06] 2 if ( gprm(14) == 2 ) then { LinkPGCN PGC 6 }
[20 A4 00 0E 00 03 00 08] 3 if ( gprm(14) == 3 ) then { LinkPGCN PGC 8 }

would result in:

[00 00 00 00 00 00 00 00] 1 NOP
[20 04 00 00 00 00 00 06] 2 LinkPGCN PGC 6
[00 00 00 00 00 00 00 00] 3 NOP

That would be nice.

r0lZ
16th December 2010, 00:40
Yes, it's a good idea. I have often needed something like that, mainly to remove menus in foreign languages. But it's not really easy to write, as the gprm can be used in many different situations. Also, what should I do with the commands that set the register? Remove them? Even if they are conditional? And what should be the scope of the macro? Global to the whole DVD, or local to the current PGC or domain?
As you can see, there are still many questions. Anyway, don't expect a macro soon...

IVaN_000
17th December 2010, 00:00
Yes, in fact, it would be a dangerous thing to do, like a "do it at your own risk" thing. But as you say, it is useful for removing foreign menues. In that case, the commands that set the register can be safely kept untouched, and the scope of the macro should be the whole DVD.

r0lZ
17th December 2010, 09:35
Yes, but now suppose something like that:

[61 00 00 0F 00 90 00 00] 1 Set gprm(15) =(mov) sprm(16:Preferred audio language)
[51 00 00 81 80 00 00 00] 2 (SetSTN) Set Audio stream = 1 ; Set Sub-picture stream = 0, off
[00 B1 00 0F 66 72 00 05] 3 if ( gprm(15) != 26226 ("fr") ) then { Goto line 5 }
[51 00 00 80 C1 00 00 00] 4 (SetSTN) Set Audio stream = 0 ; Set Sub-picture stream = 1, on
[00 00 00 00 00 00 00 00] 5 NOP

And suppose you have removed the subpic 1 (fr), and your preferred audio language is English. Normally, the code should be simplified to keep only line 2, but here gprm(15) is a temp register, probably used in other PGCs to hold something completely different. It cannot be replaced globally in the whole DVD, and the scope must be local to the current PGC.

Also, note the difficulty: if you assume that gprm(15) = 25966 ("en"), then the condition of the Goto becomes if ( 25966 ("en") != 26226 ("fr") ) then { Goto line 5 }, but that command is illegal, and to remove it, PgcEdit must evaluate the expression to understand that the Goto cannot be executed, and replace it with a NOP. As you can see, it's not really easy. It is even more difficult to replace the gprm if the command compares two GPRMs: if ( gprm(15) > gprm(14) ) then { Goto line 5 } cannot be replaced with if ( 10 > gprm(14) ) then { Goto line 5 }, and the condition must be inverted, like this: if ( gprm(14) <= 10 ) then { Goto line 5 }. Really not easy to do!

IVaN_000
18th December 2010, 00:40
Yes, I know what you mean. It wouldn't be a complete solution.

About the implementation, I was thinking of a simpler approach: If you assume gprm(15) = 25966 ("en"), as you say in the example, just search for the commands that compare gprm(15) against a constant value:

- If the command expects gprm(15) to be 25966, just remove at the opcode level the bits that represent the "if".
- If the command expects gprm(15) to be something else, replace the command by a NOP.

But as you say, there's nothing to do when the gprm is compared to another gprm.

IVaN_000
18th December 2010, 22:04
Did you ever consider making something similar to PgcEdit, but for editing Blu-rays?

r0lZ
19th December 2010, 00:16
Yes, but there are many difficulties. The Blu-ray format is not well known yet, and it is difficult to guess it. Also, I'm not sure I want to devote much time in developing another big program like PgcEdit. I have other interests in my life, and PgcEdit was not particularly a good way to pay my bills. Furthermore, I think that blu-rays are mainly a commercial attempt to force people to buy again the movies they have bought already several times, during the VHS and DVD times. I don't want to participate to that swindle. Furthermore, currently, I have no blu-ray drive at home...

HFW
19th December 2010, 20:23
@IVaN_000
If your purpose is to take off some unwanted streams, try Clown BD BD Copier.
Regards

Sir Didymus
3rd February 2011, 19:12
I noticed a couple of times that changing the menu type of a given pgc (e.g. Root, SubPic, Angle, ...) is possibly leading to navigation issues, since the other commands in the DVD calling the menu are not changed (or checked) accordingly...

I am not sure it is feasible...

It would be nice to have a behaviour similar to the one of remapping the title numbers: the action is carried out and the consistency of the whole navigation is maintained...

What do you think?
:)

Cheers,
SD

r0lZ
4th February 2011, 10:54
I agree that a way to change the menu type without affecting the navigation can be useful in some cases, but if you don't want to change the nav, why do you want to change the menu entry types? Just leave them where they are, and the nav will not be affected. In fact, I wrote that function to be able to add a new menu entry, not to change an existing one. But since it is not possible to add several times the same menu entry type, the function changes the current entry if you redefine it, and in that precise case, nav problems can occur.

Anyway, keeping the nav unmodified is not so easy.

1. It is possible to change the commands calling the Title menu to call the same VMGM PGC by its number before assigning the Title Menu entry to another PGC. Fine, but is it really what you want? If you change the Title menu, is it not to call the new PGC instead? Keep in mind that, usually, the calls to the Title Menu should do the same thing than the Title Menu button: return to the main menu. (However, I agree that it's only "usually".)

2. Furthermore, if I change the jumps to the Title menu by jumps to, say, VMGM PGC 1, and if you change your mind and decide to assign again the Title menu entry to another PGC, there will be no way to restore the jumps that have been modified the first time, since now they are pointing to a precise PGC.

3. Unfortunately, there is no practical way to fix the commands jumping from the VMG or from a Title domain to a menu entry in the same VTS, as there is no way to call a VTSM PGC by its number. So, unless you swap two menu entry types in a VTSM, I cannot automatically fix the navigation. And note that with the current GUI, it is not possible to swap two existing VTSM entries. So, currently, it is only possible to fix the nav when you change a VTSM menu entry type to another type that is not used yet: in that case, I can simply modify the jumps and calls command to call the new entry type. Of course, if the user changes the entry to another entry that exists already, then I can probably show a dialog asking if the two entries should be exchanged, and if the user answers yes, fix the jumps to them automatically.

4. It is possible to fix the jumps from the VTSM to the entry menu by replacing them with LinkPGCN commands, but again, it will not be possible to undo the change if you change your mind. (Same problem as point 2.)

So, unfortunately, there is no guarantee that PgcEdit will be able to fix the nav in all cases, and anyway, I'm not sure that doing so is always a good thing. But I agree that something is missing. I could perhaps check if the entry that is modified is called by some VM commands, and if it's the case, offer to abort the change, or display the list of calling commands so that the user can change them manually, or, when it is possible to fix all calling commands, offer to do it. But IMO, that should be an option anyway.

I will check my code to see if it's not too difficult to do...

Sir Didymus
4th February 2011, 14:28
...I could perhaps check if the entry that is modified is called by some VM commands, and if it's the case, offer to abort the change, or display the list of calling commands...

I will check my code to see if it's not too difficult to do...

I fully agree on the points of your detailed analysis. The solution just quoted would be perfect, if feasible!

The reason for the request emerged exactely after the editing of some existing menus, in the attempt to integrate other menus into the original layout...

Cheers,
SD

ministrix
30th August 2011, 20:00
hey!
I got a problem with a new asian Disney dvd. It contains 99 titles ( 99 problems and a bitch aint one, [sorry for my little jay-z reference, hehe...] ) and 34 vts. The whole thing is just a mess and i would like to just keep the movie on the disc, but pgcedit and vobblanker can only do so much. Im still left with a dvd with plenty of uncalled pgc's. Do you have any advice to what to do with these uncalled pgc's? Ive already blank't the vobs with vobblanker but pgcedit cant remove them some how, and vobblanker cant either.
Btw! Thanks for a great little program. I've been using it alot for several years and its really good:)

r0lZ
31st August 2011, 00:02
Usually, Disney/ARccOS/RipGuard protected DVDs (the same crap anyway) are protected with unreadable sectors in the main movie (skipped by cell commands) and a lot of fake titles/VTSses. In the beginning, the fake titles were unreferenced, but it was too easy to remove them (with a logic similar to PgcEdit's Delete Uncalled PGCs). Therefore, now, they are referenced by fake menus. The fake menus are short menus with buttons and a black background. Since the playback duration is extremely short and there is nothing shown (except a black image) when the menu is played, the user has no chance to select a button, and the playback continues. (More on this below). But the ripper programs are supposed to "think" that those menus are real menus, and as a consequence, they "think" that the fake VTSses can really be called, ans they cannot decide if it is safe to remove them.

So, to help PgcEdit, you have to remove the fake menus yourself, to make the fake titles unreferenced. It's relatively easy. There is usually one or several short menus in the VMGM, and sometimes also some fake menus in a VTSM domain. The fake menus are blank (without video content except a black frame) and short (say, less than 2 seconds). They contain many buttons (perhaps 10), but as I have explained above, none of them can be selected manually, due to the short duration of the playback. Now, there can be two scenarios:

1. the menu is played normally, and no button is selected. (In that case, the cell still time of the menu is 0.) That means that the menu is played normally until it ends, and the post-commands are executed.

2. There is a "forced button" that is automatically activated after a short time. In that case, the command of the forced button is executed before the post-commands, and it leads to a totally different title than the post-commands.

So, to get rid of the fake menus, locate them with the preview, the menu viewer, or with the trace. When you have located a blank menu, open it in the menu editor. Be sure to tick the "advanced" option in the bottom of the window. Look at the option "In non-still menu, force the activation of button <button number> after <duration> seconds". If the <duration> parameter is -1, you are in scenario 1. Otherwise, you are in scenario 2, and you have to remember the button number. Quit the editor.

Now, use Kill PGC Playback on the PGC containing the fake menu. PgcEdit will show you again the menu viewer, where you can select a button. In the case of scenario 1, simply click "No button!". In the case of scenario 2, select the button number you have noted, and click Kill Playback. In both cases, PgcEdit should kill the menu, but the command it will insert in the pre-commands area are different. (BTW, don't be scared by warnings about multiple sets of buttons. They are fake too!)

Be sure to repeat this procedure if there are other fake menus elsewhere.

After that, it is usually better to process the menu domains that you have modified with FixVTS, just to get rid of the fake menus completely (and suppress the PgcEdit warning about multiple sets of buttons).

Now, PgcEdit should be able to detect the fake titles. You can check them with Info -> Find Uncalled PGCs, and delete them with DVD -> Delete Uncalled Titlesets followed by Delete Uncalled PGCs. (Delete Uncalled Titlesets is not really necessary, but it is much faster than Delete Uncalled PGCs, so I recommend to use it before Delete Uncalled PGCs. Or just call DVD -> Remove Useless Stuff, that will call that functions in the process, in the right order.)

If everything worked as expected, you should have an (almost) clean DVD with just the main movie and the other really useful titles. The main movie (and sometimes other titles as well) are still protected by unreadable cells, but if you managed to copy the DVD on your hard disc, that should not be a real problem. It is also possible to remove them, but that's another story.

[EDIT] I forgot to say that if the ripper program did its work correctly, it should have copied large VOB files only for the VTS that contains really the main movie. The fake VTSses should have no VOB files at all, or very short VOBs. So, you can verify if the title that remains called after having checked the result of your edits with Info -> Find Uncalled PGCs is in the VTS with the large VOB files. If it's not the case, then you did something wrong, or the ripper has failed.

ministrix
2nd September 2011, 11:17
Thanks for reply but it seems like that isnt the problem on this. Ive checked all the 14k size vts. Theyre only one cell vobs ( showing the menu buttons in pgcedit just says no buttons ). Ive been fiddling around and changed stuff and set first play to jump right to menu. That got rid of a whole deal of uncalled pgcs when i cleaned it afterwards with remove useless stuff. Now Im left with menu plus movie and some useless vts ( i got rid of plenty but still some left). It will take some careful editing to get them out, but hopefully it will be fine. Need to edit some cmds in menu too since scene selection dont work.
And regarding ripping program I had some troubles here. Dvd decrypter and Anydvd didnt rip it right. It seems like the movie vobs where copied in other vts and i ended up with a VIDEO_TS folder the size of 65 gigs. hehe. But dvdfab did the job right.

r0lZ
2nd September 2011, 11:34
It seems like the movie vobs where copied in other vts and i ended up with a VIDEO_TS folder the size of 65 gigs. hehe.That's exactly what that kind of protection is supposed to do! Interminable rip with a lot of useless redundant files.

DVDFab is a good program to eliminate the useless VOB files, but I'm not sure it can remove the useless VTSses from the IFOs. It has probably removed the fake menus automatically. (I have never seen a DVD with many fake VTSses but without the fake menus. But I rip all DVDs with DVD Decrypter, and I decide myself what VOB files must be ripped, and how. So, I ends up always with (almost) unmodified IFOs on my hard disc, and I have to clean them manually with the method explained above.)

IVaN_000
25th November 2011, 00:27
I might have found a bug in v9.3.

I have a VMGM with 273 PGCs (it's a Disney DVD). PgcEdit labels the last PGC as '<uncalled>', but the are 2 "(JumpSS) Jump to VMGM PGC 273" commands in the DVD. Both commands are shown with white background (not purple), and tracing the DVD they are successfully executed. If "Remove useless stuff" is called, PGC 273 is deleted, and those 2 commands become jumps to nowhere, and the tracing obviously halts when it reachs one of them.

I also noticed that clicking the command "(JumpSS) Jump to VMGM PGC 273" in the right panel, the left panel highlights in light blue the PGC 17, instead of the 273.

Maybe you can recreate a similar structure to test it. Or I can send you the IFOs.

EDIT: I should add that this is the first time I experience that behaviour, after editing hundreds of DVDs. It's really strange, probably some kind of copy protection? It's Disney's "Prep & Landing", ripped twice with 2 different versions of DVDFab.

EDIT 2:

[30 06 00 11 00 C0 00 00] (JumpSS) Jump to VMGM PGC 17
[30 06 01 11 00 C0 00 00] (JumpSS) Jump to VMGM PGC 273

Notice how those 2 commands differ in one bit only. Apparently PgcEdit (just in some cases) makes an incorrect interpretation of the destiny PGC if it's bigger than 255.

r0lZ
25th November 2011, 07:25
Notice how those 2 commands differ in one bit only. Apparently PgcEdit (just in some cases) makes an incorrect interpretation of the destiny PGC if it's bigger than 255.
Right. That's probably the cause of the bug. I will have a look. Thanks for reporting it!

r0lZ
25th November 2011, 07:57
Bug confirmed and fixed. Thanks again IVaN_000.

IVaN_000
8th December 2011, 03:25
Probably another bug, or just a bad DVD authoring: I'm sending you a PM with a link of a DVD I've just uploaded. I blanked the movie, so it's just the menues. If you have the time, please take a look at it.

When I execute "Remove useless stuff" on that DVD, the buttons of VTSM 2 PGC 6 just disappear. They shouldn't, and I have no idea why that happens.

r0lZ
9th December 2011, 11:19
Right! You've found another big bug!

The bug occurs when Delete All Dead Menu Buttons is called (from Remove Useless Stuff or directly). That function checks if the duration of the cell is too short (less than 1 second) to activate a button manually. (It checks also some other things, such as the presence of a still time or if a button is auto-activated, but in the case of your DVD it's not the case, so only the duration is taken into account.) When all tests are finished and the conclusion is that it is not possible (or too difficult) to activate a button, the buttons are removed.

But there is an error in my code: the duration of the first cell is always checked, instead of the duration of the cell containing the buttons. Since in your case, the first cell is a short black cell, the buttons are removed in cell 2!

I have fixed the bug. Currently, as a workaround, you can untick the option to remove the dead buttons in the Remove Useless Stuff GUI, or you can add a cell still time to cell 2 of the PGC, execute Remove Useless Stuff or Delete All Dead Menu Buttons, and remove the still time.

Thanks for the bug report!

jinjin_jp
9th December 2011, 23:30
Bug confirmed and fixed. Thanks again IVaN_000.

I have fixed the bug.

Hi r0lZ,
Is fixed version in somewhere?

It seems to be "The current PgcEdit version is 9.3 (March 22, 2010) " in http://download.videohelp.com/r0lZ/pgcedit/#current.

Regards.

r0lZ
9th December 2011, 23:36
Yes, v9.3 is still the current version, sorry. I'll try to finalize v9.4 soon...

jinjin_jp
10th December 2011, 02:17
Yes, v9.3 is still the current version, sorry. I'll try to finalize v9.4 soon...

I see.
Thanks very much.

May I ask another quesion?
There are several kinds of cloured lines in main window.
I suppose it is something wrong.
The explanation what means each colour is in somewhere?

Regards.

r0lZ
10th December 2011, 02:30
Yellow lines are GoTo targets.

Purple lines are "dead commands": commands that cannot be executed due to jumps, links or GoTos. They are useless and can safely be deleted.

Red lines are commands with errors (illegal parameter, jumps to non-existing VTS, PGC, PTT, PG or Cell, too many commands in the PGC...)

Additionally, when you click a GoTo, its target is briefly highlighted in light blue.

jinjin_jp
10th December 2011, 03:41
Yellow lines are GoTo targets.

Purple lines are "dead commands": commands that cannot be executed due to jumps, links or GoTos. They are useless and can safely be deleted.

Red lines are commands with errors (illegal parameter, jumps to non-existing VTS, PGC, PTT, PG or Cell, too many commands in the PGC...)

Additionally, when you click a GoTo, its target is briefly highlighted in light blue.

Thanks very much for the explanation.

Regards.

IVaN_000
10th December 2011, 22:04
Hi r0lZ,
Is fixed version in somewhere?

It seems to be "The current PgcEdit version is 9.3 (March 22, 2010) " in http://download.videohelp.com/r0lZ/pgcedit/#current.

Regards.

I would continue using v9.3 without worrying. You'll notice those 2 bugs only in VERY rare situations.

s_i
2nd February 2012, 12:34
I was successful in importing 50 VTS in PGCEdit each containing 2,000 menus. But thereafter when I try to import 51st VTS, PGCEdit crashes while scanning all the VTS for menu button starting from 1. It says PGCEdit has stopped working. Is there any version of PGCEdit which can support importing large number of menus, say about 2,50,000, successfully? Are there any limitations on the number of menus PGCEdit can import successfully per VTS? I am using Windows 7 64 bit OS having 8GB RAM. I am using version 9.3.

r0lZ
2nd February 2012, 12:55
Not sure why it crashes. Maybe simply before it is out of memory. Anyway, there is no hardcoded limitations in PgcEdit, except the limitations imposed by the DVD-Video specs. You can theoretically have up to 99 VTS.

If you wish, upload your files somewhere, and write me. I'll try to load them here (I have also Win7 x64), and if I can reproduce the problem, I will try to fix it. You can find my email address here (http://download.videohelp.com/r0lZ/pgcedit/#contact).

s_i
2nd February 2012, 13:50
I have dropped a mail to you. Thanks for your quick response

skaleton
22nd August 2012, 07:55
Hi,
I seem to have an issue with the "Replace VTST Titles" function.
Whenever I author a title, mostly to add a custom subtitle, I use that function. Then I test it with PowerDvd and MPC-HC and when it's done (and it's really important for me) in my standalone player.
Now I just found out that VLC 2.0.2 Twoflower didn't agree with it (maybe Rincewind might have worked better and I don't know about older versions). And I thought that VLC could be fed almost anything.
VLC plays the original DVD just fine but crashes with the re-authored DVD.
As an alternative, I used VobBlanker to replace the authored title and VLC had no problem playing the new DVD.
I thought it might have to do with that particular DVD, adding an English Subtitle into a French DVD, you know, but then I just did the same to a German DVD, with the same result; PgcEdit didn't work whereas VobBlanker did.
I don't mind using VobBlanker but whenever possible I prefer PgcEdit.
Did anyone experience the same problem? Is there a solution?
Looking forward to your reply

PgcEdit 9.3, Windows Vista x64
Title authored with PgcDemux and Muxman

r0lZ
22nd August 2012, 08:17
Have you tested the DVD produced with muxman (with the re-authored title alone)? If VLC doesn't accept it, that means that PgcEdit is not the culprit.

Anyway, I can't understand what's wrong. When the title is replaced, PgcEdit does only this: it replaces the VOBs in the folder, and it copies the various tables from the re-authored IFOs to the original IFO. As long as the tables are correct in the re-authored DVD, that should work. Some tables are not replaced if you tell PgcEdit to keep them. For example, the chapter table is kept unchanged when it's possible (when the number of cells of the re-authored title is equal to the number of cells of the original table). BTW, have you accepted the option to keep the original tables? Perhaps there is a bug here.

skaleton
22nd August 2012, 15:46
Thank you for your reply, r0lZ.
Yes, VLC accepts the re-authored title alone. Also, since there is no problem with the VobBlanker replacement method, I doubt that the re-authoring could be the culprit.
In both cases, since I didn't make any other change than adding a subtitle, I chose yes when asked whether to keep the original tables.
I just re-authored it again but this time choosing not to keep the original tables. There were no commands left and I had to import them from another copy. But the new re-authored DVD was accepted by VLC.
So, as you suggest, the problem seems to be with the option to keep or not the original tables.

But why would it work with players like PowerDvd and MPC-HC and not with VLC (I didn't test any other player)? Could it be because VLC doesn't seem to follow the navigation instructions of the .ifo files as it usually goes directly to the main menu?

r0lZ
22nd August 2012, 16:08
Thanks for the precision. I will have a look at the way the tables are kept from the original IFO.

I wonder if reimporting exactly the same title (from another exact copy) but asking PgcEdit to keep the original tables will produce the same behaviour. Unfortunately, I have only the portable version of VLC, and I'm not sure it's the latest version. So, if you can do the test yourself, I will appreciate it.

I don't know why VLC doesn't accept the IFOs. Honestly, I don't like VLC to much, at least as a DVD player, as it has several problems (mainly with the menus), and it is not really standard compliant. Currently, I do most of my tests with The KMPlayer. Although it has some problems with TS and M2TS files, it is excellent for the DVD playback. Another good way to test your DVD is the player integrated in IfoEdit. It's not at all a beautiful player (and it has some problems with the menu button highlights), but you can watch the GPRM changes, and in some occasions, it's invaluable.
Could it be because VLC doesn't seem to follow the navigation instructions of the .ifo files as it usually goes directly to the main menu?Yes, that might be the problem. Bypassing some parts of the normal navigation is extremely dangerous, as usually, some GPRMs are not set as they should be, and the navigation can crash later, or at least lead to unexpected results. The Jump to PGC upon DVD insert PgcEdit function does just that, but it tries to clone the GPRMs and SPRMs state as it is when the navigation is followed normally. (It's why you have to trace to the target PGC.) Other rough methods, such as the method used by AnyDVD, often do not work as expected. I don't know at all the method used by VLC.

Also, another possible cause of the problem is a mismatch in the Domain Track Attributes tables. Since there is an additional subpic stream, maybe the problem is that that new stream is not referenced correctly. (It's also why I would like to know if the problem persists when importing a title without additional streams.)

skaleton
26th August 2012, 03:37
Glad if I can help improving this wondreful software of yours.I wonder if reimporting exactly the same title (from another exact copy) but asking PgcEdit to keep the original tables will produce the same behaviour.No, VLC doesn't seem to complain with replacing the main title by the exact same copy.

Currently, I do most of my tests with The KMPlayer. Although it has some problems with TS and M2TS files, it is excellent for the DVD playback. Another good way to test your DVD is the player integrated in IfoEdit. It's not at all a beautiful player (and it has some problems with the menu button highlights), but you can watch the GPRM changes, and in some occasions, it's invaluable.I am quite happy with MPC-HC for quick checks and PowerDvd for the final check, as it is less pliable. For instance, I have DVD that plays fine in MPC-HC but won't start at the beginning in PowerDvd. Through a quick Trace (Such an amazing tool!), I found out that from the menu play button, the main title starts directly through the RSM function, which PowerDvd doesn't like, for good reason IMO otherwise it wouldn't be called "Resume". ;)
I tried the DVD Play in IfoEdit but everytime I got the error* No Valid DVD-Video volume could be located
Do you still want to continue?although I tested perfectly valid DVD's.

r0lZ
26th August 2012, 10:10
To use a RSM to launch a movie, the navigation must "visit" the main movie just before jumping to the main menu. The movie doesn't need to be played. It is sufficient to execute some pre-commands. For example, the FP-PGC can set a GPRM to 1, then jump to the main movie, where the pre-comands test if the GPRM value is 1, and if it's the case, it resets it to 0 and calls the main menu (otherwise, it plays the movie normally). That way, the RSM in the main menu will have a valid resume point upon DVD insert.

The message of IfoEdit is irritating, but normal. IfoEdit can work on IFO files only, if you copy them on your HDD. When you launch the player, it tries to find the missing VOBs in your DVD drive. Of course, it uses the VOBs on the HDD if they are present, so that message makes sense only if some VOBs have not been copied with the IFOs, but it is issued anyway.

skaleton
26th August 2012, 15:47
Interesting and useful piece of information on the way the navigation works.

Thanks for the tip to ignore the error message. I mounted a .iso file in Virtual CloneDrive and there was no error message.

david42
31st January 2013, 23:32
Yes, v9.3 is still the current version, sorry. I'll try to finalize v9.4 soon...

What ever became of the v9.4 release with the 2 v9.3 bug fixes?

The only thing I've run into is a few DVDs (can't remember which ones) that the retentive reauthorers, like myself, find multiple "fake" titles of the movie and when I try doing the (v9.3 March 22, 2010) DVD->Remove Useless Stuff option finds uncalled titles dependant upon only each other so the unused PGCs are blocked from being automatically removed. Paramount & Dreamworks did this in their authoring for the last 2 years (only on some movies).

My workaround was to start at the bottom of the DVD I was backing up and delete unused PGC commands on all PGCs that weren't played when I Traced through the Menu navigations I choosed to keep. After that the phony titlesets had no commands to loop between each other so the recursion issue that had decided some unused PGC were unsafe to remove now had no conflict so it took them away. It is QUITE TEDIOUS manual editing to work around the "can't automatically delete unsafe PGCs" issue in the "Remove Useless Stuff" feature. It's found in movies that have multiple titles inonetitleset of which only 1 title is actually played even though several others in the titleset are similar times for the unplayed titles.

All in all the developers produced an amazing project. I hope it continues. Perhaps more of the (freeloader, no insult intended) users should actually DONATE!?

r0lZ
1st February 2013, 00:35
Well, PgcEdit is still (slowly) developed. I should have released v9.4 already, but I haven't much time. I'll try to release it before this Spring...
Perhaps more of the (freeloader, no insult intended) users should actually DONATE!?
Not a bad idea, indeed! :goodpost:

tandi
6th March 2013, 23:41
hi, i need some help here with PgcEdit, run in win 7, already set compability to win xp sp 2, in security already set to full control
but still get this message :

PgcEdit version 9.3 (March 22, 2010)
Running as a wrapped script under FreeWrap v 6.42.4.
Current character encoding: cp1252
Console character encoding: cp437

Error sourcing /Tcl/work/PGCEDIT/PgcEdit.tcl: invalid command name "::msgbox::MsgBox"
() 1 %

Chetwood
7th March 2013, 07:06
Works fine on Win7 64 bit without setting compatibility mode.

r0lZ
7th March 2013, 10:03
Your PgcEdit file is probably corrupted. Try re-downloading PgcEdit from my homepage (http://download.videohelp.com/r0lZ/pgcedit/#download).

Chetwood is right; compatibility mode is not necessary.
If you have installed PgcEdit in a folder requiring admin privileges (such as in Program Files), be sure to run PgcEdit as administrator the first time (including after an update), as it needs to write files in the installation folder. Then, you can run it normally.

tandi
7th March 2013, 17:26
i already redownload
and i try to put in Program Files, and run PgcEdit as administrator
but the message is still the same

r0lZ
7th March 2013, 19:45
Well, that's strange. Try to move it in another folder, where you don't need administrative privileges. Does it work?

tandi
8th March 2013, 00:12
it just appear same message, but when i look in window task manager, it's in there

r0lZ
8th March 2013, 00:28
Yes, the message is printed to the PgcEdit console. Btw, to quit it, you can type "exit" in the console.

I can just say that that error comes often when the program file is damaged. Clear your internet cache, and download the ZIP file again.

Try this direct download link (http://download.videohelp.com/r0lZ/pgcedit/pgcedit_winexe.zip), if that can help.

Sorry, I can't help much more.

tandi
8th March 2013, 08:02
after try from your direct link , got this message

PgcEdit version 9.3 (March 22, 2010)
Running as a wrapped script under FreeWrap v 6.42.4.
Installing the binaries v9.3 in "I:\pgcedit\bin".
You need write permission on this folder and its parent to complete the install.
Also, be sure to close all instances of PgcEdit before launching a new version.
Binaries v9.3 copied successfully.
Current character encoding: cp1252
Console character encoding: cp437

Error sourcing /Tcl/work/PGCEDIT/PgcEdit.tcl: invalid command name "::msgbox::MsgBox"
() 1 %

r0lZ
8th March 2013, 10:40
Have you cleared your internet cache?
If not, try this link (http://home.base.be/vt6328799/pgcedit/pgcedit_winexe.zip). (It's the version on the Belgian mirror, and you should not have it in your cache.)

ggtop
8th March 2013, 12:16
Hi,

I remember having the same problem some years ago. If I remember correctly the config file "pgcedit.cfg" got damaged somehow.
I'm also running Win7 64 bit. Locate it under "C:\Users\USERNAME\AppData\Roaming\PgcEdit".

I would try to make a backup of the whole parent folder and re-start letting PGCEdit create a new one from scratch. Your settings will be lost. You could then try to restore them by comparing the cfg files.

ggtop

r0lZ
8th March 2013, 12:23
Oh, yes, corrupt settings files can also cause that kind of problem.

BTW, the AppData folder is hidden. To open it easily, type this in the Search field of the Windows start menu:
%appdata%\PgcEdit

tandi
8th March 2013, 16:57
yes it work, thanks a lot for your help r0lZ and ggtop

ggtop
8th March 2013, 18:01
Glad to hear it works for you now.
Donations, however, to r0lZ :)

ggtop

DrMerlin
9th September 2013, 23:35
Newb question-
Background- I am trying to make a list of chapter pairs for the different Scene It DVDs. Basically a list of questions/answers. One thought I had was to put the DVD in my PC, play the DVD in 'Party Mode' (which cycles through all or most of the questions in a random order) and get a log of titles/chapters played and sort them into question/answer chunks that way. As I was searching for a software DVD player that logged this kind of info, I found PgcEdit which seems like it might be the right tool for the job. However, I wasn't up on my Pgc's and Gprm's, etc... so I did a little reading... and am more or less in over my head.

Question- What I really want to do is tell PgcEdit (or other tool, if more appropriate) a starting title and have it tell me what titles/chapters each one links to in a list. Something that looks like this:

Title 5/Chapter 1 ->
Title 5/Chapter 26 ->
Title 5/Chapter 132 ->
Title 6/Chapter 73 ->
Title 2/Chapter 48 (etc..)

Then I could assume (maybe) that the first title is a dummy, and each pair after that (starting with 26 in the example above) is a question/answer pair.

Would anyone be willing to give me some pointers out of the goodness of their heart(s)?

Thanks,
DrMerlin

r0lZ
10th September 2013, 06:41
Welcome DrMerlin.

IMO, playing all titles randomly and logging the number of title/chapters is not a good method, because you will almost certainly miss some pairs, that will take much time, and the log will be long and confusing.
It is probable that your DVDs have a structure that can be analysed to discover how they link the questions and answers, and where they are located. For example, when a question is played, one or two GPRMs can be set to specific values, and that GPRMs are used later to jump to the title and chapter corresponding to the answer. If you can discover what GPRMs are used for that usage and how the value they contains are converted to title and chapter numbers, you can probably easily build the list of questions and answers simply by looking at the commands of the various PGCs of the DVD.
Of course, that requires to somewhat understand how the navigation commands work, but you can guess most of the things, and you don't need to know everything.

I suggest to use the Trace mode to follow the navigation, and try to find a "pattern" in the way the questions and their answers are called. You should open the Watch window and pay attention to the GPRMs. For example, when the nav jumps to or returns from a title containing a question, it is probable that the values of several GPRMs change. Pay attention of that changes, and play another question. Look at the changes again. Some GPRMs should have different values that with the first question. The GPRM holding the title and/or chapter number of the answer is probably among them. Continue to play the DVD until you can identify the right GPRM for sure. You should now be able to deduce the title and chapter number of the answer when a question is played, just by looking at the line that changes the value of the GPRM. You should also try to understand how the questions are called, to discover in which PGCs they are stored.

I agree that it's not an easy task, especially if you know nothing about how a DVD works, but IMO it's the only viable solution. Unfortunately, I can't help much without the DVDs, as I don't know how they are programmed. If you need more info, open a new thread to post your questions. You can also send me the PgcEdit backup of one of your DVDs, and I'll try to help you. (If you do so, be sure to use the function File -> Backup -> Create Zip Backup, and include the background menu images. Send me the ZIP file by email. You can find my email address at the bottom of the PgcEdit home page.)

Good luck anyway.

david42
1st February 2014, 08:03
VM_TT_SRPT corruptionUsually, Disney/ARccOS/RipGuard protected DVDs (the same crap anyway) are protected with unreadable sectors in the main movie (skipped by cell commands) and a lot of fake titles/VTSses. In the beginning, the fake titles were unreferenced, but it was too easy to remove them (with a logic similar to PgcEdit's Delete Uncalled PGCs). Therefore, now, they are referenced by fake menus. The fake menus are short menus with buttons and a black background. Since the playback duration is extremely short and there is nothing shown (except a black image) when the menu is played, the user has no chance to select a button, and the playback continues. (More on this below). But the ripper programs are supposed to "think" that those menus are real menus, and as a consequence, they "think" that the fake VTSses can really be called, ans they cannot decide if it is safe to remove them.

So, to help PgcEdit, you have to remove the fake menus yourself, to make the fake titles unreferenced.

[remainder of original msg deleted for brevity]



Sometimes I do this type of editing when stripping down a purchased DVD (from Paramount). Occasionally the Remove Useless Stuff runs into a problem because a title needs to be moved to the end of the DVD and the VM_TT_SRPT gets corrupted (somehow) into thinking the title belongs to a VTS that it has already removed earlier in the Remove or from a previous Remove Useless Stuff. I get a pop-up window (running winXP Pro SP3) saying this -


PgcEdit: Get VTS Sectors
! WARNING: There is something wrong in the VMG_TT_SRPT table!
Title 1 refers to VTST 4, which doesn't exist.

Do you want to fix the value of the Number of Title Play Maps to 0 (and the Length of Table value from 307 to 7)?
WARNING: doing so will remove the entries for Titles 1 to 25. Some of those Titles may refer to another (possibly existing) VTST.

Answer "no" to leave this entry unchanged and check the next one, or "abort" to leave all entries unchanged.
You will need to fix the VM_TT_SRPT table yourself.


The problem comes if I pick Yes to delete Titles 1-25 it deletes Title 23 which IS THE REAL MOVIE. I'm fairly good using PgcEdit but fixing the VM_TT_SRPT is not a task I've found in it. Doing it myself makes it sounds like a job for some other program perhaps IfoEdit? The problem is I'm unsure how a VM_TT_SRPT is laid out so deleting 24 sequential Titles while saving the 2nd to last one of a 25 titles sequence is tricky. Stripping out titles and adjust offsets and lengths requires a better understanding of how to change an IFO file's VM_TT_SRPT. I'd 1st try opening IfoEdit and selecting VM_TT_SRPT in the top window which shows the contents in the bottom window but that's where I'm stuck. Am I going in wrong direction (ie. program) or is there any explanation of how to fix a VM_TT_SRPT table as PgcEdit recommends? I did a google search but it mostly pointed at afterdawn and doom9 forums so this appeard to be a reasonable place to ask for help to find a program and instructions for someone who need a good write up (like a mock strip recipe) to do this type of adjustment to an IFO's VM_TT_SRPT. I'm using winXP so if a hex editor is required (other than what is a button at the bottom of IfoEdit) to make the IFO file's VM_TT_SRPT smaller is required please also suggest a hex editor origram to use for winXP.

As always your inputs are appreciated!

r0lZ
1st February 2014, 09:57
Occasionally the Remove Useless Stuff runs into a problem because a title needs to be moved to the end of the DVD and the VM_TT_SRPT gets corrupted (somehow) into thinking the title belongs to a VTS that it has already removed earlier in the Remove or from a previous Remove Useless Stuff.
Can you give me more info? I need a way to reproduce the problem and I'll try to fix it.
You can also send me the PgcEdit-backup of a DVD "ready to crash" when applying Remove Useless Stuff. (I need the IFOs and the VOBs of the menus with buttons only.)
My email address can be found near the bottom of the PgcEdit home page.
... but fixing the VM_TT_SRPT is not a task I've found in it. Doing it myself makes it sounds like a job for some other program perhaps IfoEdit? The problem is I'm unsure how a VM_TT_SRPT is laid out so deleting 24 sequential Titles while saving the 2nd to last one of a 25 titles sequence is tricky.
It's even more tricky than just having to remove some entries from the table. If you remove some titles, the subsequent Title numbers are decreased, and you will have to fix all JumpTT commands in the DVD. PgcEdit does it automatically, but it's not something easy to do manually.
Am I going in wrong direction (ie. program) or is there any explanation of how to fix a VM_TT_SRPT table as PgcEdit recommends?IMO, the easiest way to avoid that bug is to prepare the DVD before applying Remove Useless Stuff, and remap the title numbers and move manually the VTSs so that PgcEdit will not have to remap them automatically later.

Use Info -> Find Uncalled PGCs to locate the uncalled Titles and the VTSs containing only uncalled PGCs.

Then, use Title -> Remap Title numbers to move the unused title numbers to the end of the list.

Similarly, use DVD -> Remap Titlesets to move the unreferenced titlesets to the end of the DVD.

At this point, you should be able to apply Remove Useless Stuff without problem, but as an additional precaution, I suggest to use DVD -> Delete Uncalled VTSs followed by Delete Uncalled PGCs, instead of Remove Useless Stuff, that does many things in one shot. If everything went OK, you can then use Remove Useless Stuff.

Of course, if at some point the program crashes again, please let me know exactly what you did.

david42
2nd February 2014, 02:40
Sending the menu VOBs is problematic because they contain proprietary image data so even though I may own the DVD and fair use to back it up doesn't give me the right to propagate it legal thing.

Funny thing is I did what you recommend and was even tighter about it.

Info that may help includes -

First the title is Jackass: Bad Grandpa. Second I used DVDFab HD Decrypter version 8.2.3.0 (after it is scanned switch from full DVD -> customize then check all titles) to backup the files to HDD.

Third I noticed (winXP Pro) Pgcedit v9.3 start-up warning windows about some of the titles couldn't be deleted until after moving them to the last VTS which caused me to reorder all of them so it wouldn't keep coming back later on other useless titles. I continued on by editing the speccial features menu completely; then the audio menu away (and the title PGC user flag allowing it) and modified the subtitle menu and PGC to limit the choices to English and None with Play and Main choices as well. The Subtitle mennu PGC was changed so it checks current SPRM-2 and highlights the opposite button to make it easier for the user to minimize navigating buttons. Fourth I traced playing the movie, exercising all the menu choices, then during play of the movie did breaks and clicked on any menu PGCs allowed by the movie PGC option flags. Finally I did a movie play->break->and ran the trace from the First Play PGC.

After that I knew which PGCs and titles were unused, I manually deleted all commands in them and then checked if they were called and evaluated/edited the calling PGCs thus removing their calls. I basically completed re-authored the whole DVD until it had only optimized commands throughout. Next was time to clean it up as you stated I first ran Remove uncalled titles then Remove uncalled PGCs. At that point I exited PgcEdit to check out how I was doing on disk space and take a rest.

When I started PgcEdit up again it complained, as I sent you in this thread yesterday, for each title 1-22 & 24-25 which were all that was left.

PS: I've cleanly done PgcEdit re-author/optimizing many times and suspect that is NOT a glitch on my part here. This type of problem seems to be Paramount specific from having seeing it before a handful of times in the past year. Of course they're getting better at moving the titles around to muck things up. (8>)

Let me take another more layered attack at it and see if there's something I can share. By the way, would it be possible for me to ship you only the bad VIDEO_TS.ifo file I've created (if telling me how to fix it's VM_TT_SRPT is too difficult). I could then use that bad ifo to let me change the DVD title #s and save then restart PgcEdit with the fixed ifo file. Can that work? Maybe it's easier to try telling me how to modify the ifo myself.

It'll take me a couple of days to try redoing the re--author/optimize again so hold off responding unless I get back to you. I'm not too clear on which PgcEdit Backup folder you were asking me to get the menu vob/ifo's from because there's end up being multiple such folders?

PS: Thank you much for your help and wisdom which is greatly appreciated!!!

r0lZ
2nd February 2014, 09:06
Thanks for the long explanation, but unfortunately, that doesn't help me much. I need to know exactly what you did just before the crash. That means that you should redo everything, but save after each important steps, close and restart PgcEdit. Then, when the bug happens, you should keep the last backup (with the VOBs) for future reference. It's that backup that I have requested.

Unfortunately, I can't do much with VIDEO_TS.IFO alone (and BTW, the IFOs are also copyrighted). And as I said, fixing the table manually can lead to additional problems, such as broken navigation.

So, I can only suggest to undo your last(s) incremental backup(s), up to the point where the DVD was still correct, and redo, step by step, the operations you did after that point. If you can locate exactly the operation that caused the problem, maybe I'll be able to debug, but that will be difficult anyway.

laserfan
2nd February 2014, 14:53
Thanks david42 for bumping this thread, as I have owed r0lZ a donation for a long time and will make one via PayPal today!

:)

I don't work with DVDs much any more but when I do need to "jump to the movie" or whatever PgcEdit has always worked well for me! Well OK I have found a few discs for which the "jump to" doesn't work but I don't think that's your proggies fault. In any case thanks for the great tool and for your devoted presence here these many years r0lZ!

r0lZ
2nd February 2014, 15:57
Thanks for the thanks, and for the donation, laserfan. :-)

david42
14th February 2014, 21:32
Please advise if there is a minor problem with how PgcEdit v9.3 (used on winXP Pro 32-bit) handles "RSM" when tracing.

I look at the movie title PGC (let's call it title_1) to check which menus are callable for resume from title_1. Next is tracing to step into playing the movie BUT break before letting all the chapters play just to check if I can resume from the appropriate menu(s). Typically RootM and SubpicM are callable during playing of a movie.

If I don't "step through all the movie chapters before executing a resume/play from a menu" it has trouble (halts on the RSM) in code like this :
if( gprm(15)=1 ) then { RSM }
(JumpVTS_TT) jump to TTN 1 in this VTS
Where gprm(15) gets set to 1 in TTN1 before playing and set to 0 after.

I know that this sequence on a actual DVD player let's me resume so am unsure why I've seen it in PgcEdit on any DVD whihc uses the RSM command.

Perhaps this is a some resume state variable in the tracing code that currently only gets set after the movie plays completely yet which should possibly get set the movie first starts playing during a trace session?

I'm just guessing at what RSM means so if it's not a problem; please tell me a bit about what to expect RSM to do.

THANX

r0lZ
14th February 2014, 22:47
I don't understand the problem. It works fine here.

When a Title has been "visited", it is automatically defined as the resume point. If it has been interrupted manually by pressing a menu button, the resume point is the current position in the movie. Otherwise, the resume point is the beginning of the cell specified in the CallSS command that has been executed to quit the Title PGC and jump to the menu.

PgcEdit saves the resume point when it's necessary, and when a RSM command is executed, the nav returns to that point. At least, it's what it is supposed to do.

Note that the nav can resume with a RSM command and if the user presses the Root menu button when the Root menu is playing (or Title Menu when the VMGM is playing). However, the player may crash (and PgcEdit issues an error message) if RSM is executed before any title has been visited, as there is still no resume point to jump to. Also, to resume with the menu button, a video must be playing. You cannot resume when the nav is somewhere in the pre, post or cell commands section of the PGC, or anywhere in a dummy PGC. It is also possible to prohibit resuming with PUOs. The RSM command should resume anyway, regardless of the PUOs, as long as there is already a valid resume point.

I have just verified, and it's what PgcEdit does, so I don't understand what is not working as expected in your case. If you need more info, can you post the Trace log?

r0lZ
14th February 2014, 22:58
I have read again your explanation, and I note this:
Next is tracing to step into playing the movie BUT break before letting all the chapters play just to check if I can resume from the appropriate menu(s).Break is just a PgcEdit trick to control the trace, and is not related at all to the real navigation. You cannot simply break the trace, then select a menu manually, and continue to trace from that position. You have to click the Root, Title or any other menu button to jump to the corresponding menu. It's when you do that that the resume point is recorded by PgcEdit. Is it what you did?

david42
15th February 2014, 23:49
I have read again your explanation, and I note this:
Break is just a PgcEdit trick to control the trace, and is not related at all to the real navigation. You cannot simply break the trace, then select a menu manually, and continue to trace from that position. You have to click the Root, Title or any other menu button to jump to the corresponding menu. It's when you do that that the resume point is recorded by PgcEdit. Is it what you did?

Sounds like I need to study the last 2 emails in detail because my "guess" at how to check out resume in trace mode was way off.

I'll check out what happens when using it per your inputs and let you know. It's likely questions will follow as I try to learn the correct way to do it.

Sorry if it initially came off as sounding like PgcEdit has a resume problem. I do maintain that PgcEdit is the coolest program ever written for authoring backups!

Thanks for the inputs so I can see how it really works.

THANX

david42
4th March 2014, 03:57
Perhaps this is a strange/silly question but here goes...

When I look at a menu using Cntrl-M can I depend on the picture of it that comes up to detect if it is 4x3 (square) or 16x9 (rectangular)?

If not, is there another way for me to tell whether the menu is for Analog or HD?

THANX

david42
4th March 2014, 04:12
I have read again your explanation, and I note this:
Break is just a PgcEdit trick to control the trace, and is not related at all to the real navigation. You cannot simply break the trace, then select a menu manually, and continue to trace from that position. You have to click the Root, Title or any other menu button to jump to the corresponding menu. It's when you do that that the resume point is recorded by PgcEdit. Is it what you did?


Yes that is what I did before the movie completed playing by using "Close and Break" while a movie cell was playing.


Maybe it is best to reset the question by explaining what I'm trying to do...

When I play a DVD, in an actual DVD player, it is possible for me (while the movie is playing) to call the subtitle menu, change to turning on English, then use (depending on the code in that movie's PGC's) Play or Resume buttons in the Subtitle or Main menus to continue watching the movie from where it was playing (before I changed the subtitle choice.

Since it depends on the code on the DVD PGC's I 'assumed' that it is related to commands containing RSM. So I was curious how to (while Trace is on) stop in a movie cell and call up the Subtitle menu (if the movie Prohibited Operations allows) continue executing in the Subtitle menu; so I can confirm my that the re-authoring I'm doing will work on an actual DVD Player.

THANX

r0lZ
4th March 2014, 10:00
Yes, it's possible. If the Preview window is opened, you can click the red button "Close and Break trace", but it's not absolutely necessary. You can also simply move the window out of the way to access the Trace panel.
Similarly, in the Trace panel (aka the Virtual Player panel), you can click the Break button, but again, it's not necessary. The only advantage of clicking Break at this point is that you can examine easily the current state of the GPRMs, SPRMs, PUOs and the trace log, and you can continue the trace in step by step mode if you need to carefully examine how the DVD reacts.

In the Trace panel, if there are no PUOs prohibiting to jump to the subtitle menu, the SubPic menu should be available. Just click it, and, if you have broken the trace before, continue it (in Step or Run mode). The SubPicM entry PGC of the current VTS will be called immediately. (If that entry PGC is not defined, PgcEdit will issue the message "! USER: Target menu not found. No Action." in the trace log, and the nav will stay in the current PGC, where you can continue to play the movie.)

Of course, the fact that the SubPicM PGC is defined and there are no PUOs prohibitting to call it is not sufficient to ensure that you can change the subtitle stream and return immediately from the menu to the movie. The nav of the menu must have been explicitly created (or modified) with that possibility in mind.

In other words, you can use the buttons of the Trace panel just like the buttons of a real remote. They should act identically. (In addition of the trace panel, you can also use the cursor keys and the Return key on your keyboard to simulate the arrows and the OK button of a real remote when a menu with buttons or a title with BOVs is playing, but that's another story.)

r0lZ
4th March 2014, 10:33
Perhaps this is a strange/silly question but here goes...

When I look at a menu using Cntrl-M can I depend on the picture of it that comes up to detect if it is 4x3 (square) or 16x9 (rectangular)?

If not, is there another way for me to tell whether the menu is for Analog or HD?

THANXYes and no. The aspect ratio of the menu depends of the way it has been created, as you suspected, but also of the settings you have defined via Trace -> Virtual Player Setup, in the Video Setup frame.

The aspect ratio of the menu is defined by the stream attributes of the menu domain. Have a look at the stream attributes of your menu by right-clicking any VTSM PGC of the current VTS and selecting Domain Stream Attributes. In the Video frame, you can see if the 4:3 or 16:9 mode is defined. When the 4:3 mode is defined, the menu can be played only in 4:3, and will appear with vertical black borders on a 16:9 TV. In PgcEdit, it will be displayed always in 4:3 in the Preview window and in the menu viewer and editor, regardless of the settings of the virtual player.

(The Source Picture Letterboxed is an option that can be ticked when the video is a 16:9 video but it has been encoded in 4:3 with horizontal black borders. Some players can crop the black borders and zoom in the image to show it full screen on a 16:9 TV, but it's not the real 16:9 anamorphic mode. Anyway, that mode is extremely rarely used with a menu.)

If the 16:9 mode is defined in Stream Attributes, there are two additional options that can be enabled: Automatic Letterbox or Automatic Pan&Scan. At least one of these 2 modes MUST be enabled. Sometimes (but rarely), the two modes are enabled.
When a 16:9 menu is displayed on a 16:9 TV (or, with PgcEdit, when the 16:9 TV is selected in the Virtual Player Setup), the menu is displayed full screen, in its original 16:9 aspect ratio. But when the same menu is displayed on a 4:4 TV (or in PgcEdit with the 4:3 TV option), the way it is shown depends of the Automatic LB or P&S option of Domain Stream Attributes. When Automatic LB only is selected, it is displayed in 16:9 with horizontal black borders to fill in the remaining space in the 4:3 screen. When Automatic P&S option is selected, the right and left borders of the 16:9 image are cropped, and the menu is displayed without black borders on the 4:3 screen (but with some parts hidden). Usually, most 16:9 menus use that Automatic P&S option alone, but in some rare cases, the two Automatic modes are selected at the same time. When it's the case, the player should use the mode that the user has selected in the player's preferences. For example, if you have selected "4:3 TV - Display 16:9 preferably as Letterboxed" and the two options have been enabled in Domain Stream Attributes, then the player will react as if only Automatic LB was active.

So, to reply to your question, the simplest way to see if a menu has been designed for 16:9 or 4:3 is to look at Domain Stream Attributes. Having a look at the Menu viewer is also a good indication, but don't forget that a 16:9 menu will be displayed in 4:3 (with or without horizontal black borders), if the 4:3 TV option has been selected in the player's preferences.

Note that you should NEVER change the 4:3/16:9 or Automatci options in Domain Stream Attributes, unless you know exactly what you are doing. The button highlights of the menu must be designed especially for each mode, and if you force another mode, they will disappear or be misplaced. Although it's safer, it doesn't make much sense to tick the Source Picture Letterboxed option of a 4:3 menu. You can change these options with PgcEdit, but you should do it only with the Title domains (VTST), when the title has been encoded in the wrong format.

I'm not suer what you call "analog or HD". There is no HD on DVD, and everything is digital. I guess you mean 4:3 and 16:9, right?

david42
5th March 2014, 00:05
I'm not suer what you call "analog or HD". There is no HD on DVD, and everything is digital. I guess you mean 4:3 and 16:9, right?

Sorry. I forgot that Europe and USA standards were different before HD came about here.

Analog is what the pre-digital tv's in the USA used which was 4:3. By HD I meant 16:9 which is a number of digital resolutions (eg. 720P, 1280I, & 1280P in the USA). There is also a digital 480I which is 4:3 in the USA.

THANX

manono
8th March 2014, 01:31
...(eg. 720P, 1280I, & 1280P in the USA).
Do you mean 1080i and 1080p? And these resolutions have nothing to do with DVD.
There is also a digital 480I which is 4:3 in the USA.
Given that all NTSC DVDs output 480i, then 4:3 doesn't enter into it. But 16:9 DVDs can be encoded as interlaced also, and will always output 480i at 29.97fps.

david42
4th June 2014, 09:47
I'm using the PgcEdit v9.4b4 (February 20, 2014) and have the same problem using v9.3. I run this on winXP Pro (32bit).

When I open the VIDEO_TS it starts ok but as soon as I attempt to remove uncalled PGC's or VTS's or run FixVts it throws an ERROR window pop-up and the bottom status line tells me to exit immediately and start up PgcEdit again. When I start it up again and it opens the VIDEO_TS folder it gets into scanning it when it suddenly pops up a Console Window which ends with the message "Error sourcing /Tcl/Work/PGCEDIT/PgcEdit.tcl: extra characters after close-quote () 1 %"

I re-ripped using ripit4me and end up with the same problem even if I immediately do a vobblanker then a mock-strip.

This is a 1962 James Bond movie that MGM made a "Special Edition" DVD of in 2000 so it surprises me that it is being problematic.

Any ideas how I can get around this editing issue would be appreciated?!

THANX

r0lZ
4th June 2014, 11:50
The problem may be caused by a corrupted PgcEdit config file. Close PgcEdit, go to your Appdata folder and delete or rename the PgcEdit folder. Launch PgcEdit, and see if it works.

Note that you will lose your configuration. If you want to keep it, replace one at a time the files from the original folder to the new Appdata\PgcEdit folder, and verify if PgcEdit works fine. (The problem comes probably from the "pgcedit.cfg" file, but I can't be sure.)

If you don't know how to open the hidden Appdata folder, type %APPDATA% in the search box of your Start menu.

If that doesn't help, launch PgcEdit WITHOUT opening the DVD at startup, then go to File->Open DVD, annd open it from that menu. When it will crash, you'll see an error dialog box with a "Details" button. Click the button, copy the whole message and paste it here.

laserfan
4th June 2014, 13:01
I'm using the PgcEdit v9.4b4 (February 20, 2014)

Where did you get this version, and how is it different from official 9.3???

r0lZ
4th June 2014, 13:06
I guess it's one of the beta version I gave away to some users to test some new features.

david42
4th June 2014, 20:00
The problem may be caused by a corrupted PgcEdit config file. Close PgcEdit, go to your Appdata folder and delete or rename the PgcEdit folder. Launch PgcEdit, and see if it works.

Note that you will lose your configuration. If you want to keep it, replace one at a time the files from the original folder to the new Appdata\PgcEdit folder, and verify if PgcEdit works fine. (The problem comes probably from the "pgcedit.cfg" file, but I can't be sure.)

If you don't know how to open the hidden Appdata folder, type %APPDATA% in the search box of your Start menu.

If that doesn't help, launch PgcEdit WITHOUT opening the DVD at startup, then go to File->Open DVD, annd open it from that menu. When it will crash, you'll see an error dialog box with a "Details" button. Click the button, copy the whole message and paste it here.

I renamed the Appdata\PgcEdit folder then copied the registration file into a new empty PgcEdit folder, then reloaded my VIDEO_TS files to BEFORE the problem and started PgcEdit (after verifying the binary md5 is good). I did my config settings and exited then restarted PgcEdit. When it started the open DVD dialog came up and I selected the VIDEO_TS folder. It thought about it then threw the console window with the same error I described in my previous email.

The only difference between what you told me and what I did is do to me being on winXP so I was in "Documents and Setting\username\Application Data\PgcEdit" for the adjustments.

Any other ideas? I was real careful to triple check that I removed the config files; and refreshed the VIDEO_TS files to the BEFORE the problem level so I'm at a loss about what to try.

THANX

r0lZ
6th June 2014, 10:20
When it started the open DVD dialog came up and I selected the VIDEO_TS folder.
[...]
Any other ideas?
I told you. Re-read the last paragraph of my previous reply.

colinhunt
6th June 2014, 11:46
r0lZ, hi. I wanted to donate & register PgcEdit. That's still doable, I assume?

r0lZ
6th June 2014, 12:07
Yes, it's still possible. Use the PayPal button on my homepage.
Thanks in advance! :-)

colinhunt
6th June 2014, 13:50
Yes, it's still possible. Use the PayPal button on my homepage.
Thanks in advance! :-)
Donation is on its way!

If you're not too busy, could you please take a look at the problem I'm having with subtitles: http://forum.doom9.org/showthread.php?t=170736

david42
7th June 2014, 00:04
First let me say that every place I've read about DVD structure states that the VIDEO_TS folder contains the video files. I'll call the VIDEO_TS folder name "staying on the path".

Well, I got off the path and renamed the folder to VIDEO_TS.test then used PgcEdit on it and was surprised that the PgcEdit_backup folders were under VIDEO_TS.test even though I had the setting checked for putting them in the parent of VIDEO_TS.

Perhaps I should just stay on the path?! (8>)

r0lZ
7th June 2014, 06:48
Originally, the backup folders were always stored in the VIDEO_TS folder (or in any directory where VIDEO_TS.IFO and the other IFO, VOB and BUP files reside). But I have added the option to create them in the parent folder, because some badly programmed DVD burner programs burned the whole content of the VIDEO_TS folder, without removing first the illegal files and directories. So, now, if that option is ticked and the DVD files are in a folder named exactly "VIDEO_TS", PgcEdit creates its backup in the parent folder. But it doesn't try to use the parent if the folder has another name, because in that case, it's not a legal DVD structure anyway, and it is the responsibility of the user (or of the DVD burner program) to clean it up and make it compatible with the DVD-Video specs.

I have always recommended to use ImgBurn to burn your DVDs, and it is smart enough to remove the backup folders from the VIDEO_TS folder. (I don't know if it removes them from the parent.) Note also the PgcEdit function File -> Backups -> Delete Backup(s), that you can use if you need to clean up the VIDEO_TS folder yourself. That function removes also the backups created by some other programs such as VobBlanker.

david42
8th June 2014, 00:01
When I open the VIDEO_TS it starts ok but as soon as I attempt to remove uncalled PGC's or VTS's or run FixVts it throws an ERROR window pop-up and the bottom status line tells me to exit immediately and start up PgcEdit again. When I start it up again and it opens the VIDEO_TS folder it gets into scanning it when it suddenly pops up a Console Window which ends with the message "Error sourcing /Tcl/Work/PGCEDIT/PgcEdit.tcl: extra characters after close-quote () 1 %"

This is a 1962 James Bond movie that MGM made a "Special Edition" DVD of in 2000 so it surprises me that it is being problematic.

Any ideas how I can get around this editing issue would be appreciated?!

THANX



(edited for brevity)
Launch PgcEdit WITHOUT opening the DVD at startup, then go to File->Open DVD, annd open it from that menu. When it will crash, you'll see an error dialog box with a "Details" button. Click the button, copy the whole message and paste it here.


I sent r0lZ the files he request outside of the view of the forum so he could evaluate the problem.

(who approved this sharing)

(edited for brevity)
OK, thanks for the files.

I notice this in the menubuttons_new.but file form your PgcEdit_backup folder:

# PgcEdit Buttons dump file
# Automatically saved by PgcEdit v9.4b4
# DVD: "R:\007_01-DR_NO.r\VIDEO_TS"
# DVD-TEXT General Name: "Dr. No
"
# Provider ID: "PgcEdit 9.4b4"
# Number of VTS: 3


That file is read when PgcEdit loads the DVD so that it doesn't need to rescan the Title VOBs for BOVs every time. But it seems that for any reason, the header of the file is corrupt. It should be:

# PgcEdit Buttons dump file
# Automatically saved by PgcEdit v9.4b4
# DVD: "R:\007_01-DR_NO.r\VIDEO_TS"
# DVD-TEXT General Name: "Dr. No"
# Provider ID: "PgcEdit 9.4b4"
# Number of VTS: 3


Since, in the original file, the ending quote is located at the start of the next line, the error occurs.

You can delete the two .but files from the PgcEdit_backup folder to force PgcEdit so scan the BOVs again. It should work fine. (You can also fix the files by resetting the quotes where they should be, like in the second example above, but you will probably have to do it each time PgcEdit reloads the DVD.)

There a new line character at the end of the "Dr. No\n" label in the DVD-TEXT general name on the DVD IFO files. I'm almost sure that the problem will be present again when PgcEdit will re-create the .but files.

The DVD-Text General Name is the name of the movie, stored in the DVD-Text table in the IFOs. You need PgcEdit or another IFO Editor to change it. Anyway, afaik, there is no way to enter the new line character with PgcEdit.

+++ FIX +++
To fix the problem, restart PgcEdit (after having deleted the .but files), then use immediately DVD -> Remove DVD-TEXT data (the last option in the DVD menu). Save the DVD and quit PgcEdit. Delete again the .but files and restart PgcEdit. The problem should now be fixed. If you wish, use DVD -> Set DVD-TEXT General Name to restore the "Dr. No" label, but this time without the additional new line character.

Thanks for the bug report.


That brings the forum up to date on what r0lZ was able to find.

In short it appears that Metro Goldyn Mayer (aka MGM) release some DVDs ~2000 that had an authoring issue in 1 or more IFO file(s) for the name of the movie (eg. Dr. No\n, From Russia With Love\n) which PgcEdit sees in a variable it calls "DVD-TEXT General Name" that PgcEdit v9.3 puts into some files it creates in the PgcEdit_backup* folders named menubuttons.but, menubuttons_new.but.

I also noticed the same problem in the files "User comments.upc", "User comments backup.upc" in case they need to be fixed as well.

If you run into this and confirm it in any of those PcgEdit_back* files manually after seeing a crash, apply the +++ FIX +++ (above) for the problem.

I hope I got all of this correct r0lZ. Please feel free to correct any mistake(s).

THANX

r0lZ
8th June 2014, 07:03
Thanks for the summary, david42.

To clarify, you must understand what is DVD-TEXT. DVD-TEXT is an optional feature of the DVD-Video. It allows the producers of the DVD to associate text strings to the various parts of the DVD. The "General Name" in the name of the whole DVD. Other strings include the name of the main movie, or of any title PGC, and the names of the chapters. That names are stored in the DVD-TEXT table in VIDEO_TS.IFO. PgcEdit uses only the DVD-TEXT General Name (or, if it is missing, the name of the main movie) to help identify the DVD. So, when PgcEdit has to save a text file to disc (such as the menubuttons.but file), it adds a header with some information about the current DVD, including its General Name. If, like in the Dr. No DVD, the General Name includes a new line character, the line containing the General Name is split in two parts, and an error occurs when PgcEdit tries to read the file. The solution is therefore to remove the new line character from the General Name, or to remove completely the whole DVD-TEXT table. DVD-TEXT is optional and only a few players can display that information. AFAIK, only the DVD players that can hold several DVDs at the same time use the General Name to help the user to select the DVD he wants to watch. (The same players can usually also display the Jacket Picture, stored in the JACKET_P folder of some DVDs.) These players are rare, and removing the DVD-TEXT table should usually not be a problem. Anyway, it is possible to restore the DVD-TEXT General Name with PgcEdit.

The bug is in the DVD, because the General Name should not include new line characters, but I've added a workaround in PgcEdit to remove it when the General Name is used in the header of a file created by PgcEdit. The next version should therefore not hang for that reason any more.

TheSkiller
11th October 2014, 12:35
Here's a small feature request: :p

http://picload.org/image/cdalwap/ifo_res.png

It would be convenient for me if PgcEdit allowed modifying the resolution flag of the IFOs. Currently I have to use IfoEdit to do this which is tedious as I have to modify VIDEO_TS.IFO and all VTS_xx_0.IFOs each individually.

Reason is, my authoring software always writes 720x576 (480) to the IFOs even though almost every Titleset I author is actually encoded as 704x576 and therefore needs the IFOs to be updated to 704.
Most hardware players don't seem to be offended by this but I have one older player which shifts the picture to the left slightly if the IFOs say 720 whereas the encoded video is actually 704.

r0lZ
11th October 2014, 14:55
Hum, I understand your reason, but I don't like too much to let the user modify settings that can be the source of many problems. You are the first person who complain that the resolution cannot be changed, because normally it should always be correct. PgcEdit is mainly designed to modify the navigation, not to fix the bugs in the badly created DVDs (although it does that automatically for some specific bugs).

Is it so tedious to use IfoEdit to modify just that value?

TheSkiller
12th October 2014, 10:38
Pretty much yes, because this flag is stored in the VIDEO_TS.IFO for every Titleset as well as in all of the VTS_xx_0.IFO files (in other words: twice for every Titleset). So if there are 8 Titlesets, I have to modify the flag in 9 different places 16 times using Ifoedit.

I noticed PgcEdit updates the Camera/Film flag in both VIDEO_TS.IFO and VTS_xx_0.IFO files which is convenient. I just wish I could do the same with the res flag.

I mean it's OK, IfoEdit works, but I thought PgcEdit may be able to do this in a more sophisticated way than IfoEdit which requires updating every file by hand.

r0lZ
13th October 2014, 10:39
OK, I have implemented it as a plugin. Download change_video_width_plugin.7z (http://download.videohelp.com/r0lZ/pgcedit/plugins/change_video_width_plugin_v0.2.7z). Extract the change_video_width_plugin.tcl file from the archive, and place it in the "plugins" directory (within the PgcEdit's installation folder).

You should have now a new Plugins -> Change Video Width menu, with an option to change the video width of the currently selected domain from 720 to 704 or from 704 to 720. The half width (352) and the PAL/NTSC heights (576 and 480) cannot be modified.

There is also a global function that toggles the width in ALL menu and title domains of the DVD. (The half-widths are not modified.)

You can also use the Change Video Width option at the end of the menu that pops up when you right-click on a PGC in the left pane. It is easier to access, and changes the video width of the current domain only.

I hope it's sufficient to fix the bugs of your authoring software. Let me know if you need to toggle the widths in all title domains only and not in the menu domains (or the opposite). I can easily change the global function to handle the menu and title domains separately.

TheSkiller
14th October 2014, 17:14
That's awesome, big thanks to you for making this plugin, r0lz.:)

Works very well and does exactly what I need without having to edit so many single files – what a relief.

Let me know if you need to toggle the widths in all title domains only and not in the menu domains (or the opposite). I can easily change the global function to handle the menu and title domains separately.That would be great. I never need to patch my menus because I found using 704 width menus results in button highlights slightly off on some players, so I always use 720x576 menus (which are correctly flagged as such).
So yes, it would be perfect if the global function would handle menu and title domains separately.

r0lZ
14th October 2014, 17:51
OK, here it is: change_video_width_plugin_v0.2.7z (http://download.videohelp.com/r0lZ/pgcedit/plugins/change_video_width_plugin_v0.2.7z)

legolad
31st January 2015, 21:10
Hello,

I've been using your this excellent PGCEdit tool to complete a DVD project for a friend. It allows me to do things that PowerDirector 13 will not.

Today's issue is a menu item.
In my DVD structure I have a menu that allows the viewer to turn the English subtitles On or Off.

I realize that they can do this with their DVD remote control and all that, but the PowerDirector template forces me to have this stupid menu but it does not work. Even worse, now that the film director has seen the menu, we wants to keep it and he wants me to make it work correctly.

I've been reading the help files for hours, but I can't seem to find anything that explains the PGC commands or their syntax. Without that, I can't figure out what's wrong with the command that's already on this button. I did notice a message that said the cell value of 64 was out of range. Pretty sure that's where the problem is, but I don't want to change anything I don't fully understand.

Any help you can provide would be greatly appreciated. Going to your donation page now.

Here are some pictures of the project in PGCEdit:

With the OFF button selected:
http://i.imgur.com/uECKCVg.jpg

With the ON button selected:
http://i.imgur.com/t2OHDpq.jpg

The PGC Commands Page for the SUBTITLE MENU:
http://i.imgur.com/ePnOdWj.jpg

The details dialog when I double-click the SUBTITLE MENU item:
http://i.imgur.com/kqSiau8.jpg

The details dialog when I double-click the MAIN TITLE item:
http://i.imgur.com/XQTDJfI.jpg

r0lZ
31st January 2015, 23:49
I can't tell what's wrong with your screenshots only. The 64 value to turn the subtitles on is probably right, but unfortunately, the commands of the menu buttons do not set the subtitle on or off directly. They just change the value of a GPRM, that should be used elsewhere to trigger the actual command that changes the subtitle state (a SetSTN command). Since 64 is the right value to turn the subtitle on, and 0 to turn it off, I suppose that the problem is that the SetSTN command is not executed when it should. But the command can be almost everywhere, and I can't help you.

I suggest to use the trace mode to discover when the subtitle stream is turned on or off. So, use Trace -> Trace Mode to enter trace mode. You'll see the virtual player in the bottom left corner of the main window. In the Watch menu of that frame, be sure to activate the GPRMs and SPRMs. (The other options do not matter.) In the GPRM window, click on the label "6" in front of the sixth button. The label should turn red. That means that the trace will stop when the value of GPRM 6 changes. Click also on the label "2" in the SPRM window. Again, it should turn red. Now, when the trace will run, PgcEdit will stop it when the value of GPRM 6 or SPRM 2 will change. SPRM 2 controls what subtitle stream must be displayed when a Title plays (not a Menu). It must therefore have the right value (64 or 0 for subtitle #0 on or off) when the main movie is played. Note that at the beginning, the value of SPRM 2 is 62, meaning "not set by the user, and let the player decide if a subtitle must be shown".

Start the trace by clicking the [->>> Run] button, and close the preview when it plays a video. Navigate to your subtitle menu, and click the Subtitle On button in the menu viewer. Continue to trace. You should see the value of GPRM 6 changed to 64, and the trace will stop. Click Run again. Continue to trace up to the next automatic break. At that point, a SetSTN command (that modifies the value of SPRM 2 and therefore selects a specific subtitle stream) should have just been executed. If it's not the case, and it's a command that modifies the GPRM 6 that is executed, then you have found the bug. Otherwise, continue to trace to the main movie, and see if the value of SPRM 2 changes again. If it's not the case, the movie should play with the subtitles. (You can't see them in PgcEdit, but have a look at the SubPic field in the virtual player window to confirm that the subpic #0 is turned ON.)

Anyway, if something went wrong, try to locate exactly where it has failed (either because GPRM 6 is changed again before the SetSTN command or because the SetSTN command is never executed, or executed twice with conflicting values), and copy and paste the commands of the current PGC here. (Use Info -> PGC to display the commands as text and copy them easily.) With that information, I may be able to understand what is causing the bug.

If it's too complicated for you, you can also do a ZIP backup (with File -> Backup -> Create ZIP Backup) and send me the ZIP by email. (Find my email address at the bottom of the PgcEdit home page.) I will have a look.

legolad
1st February 2015, 02:05
Thanks so much, r0lZ. I will try this first thing in the morning and let you know how I do. The good news is that the DVD is very simple. Only 1 film, one Main Menu, a few chapter pages, and the Subtitle Menu. That will make it easier to trace, I hope.

legolad
1st February 2015, 20:02
Thanks, Roland.

I have sent you an email.

I used the Trace feature as you suggested. The Trace window shows that the ON button is setting the GPRM 6 to 64. There is no SetSTN command being used there. So I think what I need to do is insert a SetSTN command somewhere.

I attached the Zip file to my email. If it is too large, I can put it on Google Drive for you.

Many thanks for all your help!

r0lZ
1st February 2015, 20:17
I know that the button sets 64 in GPRM 6. It's what its command does. That value must be transferred to SPRM 2 later, not immediately. You have to continue the trace up to the playback of the movie, to verify if (and where) that transfer is executed.
Anyway, I'll have a look at your IFOs tomorrow...

r0lZ
2nd February 2015, 13:32
OK, there is indeed a big bug in your DVD.
As I have explained above, the two buttons of the subtitle menu change only GPRM 6, and they do not select the subtitle stream directly. A GPRM is a variable, that can hold any value. Setting a GPRM to a specific value has no interest, unless that GPRM is used later to do some thing according to its value. In this case, the DVD authoring should set the subtitle stream on or off according to the value of the GPRM. Changing the subtitle stream must be made either manually with the remote, or with the SetSTN command. The SetSTN command appears only at one place in the whole DVD: it's the second pre-command of the main movie PGC (VTS 1, 1). However, that command is not correct:

[51 00 00 00 C0 00 00 00] 2 (SetSTN) Set Sub-picture track = 0, on

As you can see, that command selects subtitle track 0 and turns it on anyway, regardless of the value of GPRM 6. Since that command is always executed before the main movie begins to play, the subtitle is always on.

To use the value contained in GPRM 6 and therefore to take into account the user choice, you should modify that command, like this:

[41 00 00 00 86 00 00 00] 2 (SetSTN) Set Sub-picture track = gprm(6)

That commands uses the value in GPRM 6 to select subtitle #0 and turn it on or off. (Double-click the command to modify it. In the command editor, select the option "Set audio, sub-picture and/or angle to GPRM". Then, in the "sub-picture" frame, leave the "set to" option unchanged, but change the GPRM number from 0 to 6. OK the dialog.) Now, when you insert the DVD, if you go to the subtitle menu and use the ON or OFF button, and then you play the movie, the subtitle selection will be correct.

However, that's not sufficient to solve all problems related to the subtitles. Currently, GPRM 6 is never modified, unless the user goes to the subtitle menu to explicitly change it with one of the two buttons. Since the value of a GPRM is 0 by default, if the movie is played directly, without going to the subtitle menu first, that value will be used to select the subtitle. 0 means select subtitle #0 and turn it OFF. If it's not what you want by default, you should initialize the value of GPRM 6 to do what you want by default.

There are 3 possibilities. You can set the value to 0 to turn the subtitle OFF be default, or set it to 64 to turn it ON by default, or set it to 62 to let the player decide if the stream must be turned on or off according to its language settings. Anyway, to do that, select the First Play PGC in the left pane, be sure to select the very first line (with "*** pre commands") in the right pane, click the "Add After" button in the bottom of the main window. You should see a new NOP command as pre-command #1. Double-click that command to open the command editor. Use the "Alphabetically" menu to select the "Set" command. Now, change the "Set GPRM 0 = Mov Value 0" to "Set GPRM 6 = Mov Value N", where N is 0, 64 or 62, depending of what you want by default. OK the dialog.
For example, to turn the subtitle #0 ON by default, the new command should be:

[71 00 00 06 00 40 00 00] 1 Set gprm(6) =(mov) 64

Save the DVD and test with a good software player before burning it.

BTW, IMO there is another little problem in this DVD. The main movie has no "Root Menu", and it is therefore impossible to return to the menu during the playback of the movie, except by clicking the Title Menu button. It's unusual, and it is easy to fix that problem if you wish. Click on the "VTST 1, 1 TTN 1 (2:04:17) Title 1" PGC in the left pane, and select the 4 post-commands with the mouse in the right pane, and then click on the "Copy" button to copy them in the clipboard. Now, right-click on the same PGC in the left pane, and select "New Menu" in the popup menu. You should see a new "VTSM 1, LU1 (en), 1 ..." PGC just above the main movie PGC. In the right pane, select the first pre-command and click the "Paste Replace" button. The 4 post-commands of the main movie should now replace the default command of the new menu PGC, like this:

VTSM 1 , LU 1 (en) , 1 (dummy) RootM

********** pre commands:
[71 00 00 03 00 00 00 00] 1 Set gprm(3) =(mov) 0
[71 00 00 07 00 01 00 00] 2 Set gprm(7) =(mov) 1
[61 00 00 06 00 82 00 00] 3 Set gprm(6) =(mov) sprm(2:Sub-picture track number)
[30 06 00 01 00 C0 00 00] 4 (JumpSS) Jump to VMGM PGC 1
********** post commands:
********** cell commands:

(The 4th command is different than in the main movie PGC, but it's normal.) Save and test. Now, it is possible to use the normal Menu button on the remote to return to the menu during the playback of the movie.

Now your DVD should work perfectly. Enjoy! :)

legolad
3rd February 2015, 02:29
Wow. You really are a wizard at this.

I see now what happened and it's all my fault.

At the very beginning of this adventure, after I created the original DVD, the Subtitle options didn't do anything. Also, the director asked me to turn on the Subtitles by default, but still allow people to turn them off.

Before I solved the menu, I followed a Doom9 guide to set the Subtitles to ON by default. The guide showed me how to add the SetSTN command in the beginning. I didn't know GPRM was a variable, so it never occurred to me that these things were related.

I followed your excellent instructions. I even fixed the root menu problem.

I just finished testing and it all works flawlessly! If you were here I'd buy you a beer <or your alternative celebratory beverage of choice>.

Thank you. Thank you. Thank you!

:thanks:

hubblec4
3rd April 2017, 23:03
Hi r0IZ

I have tested the new version with the PGC2mkv plugin with Alien DVD Title 1.
There some bug's: converting sup2sub: ERROR: Too many input files. -> no sub file was created) and the audio (eng) is asynchronous near the end of the movie.

In the subtitle selection section you named the german subtitle 0x24 "FORCED ONLY", where can I find this info in the IFO?

r0lZ
4th April 2017, 12:13
I have no idea why there is an error when converting the subtitles. Please post the log here. (I can't test the problem myself because I don't have the DVD.)

A stream can be globally marked as forced in the VTSI_MAT table (like all other information about the subtitle: for children, director comments, large, normal etc...) But that info is usually not specified (another thing that most authors of commercial DVDs do very badly), and the fact that a stream is not marked as globally forced doesn't mean that it is not forced. Furthermore, a subtitle track can have some forced subtitles and other subtitles that are not forced. For that reason, the SetSTN command has a parameter to display all subtitles or only the forced ones.

In the subtitle stream, each individual subtitle has a "forced" flag that can be set or clear. The IFO contain the "forced subtitles" information only for the whole stream, but cannot tell that a stream contains only SOME forced subtitles. When the stream is converted by BDSup2Sub, it can extract only the subtitles with the forced flag set and generate an output stream with the forced subtitles only. That's handy, since most (all?) MKV players cannot distinguish the forced subtitles in a stream with forced and unforced subtitles. So, if you want to let the user chose to display either all subtitles or only the forced subtitles with any player, you have to generate two streams: one with all subtitles and the other with the forced subtitles only.

Unfortunately, since it is not possible to know if a stream contains some forced subtitles just by analyzing the IFO, it is only possible to know that after the demux of the whole stream. So, the plugin presents you the two streams in its GUI: the original full stream, and a "pseudo-stream" with the forced subtitles only. If you select the latter one, BDSup2Sub will be used to extract the forced subtitles and generate a "forced only" stream. Of course, if there are no forced subtitles at all in the stream, it will not be possible to generate that stream, and PGC2MKV will simply issue a warning in the log and skip the forced only stream.

Note that SubtitleCreator can be used instead of BDSup2Sub to convert the subtitles, but SubtitleCreator cannot extract the forced subtitles only. Therefore, if you have selected SubtitleCreator in the settings of the plugin, you will not see the "FORCED ONLY" pseudo-streams in the GUI. Also, the plugin will not add the forced only pseudo-stream in its GUI if the stream has already a global type like Director Comments, as it doesn't make sense to flag some subtitles as forced in that kind of stream. And of course, if the whole subtitle has the forced flag in VTSI_MAT, the forced only pseudo stream is not added, since by definition all subtitles are forced (even if they do not have the individual forced flag set).

[NOTE to other readers] This reply and the previous post by hubblec4 follow a discussion started in another thread (https://forum.doom9.org/showthread.php?p=1802643#post1802643). A new beta version of PgcEdit 9.4 and the PGC2MKV plugin, not officially released yet, are necessary.

hubblec4
4th April 2017, 12:30
...
The IFO doesn't contain the "forced subtitles" information. But in the subtitle stream, each individual subtitle can have a "forced" flag set or clear. .....

Unfortunately, since that info is not stored in the IFO, it is only possible to know if a specific subtitle stream has some forced subtitles after the demux of the whole stream. So, the plugin presents you the two streams: the original full stream, and a "pseudo-stream" with the forced subtitles only. If you select the latter one, BDSup2Sub will be used to extract the forced subtitles and generate a "forced only" stream. Of course, if there are no forced subtitles at all in the stream, it will not be possible to generate that stream, and PGC2MKV will simply issue a warning in the log and skip the forced only stream.



Ok, I understand and make sense to me.
The forced subtitle extraction is a task which run in my DVD2mkv editor automatically (at the end of demuxing).

r0lZ
4th April 2017, 12:56
Please note that I have edited my previous post. The quote in your post contains a part of the old version, and is partially wrong. There IS an info about the forced subtitles in the IFO, but only for the whole stream, not for individual subtitles within the stream.

LogicDeLuxe
23rd June 2017, 09:48
I have one big suggestion for a simple enhancement:
Some DVDs have lots of fake titles, and you get this popup a lot:
"Warning in VMG_TTSRPT table! The Titles 1 and 2 are assigned to the same PGC...
Since Title 2 is not the last one in the table, PgcEdit cannot remove it..."
Can you add an "OK to all" button to that, so you don't have to click on OK almost a hundred times?

r0lZ
23rd June 2017, 09:55
OK, I'll try to do it, but don't expect it soon. Currently, I'm not working much on PgcEdit...

r0lZ
24th June 2017, 08:23
@LogicDeLuxe: Hum, I've just verified my code, and the dialog has already an "OK to all" button. It should work.
What version of PgcEdit do you have?

ggtop
24th June 2017, 09:56
@LogicDeLuxe: Hum, I've just verified my code, and the dialog has already an "OK to all" button. It should work.
What version of PgcEdit do you have?

I requested that feature 6 years ago in this thread (http://forum.doom9.org/showthread.php?p=1533296#post1533296).
I use the beta you provided since then.

Looking into the latest "official" beta from this thread (https://forum.doom9.org/showthread.php?p=1802653#post1802653)it looks like the feature is still there.

@LogicDeLuxe: Just download (http://download.videohelp.com/r0lZ/tmp/PgcEdit_winexe_9.4.zip)an test it. There also a new menu entry under "Tiltle -> Remove duplicate title numbers" which is more than helpful. Thanks to r0lZ :thanks:

ggtop

r0lZ
24th June 2017, 10:21
Thanks ggtop! I forgot completely that that feature has been added only in the beta. I will try to release a new version soon...

ggtop
25th June 2017, 14:41
I couldn't believe it is 6 years ago. But looking into an mirror it's propably correct :D
Forums are collective brains. There's always the chance someones remembers.

Ghitulescu
3rd July 2017, 10:38
If it's not too late, the only one feature I would like to see in the new PGCedit is the possibility to freely manipulate the VID/CID in a PGC (adding, removing, renaming/renumbering).

For instance to be allowed to add any VID/CID, even if not existent, and if not existent to be a blank one.

r0lZ
3rd July 2017, 12:59
I'm not sure I understand whet you want. Do you want to be able to change the order of the cells, delete or add new cells in a PGC, for example to remove the credits of the movie or swap chapters? That's already possible with the PGC Editor. Just click on any VID/CID to assign it another VID/CID or replace it with a new tiny black cell. Of course, you cannot physically change the VID/CID in the VOB files, and the cells will not be moved in the VOBs, but you can already modify the playback order of the cells of the PGC. And if you replace a cell with another one, you can get rid of the original VOB cell with FixVTS or VobBlanker. I can't do much more.

If you want a real VOB editor that can modify the order of the cells in the VOB files, then it's not possible, and that will never be possible with PgcEdit. It's a very big job, requiring a full video editor with the constraints of the DVD VOB files (nav packs, buttons etc...) It's the job of a full featured authoring program, but certainly not of an editor that has to work on the final VOB and IFO files. As its name implies, PgcEdit is a PGC editor, not a VOB editor.

However, it is already possible to add a blank tiny cell at the end of the VOB file, but you can't insert it elsewhere, and therefore its VID/CID is determined by the other cells already present in the VOB, and it cannot be modified. I've added that possibility to be able to blank a cell (or a whole domain) by replacing it with a new tiny cell, but nothing more.

It is also possible to edit the menu parameters in the nav packs of the VOBs (with the menu editor), but that feature is also somewhat limited, and was necessary anyway to be able to control the whole navigation of the DVD.

Note also that there are already several programs that can somewhat manipulate the VOB files, like VobBlanker, IFOEdit, VOBEdit and FixVTS. In conjunction with PgcEdit, it is already possible to do many things.

Anyway, I don't have the time, the knowledge and the motivation to do a full VOB editor. Sorry.

Ghitulescu
3rd July 2017, 16:14
I was not clear, maybe...

This function exists in 9.3, so it is possible :)

Just that if one (I in this case) wants to add a cell to an existing PGC, the new cell will have a new VID (2 if the whole PGC was 1, 3 if it had 1 and 2 and so on). This artificially logically adds a new "segment" - and some other programs interpret this as two parts (like eg main feature and its trailer or studio/authorhouse logo - there are commercial DVDs employing this scheme).
My suggestion was to increase the CID not the VID.
Or alternatively to give me the possibility of setting VID and CID.

Ghitulescu
3rd July 2017, 16:16
https://forum.doom9.org/attachment.php?attachmentid=15959&stc=1&d=1499094958

r0lZ
3rd July 2017, 17:24
OK, I understand. It is possible to easily add a new VOB (a cell with a new VID) because it's an independent VIdeo Object (you call it "segment"), and despite the fact that it is in the same VOB files, after other VOBs, it is totally independent and self-contained. But it is not as easy to add a new cell to an existing VOB (with the existing VID and a new CID) because the cell must be a part of the same continuous stream, with continuous time codes and a lot of links between the new cell and the previous cell. And many tables in the IFO must be modified as well. Again, that requires a full featured video editor, that PgcEdit is not.

For the same reason, you cannot simply change the VOB/CELL ID of a cell to magically link it to the other cells of the previous VOB. In fact, I think that to do it, you may have to re-encode completely the video, or at least process it through a specialized muxer that can concatenate several VOBs. IMO, even the excellent muxman is unable to do that, and I don't think that such a muxer exists. Perhaps VideoReDo? (But you will certainly lose the DVD structure.)

Sorry again, but what you want is far beyond the scope of PgcEdit.

Ghitulescu
3rd July 2017, 17:49
I simply do not understand why I can add a blank cell 2/1 following eg 1/13, but it is beyond the scope of PGCedit to have it named as 1/14.

r0lZ
3rd July 2017, 19:22
Because 1/14 MUST be a part of the VOB 1, and it's not the case, as I've explained above. The new cell is totally independent, and MUST therefore have a new VID. I can give it 3/1 if you wish (but VID 2 will be missing and it's not a good idea) but I can't give it VID 1, already used by VOB 1. And since a new VOB must be created, its cell is cell 1, and must therefore have CID 1.

Do not be confused by VOB (Video Object) and VOB file, the extension of the file or files containing one or several VOBs. What PgcEdit does is to create a new Video Object, and append it to the (last) VOB file of the domain. It cannot modify an existing VOB by adding a new cell to the VOB. That's simply not possible without very complex tools.

Anyway, if you really want to change the VID and CID of the cell added by PgcEdit, you can do it with VobEdit. That's easy since there is only one nav pack in the short cell. But you cannot do that, as you will not have the correct structure. IfoEdit and VobEdit let you do anything, including totally illegal things, therefore you can try to do it anyway. But of course do it at your own risk. Your DVD will be totally illegal and you will probably have severe playback issues.

Ghitulescu
4th July 2017, 10:27
Maybe I am wrong but the way I understand the specs is that blank cells do not have any payload and consequently it doesn't matter whether they are or not part of the existing PGC/VOB (not as files but as concepts) since they are automatically compatible with anything before or after them.
A PGC is just a table comprising indexes.
You are right in what the actual file and object must be, but as I said, a blank cell should not pose any issue to the existing video objects.

I also understand it's a bit of work to be done in actualising several tables - it would have been nice ....

r0lZ
4th July 2017, 13:09
The blank cells are indeed compatible with anything before and after them IF and ONLY IF they are separate video objects, and therefore they must have a new VOB ID. Otherwise, the timecodes will suddenly jump to incompatible values within the current VOB and the player may crash or may at least be confused. And that's only an example of the many bad things that can occur.

The PGC is relatively easy to modify to add a new VOB, or even to reference a new cell in an existing VOB, but the other tables must be actualized, and some of them may be tricky to modify and may require to scan the whole VOB. It's a big job, and I don't want to do it just so that you (and probably only you) can do illegal/incompatible things.

I must also add that I don't understand why you need that feature. You wrote:This artificially logically adds a new "segment" - and some other programs interpret this as two parts (like eg main feature and its trailer or studio/authorhouse logo - there are commercial DVDs employing this scheme).
Indeed, sometimes, a new VOB is created by commercial programs for obscure reasons, but a new VOB MUST also be created when the angle changes, and many authoring programs add it also at the layer break position. That means that the division of a single movie into several VOBs is frequent and must NEVER be a problem, as otherwise many commercial DVDs would not work correctly. If you use a program that supports only a single VOB, that means that it has a big bug, and you should ask its programmer to fix it. It's not the job of PgcEdit to implement complex workarounds for badly programmed apps.

Sir Didymus
4th July 2017, 19:33
<<
...Maybe I am wrong but the way I understand the specs is that blank cells do not have any payload and consequently it doesn't matter whether they are or not part of the existing PGC/VOB...
>>

Indeed, your understanding is shallow. Using your terminology, cells without "payload" simply do not exist on real DVDs. Of course when they are properly authored. Even when a cell is "blank", it must be always, by definition, a playable unit. Different is the case when bad (or totally screwed) authoring is in place intentionally to implement copy protection schemes. Infact, programs such as PgcEdit and others are able to add consistently blank cells to the PGCs of DVDs as new VOBs. These cells are blank, but not void: they contain a single playable VOBu, including a NavPack, a single GOP composed by a single I-frame consisting of a black picture and (I think) some padding bytes.

Apart the above details, I am fully in line with the answers already provided by r0lZ on the matter: there is no point to enable PgcEdit to create rubbish...

Ghitulescu
5th July 2017, 09:01
I only asked nicely if it is possible to do this.

To my knowledge, there is possible to have cells without any payload as it is possible to have VOBUs with no video.
It is also not forbidden to refer (almost) any offset from (almost) anywhere - yes, this is usually used in copyright protection schemes (I think).

So, if it is too much work I would not insist, of course. I thought that this would have required a simply daisy-chaining of pointers to the next full/empty VOBU.


I do not understand however why this is "illegal", or "rubbish"...
I am sorry I caused this misunderstanding... feature request withdrawn with immediate effect.

Thank you for your good work

r0lZ
5th July 2017, 09:14
I only asked nicely if it is possible to do this.
No problem. I only tried to explain why I don't want to do it. And again, if some programs are not compatible with multi-VOB PGCs, then that programs are responsible of your problem, not PgcEdit. The short cells currently implemented in PgcEdit are fully compatible with the DVD-Video specs (hence the term "legal") and they should work with all players or programs. I see no reason to implement (with difficulty) things that are most probably "illegal" or, at least, dangerous.

@Sir Didymus: Thanks for your support. :-)

Sir Didymus
5th July 2017, 10:10
<<
To my knowledge, there is possible to have cells without any payload as it is possible to have VOBUs with no video.
>>

This statement is totally wrong, and it is based on an implication using a very weak logic.

It is true that it is possible to have legit VOBUs without video, but they must be (always and in any case) playable units.

So, as "void VOBUs" do not exist, since they must have at least a Navigation Pack and some other digital information and padding bytes, physically readable by the laser spot of the DVD reader, for the same reason "void cells" or "cells without payload" are just ideas which do not exist in real DVD, and that cannot by supported by any technical specifications. So, these "void cells" are illegal stuff. Again, blank cells are not "void" cells!

Creativity is nice. Specs and DVD compliancy is another thing.

P.S. There was no intention to sound offensive in my post above. The term "rubbish" was used just to designate inconsistent stuff, badly organized concepts, and similar things, to stay definitely away from... OK?

Ghitulescu
5th July 2017, 11:06
I am finishing this discussion since it's clear that I was not understood

I was not discussing a cell without anything, SIZE: 0, as you think I wanted.

I was was discussing a cell that has all the attributes of a normal cell (as seen by the player), including the navigation tables, but no true content (as seen by the user). This way the original video structure (as seen by the file system) remained unchanged, only the sequence of pointers in the navigation could have been slightly changed.

And such cell can, besides, be placed anywhere in the chain, for the sequence of cells (as seen by the file system) does not necessarily need to be consecutive and can comprise gaps. It's maybe bad programming/authoring, but not illegal. That's the whole reason of having pointers in the first place.



But as I said, I do not want this anymore. It's kind enough that someone created such a software in the first place...

r0lZ
5th July 2017, 11:19
OK, thanks for understanding. I close this discussion too.

Sir Didymus
5th July 2017, 12:28
Yes, Gitulescu, r0lZ. I also agree to refrain going on with this discussion. Let me just add (and this will be my last post here) that apparently Ghitulescu assumes that Navigation Information and the other PLAYABLE content of a cell is only stored in the IFO files. It isn't. Indeed the most relevant part of it is stored in the VOB files... Even for blank cells and also for VOBUs without video content...

Ghitulescu
6th July 2017, 11:02
That is an incorrect deduction...

I referred initially strictly to a PGC, but the function there is named "Create new cell" and the discussion deviated into another domain. Therefore the discussion went into two paths, I discussing the logical addressing and r0lZ the file system one (the two are indeed weaved). I do not know how one came to the conclusion that I meant the content (maybe there is a problem in defining what content is - I meant here the payload, the PES streams of audio, video and subtitles; but not the cell's identification) of a cell to be in IFO ...

I thought the implementation would have been a straight one, since in both cases (new different VID vs. new identical VID) the same tables had to be modified in IFO and the same navigation packet had to be identically changed. It appears I was wrong.

That was just to clarify the things (at least for me).
Sorry for any inconvenience caused.

neil wilkes
4th August 2017, 17:26
... and to you and Wombler for your patient work on the manual, and to all beta testers for their wonderful job!

I would like to thank also all donors. Thanks to them, I am still motivated to continue to develop PgcEdit, although some additional donations are still welcome! ;)

You're more than welcome - I find PGCEdit absolutely invaluable in daily use and it solves a number of issues in both Scenarist SD & DVD-Lab Pro 2.
I just wish there was a DVD-Audio equivalent tool.

r0lZ
5th August 2017, 07:44
Thanks. :)
And sorry for not working on a DVD-Audio editor. AFAIK, only a few DVD-Audio discs have been produced, and IMO it is not worth doing something like PgcEdit for them.

neil wilkes
5th August 2017, 11:07
Absolutely no apologies necessary - there are probably under 5,000 out there in total so I completely understand and it is almost impossible to get the actual specs without spending scads of cash too.
The authoring tool we use is extremely robust though (Sonic/MEI DVD-Audio Creator) and all the problems are usually with the associated Video_TS rather than the Audio_TS anyway.
PGCEdit rocks and I get an awful lot of use out of it, and consider my donations up there with the best money I have ever spent.

david42
28th November 2019, 01:38
Sorry if I am putting this message into the wrong part of the forum but it's been over 4 years since I've used the forum.

I am using Pgcedit (newer than v9.3) and having trouble with a DVD movie reauthor because the main movie (title1) has several cells which have something other than 0 in the "First IVLU End" column as I scroll down through the chapters.

Usually I would select the Delete Angles button to try to fix this but if I do that no angles are found and it does remove cells, which have non 0 IVLU End values, AND also throws away the part of the movie that was in those cells.

I would appreciate if a kind soul could give me directions on how to fix this type of problem in a DVD because I do see it every once in a while.

Is there some way PgcEdit , VOBBlanker, VOBEdit, or IfoEdit can be used to fix this? I've used those programs for simple things but this problem has me lost like a newbie in the maternity ward.

BTW: All of the programs I list are awesome!

THANX

r0lZ
28th November 2019, 12:45
Not sure why you want to fix this. Non-zero ILVU End values are OK in a multi-angle DVD. I don't know why some parts of the movie are lost when you remove the angles. Perhaps a new form of protection ? Anyway, if the DVD works correctly, I suggest to leave it as it is. Otherwise, have you tried FixVTS (https://www.videohelp.com/software/FixVTS) ? Usually, it gives good results, but it works in place, so be sure to apply it on a backup.

david42
30th November 2019, 07:20
Not sure why you want to fix this. Non-zero ILVU End values are OK in a multi-angle DVD. I don't know why some parts of the movie are lost when you remove the angles. Perhaps a new form of protection ? Anyway, if the DVD works correctly, I suggest to leave it as it is. Otherwise, have you tried FixVTS (https://www.videohelp.com/software/FixVTS) ? Usually, it gives good results, but it works in place, so be sure to apply it on a backup.

There is only 1 angle in this movie (the angle column has no numbers in it).

I used vobblanker because dvdshrink found unreferenced cells left in byb fixVTS. The original movie plays back a bit unstable in the non 0 IVLU cells. Also if I (do not vobblank it) my next step is dvdshrink but it finds unreferences menu and video. It's the dvdshrink unreferenced cells issue that made me ass/u/me I needed to go back to PgcEdit and try to PGC Edit the movie title so I can select delete angle (even though there are no angles it does get rid of some of the non 0 IVLU cells [some of which should NOT be deleted]) next I run vobblanker to get rid of the (dvdshrink unreferenced video) material so there are no unreferenced videos in dvdshrink.

The movie total play time doesn't seem to change (strange) even though I run "Remove Useless Stuff" before going from PgcEdit to DVDShrink.

I'm confused about what to do. It would appear to be a protection that the logs in RipIt4Me doesn't show (usually it would insert useless packets if something was wrong with the rip from the DVD itself).

I'm not sure what specifics you need and how I would even do screen shot replies in the forum.

Any ideas (bearing in mind my skill level is low-medium) would be appreciated; as always.

r0lZ
30th November 2019, 09:05
Hum, sorry, but I don't have enough info to understand the problem. I guess the non-zero First ILVU End value is there to skip the end of the cell, perhaps when it has read-errors for the protection. I don't remember how it works exactly, but DVDShrink should simply ignore that unplayable parts and remove them from the shrunk DVD.

r0lZ
22nd December 2024, 11:15
PgcEdit v9.4 is finally available (after a while, sorry!)
It's a major update, and probably the last version, now totally free.
The main additions is the new verifier. Check it.
Have fun, and a nice Xmax !


9.4 (December 22, 2024)
The final 9.4 release is finally available! Enjoy!
Unless important bugs are discovered, this is probably the last version.
PgcEdit is now freeware again (but donations are still much appreciated!)
As a consequence, the nag screen and protection have been removed.
Check out also the new PGC2MKV plugin.
A. New Verifier, to search the whole DVD or the current domain or PGC for
authoring errors. (Requires to register to enable its full power.)
A. Added Edit -> Split Conditional Cmd to split a single conditional command
(except GOTO) to a conditional GOTO, the original command without the
condition, and a NOP. Useful to insert new conditional commands.
Shortcut: Control-Shift-S, or right-click on the "Move Down" button.
A. New function Title -> Remove Duplicate Title Numbers, to remove all title
numbers assigned to the same TTN but one. (Previously, this had to be done
manually by editing the Title Play Map Title and by re-launching PgcEdit
for each dupe.)
A. PGC Editor/Celltimes.txt: Added an option to output the chapters as Simple
MKV Chapters format.
E. Major change in terminology: "Track" is now used instead of "stream" when
the virtual audio or subpic track number (as defined in Domain Tracks
Attributes) is referenced. "Stream" is still used to reference the real
audio or subpic streams in the VOB file. This is to avoid the confusions
introduced in the DVD-Video specs, and to be compatible with mpucoder and
muxman's terminology.
E. Improved the speed of some functions, and particularly of the GUI refresh.
E. Improved detection of authoring errors. The PGC editor should not crash
any more when an IFO table is missing or too short.
E. Now, when no Title is associated with a TTN, PgcEdit offers to create it
when the DVD is loaded.
E. Verify All Time Maps Coherence now verifies also if there are not too many
entries in the time map (max 2048).
E. PGC Editor: The PgcEdit's Colour Map file in text format has been slightly
modified to be compatible with the BDSup2Sub INI format. The Import and
Export dialogues supports now the INI file extension.
E. Added an option to include all menu VOBs in the ZIP backups, regardless of
their size. (Title VOBs with BOVs are still skipped.)
E. Some changes to implement the Colourblind plugin.
E. Some DVDs with many problems were very slow to load due to the number of
messages in the log. Thanks to M_Knox, they load now much more faster!
E. Highlight and Remove Dead Commands improved. It should now detect most
dead commands that were not detected previously due to backward GOTOs.
E. Fix Number of Tracks in VMGM/VTSI_MAT Tables disables also automatically
the audio and subtitle tracks in the dummy menu PGCs.
F. Error when deleting a stream in Domain Stream Attributes.
F. When quitting the Menu editor, some hidden buttons were sometimes included
in the warning about buttons unacessible with the remote.
F. Target of CallSS/JumpSS_VMGM_PGC to a PGC greater than 255 was wrong. See
See: http://forum.doom9.org/showthread.php?p=1540964
F. Remove Dead Buttons and BOVs was assuming wrongly that buttons in cell 2
where dead if the duration of the first cell was < 1 second.
See: http://forum.doom9.org/showthread.php?p=1543688
F. SPRM 8 was not updated if a button was forced in a menu cell too short for
the user to select a button.
See: http://forum.doom9.org/showthread.php?t=163739
F. The dead commands were not highlighted after having used Decr/Incr GOTOs.
F. Vista/Win7: Bug when running PgcEdit for the first time in a protected
folder.
F. System sound files were not played under Windows when a dialog was opened.
(Currently, they are not played under Linux.)
F. Tcl/Tk bug: the popup menus were often opened at the top of the screen
under Windows Vista and 7.
F. Under Vista & Win7, the main window was often not deiconified after having
launched a tool from the Tools menu with the option to iconify PgcEdit.
F. Big bug when deleting the last PGC of a menu with several LUs containing
different numbers of PGCs, and the user answered Yes to the question "Do
you want to delete the last PGC in all LUs?"
F. Several functions needing to retrieve the content of the clipboard crashed
when the clipboard was empty or did not contain text data.
F. When a DVD is loaded and a VTS has no Title in the VMG_TT_SRPT title, a
new Title is created automatically, but the number of PTTs was always 1.
F. Impossible to close the windows when Find Jumps to Nowhere was called from
Go To Calling Commands.
F. Find Jumps to Void PGCs and Go To Calling Commands bug when the First-Play
PGC is void.
F. Removed the CBR/VBR information in Domain Track Attributes. See
http://forum.doom9.org/showthread.php?t=160711
F. Target of JumpSS to Title Menu not found when the command was in a VTSM LU
greater than the number of LUs of the VMGM.
F. Bug in new function "Remove Duplicate Title Numbers" when there are titles
assigned to non-existing PGCs.
F. PGC Editor -> Create New Cell: crashed when a new menu VOB file must be
created and the user cancels the operation.
F. PGC Editor -> Create New Cell: The number of buttons of the PGC containing
the new cell was not displayed in the PGC selector when a new menu VOB
file has been created.
F. Trace mode: The default target menu LU for a CallSS is now the "undefined"
LU, or the first LU if there is no undefined LU.
F. Added a check when loading a plugin to ensure that it has no syntax error.
If it fails, it is simply ignored, and an error message is shown.
F. Several minor bugs fixed.
F. Fixed wrong special Windows directory names when using PgcEdit on foreign
PCs using a different system codepage than cp1252. Removed the useless
codepage CLI argument.
F. Set UL language code used a wrong null code for "undefined".
F. Crash when loading a DVD with a NL character in the DVD-TEXT General Name.
F. Includes some workarounds for random crashes and slowdowns under Win 11.
H. Some modifications for compatibility with some new plugins.

Download it here (https://download.videohelp.com/r0lZ/pgcedit/#download).

neil wilkes
22nd December 2024, 11:31
I just ried to download the new 9.4 version from the link & got the old, long since paid for 9.3 version instead, dated March 22, 2010.

Not sure what has gone wrong but I have tried twice - each time I get the wrong version.

r0lZ
22nd December 2024, 11:33
OK, thanks for the info. I will have a look. Please retry in one hour or so...

neil wilkes
22nd December 2024, 11:33
OK, thanks for the info. I will have a look. Please retry in one hour or so...

Will do.....

r0lZ
22nd December 2024, 11:54
OK, the problem was due to a lower/UPPER case mismatch in the filename of the archive. It is fixed now.
Direct download: pgcedit_winexe.zip (https://download.videohelp.com/r0lZ/pgcedit/pgcedit_winexe.zip) (The link from the PgcEdit homepage works fine too.)

neil wilkes
22nd December 2024, 11:59
Appreciated - you're a star, as usual, and I would strongly suggest anyone who finds this even close to as useful as I do to make with a donation!
People sell tools for a lot of money that are nowhere near as good.....

neil wilkes
22nd December 2024, 12:02
Sorry - still seeing the previous version in the 'direct download' link & from the home page too.
This is the Windows installer pgcedit_winexe.zip

r0lZ
22nd December 2024, 13:47
For me, it works. Must be a problem with your web browser. Try to refresh the web page, or clear your browser's cache, then close it and retry.
You can also download explicitly v9.4 from the "All versions" folder (https://download.videohelp.com/r0lZ/pgcedit/versions/).
And thanks for your suggestion in your previous post. :-)

neil wilkes
24th December 2024, 10:34
All now working as it should be.
Apologies to all for not writinbg this sooner, but I have taken a couple of days off from emails & work stuff so had not spotted these replies.
FWIW, my browser was set to delete it's cache at the end of each & every session, and I did try closing it & restarting it (although not, it must be said, physically making sure the cache was deleted) and I did also try accessing from the 'Help' dropdown in version 9.3 using both 'check for new version' and 'homepage' options, neither of which worked at the time.

I suspect that I was simply being impatient though - maybe I should have given everything a good couple of hours to settle, but I didn't.

Anyway it is all fully functional now thanks to the hard work from r0lZ and I am profoundly grateful for this unexpected present of a release, and will absolutely be re-donating.

ggtop
26th December 2024, 19:56
PgcEdit v9.4 is finally available (after a while, sorry!)
It's a major update, and probably the last version, now totally free.
The main additions is the new verifier. Check it.
Have fun, and a nice Xmax ![/URL].

Wow, thank you very much. Haven't used PGCEdit since years as I don't deal with DVDs nowadays but used it on each and every looking back. I feel old :-) Many thanks for your contributuon to the community over the last years.
Have a nice Xmas
ggtop

Emulgator
27th December 2024, 16:11
Many thanks, r0lZ !
I had donated 2008 and back then could upgrade to PGCEdit.exe 9.4.0.1000, modification date 03.04.2017).
Now your recent version shows the same version number (PGCEdit.exe 9.4.0.1000, modification date 22.12.2024).

Using WinMerge as differ shows many differences between both 9.4, so I wonder what to expect:
Same functionality, minus nag, compiled; or extended, plus bugfixed, minus nag, and recompiled ?

r0lZ
27th December 2024, 18:18
Not sure what's happening. The official version number is now 9.4, not 9.4.0.1000. 9.4.0.1000 is the version created by the compiler/wrapper (FreeWrap). The real version can be seen in the status bar of PgcEdit when you have just launched it, or in the Help -> About dialog. Anyway, the release date of your version is correct. Maybe I gave you a 9.4 beta, honestly, I don't remember. On the official homepage, v9.3 was still the available version on Dec 21. The complete list of changes since 9.3 has been published here (https://forum.doom9.org/showthread.php?p=2011894#post2011894) and the full history can be read or downloaded here (https://download.videohelp.com/r0lZ/pgcedit/HISTORY.txt). Some fixes and changes (including the nag and the availability of the full verifier) are very recent (a couple of weeks) but other changes are old. You should keep the latest version anyway.

Emulgator
28th December 2024, 13:42
Many thanks, I will do so.
Good work, I just donated again !

r0lZ
28th December 2024, 13:55
Thanks!

r0lZ
25th October 2025, 08:53
I have finally released a new version of PgcEdit. It fixes a couple of errors reported by Stephen. Thanks Stephen !

This is probably the last version, unless another important bug is reported.

9.5 (October 25, 2025)
F. The filenames of the tools needed for File -> Burn DVD / Create ISO were
wrong on some Windows systems. (Thanks Stephen!)
F. Updated the web link to download ImgTool in the Burn DVD / Create ISO ->
Setup dialog.
F. Reverted to freeWrap 6.42.4 due to Open File dialog bugs with v6.42.5.
F. Removed the Mount ISO with Daemon Tools stuff from the Burn ISO Dialog
and replaced it with the native Windows 8+ mount feature.

As usual, you can download it here (https://download.videohelp.com/r0lZ/pgcedit/#download).