View Full Version : PgcEdit v9.2 released! (16 February 2009)
r0lZ
16th February 2009, 12:03
PgcEdit v9.2 (February 16, 2009) changelog
E. Thanks to M_Knox, there are now nice looking new icons in the standard "yes/no/cancel", "please wait" and "donation reminder" dialogs.
E. Delete Uncalled PGCs did not delete some PGCs considered as unsafe due to multiple sets of buttons/BOVs, even if all PGCs containing the multiple sets of buttons/BOVs were uncalled.
F. Delete Uncalled PGCs deleted the uncalled PGCs that were NOT safe to delete due to multiple sets of buttons/BOVs when ALL uncalled PGCs were unsafe!
E. When Go To Calling Command finds no jump to the current PGC, the PGC is now automatically marked as <uncalled>.
F. Go To Calling Command: Bugs when the function was launched several times without closing the result window fixed by M_Knox. Thanks!
E. Delete PGC and Kill Playback (with option to remove the cells) in menu: When all remaining PGCs in the menu are dummies, PgcEdit offers now to delete the menu VOB file and remove the VOB tables from the IFO.
E. Delete Uncalled PGCs improved for speed.
E. Info -> GPRM has now an option to search for the commands containing a GPRM in "All", "Read" or "Write" modes, so you can now, for example, find if a GPRM is used in read mode only, but never initialized by a Set command.
E. Info -> Multiple Sets Of Buttons/BOVs: added a summary with the list of all PGCs containing multiple sets of buttons/BOVs.
E. Info -> Multiple Sets Of Buttons/BOVs: When the option "Command Editor -> Allow PgcEdit to add automatic comments in the PGC labels" is ON, the comment "<MBS>" is now added to all PGCs containing multiple button sets.
F. Fixed some typos, and renamed "Exit Domain" to "Exit State".
F. After having loaded a Scratchbook file in the scratchbook, the sub-menu of Append To Scratchbook (with the scratchbook sections) was not updated.
F. Trace mode: When playing a multi-angle cell, PgcEdit was unable to identify the correct angle cell to play (except for angle 1), and issued a warning.
F. Trace mode: The Menu Viewer was not closed when the user selected the GoUp button to resume to the Title domain (when the GoUpPGCN link = 0xFFFF).
F. Trace mode: The Control+Arrow shortcut keys used to control the trace interfered with the Arrow keys shortcuts in the main window.
E. Jump To PGC Upon DVD Insert: The explanation on how to use the function was not displayed any more in v9.1 when it was launched from the FP-PGC.
F. PGC Editor: PgcEdit highlights now in red illegal values of the Prev and Next PGCN links in the Menu domains.
F. PGC Editor: It was possible to use the PTT Editor on a not-one_sequential Title if the current PGC was a dummy (or a cell has just been created.)
F. Load DVD: PgcEdit deleted all LUs or all PGCs in a menu domain when a LU or PGC was a clone of another one because its offset pointer was pointing to the other LU or PGC. Now, it deletes automatically the cloned LUs, and prompts the user to keep or remove the cloned PGCs.
F. Several small GUI bugs fixed by M_KNOX.
New manual, updated for PgcEdit v9.2!
Thanks to Blutach and Wombler, the documentation has been updated. You can consult the online HTML documentation here (http://www.digital-digest.com/~blutach/PgcEdit_help/WEB/PgcEdit_Manual.htm), here (http://download.videohelp.com/r0lZ/pgcedit/doc/PgcEdit_Manual.htm), or here (http://home.tele2allin.be/vt6328799/pgcedit/doc/PgcEdit_Manual.htm).
There is a discussion thread about the manual here at Doom9 (http://forum.doom9.org/showthread.php?t=144601).
The compiled HTML documentation file for Windows (PgcEdit_Manual.chm) is included in the PgcEdit_v9.2_winexe.zip file, but not in the Linux archive. You can also download it separately here (http://download.videohelp.com/r0lZ/pgcedit/versions/PgcEdit_Manual_chm.zip) or here (http://home.tele2allin.be/vt6328799/pgcedit/versions/PgcEdit_Manual_chm.zip). To install it, create a directory "doc" in your PgcEdit installation folder, and copy the CHM file in that directory. This way, PgcEdit will be able to access it from its Help menu.
If you prefer to install the HTML version, download it here (http://download.videohelp.com/r0lZ/pgcedit/versions/PgcEdit_Manual_html.zip) or here (http://home.tele2allin.be/vt6328799/pgcedit/versions/PgcEdit_Manual_html.zip). Extract the files and folders in a "doc" subdirectory in the PgcEdit installation folder.
If PgcEdit cannot find the CHM or HTML documentation locally, it will open your browser and display the online HTML doc. Therefore, it is not necessary to install it locally.
German version of PgcEdit v9.1
The German PgcEdit site is closed, but a new translation has been made, and is available via my homepage.
You can download it here (http://download.videohelp.com/r0lZ/pgcedit/versions/PgcEdit_v9.1_german_and_all_plugins.zip) or here (http://home.tele2allin.be/vt6328799/pgcedit/versions/PgcEdit_v9.1_german_and_all_plugins.zip).
Note that currently, this is still v9.1! V9.2 should be available soon.
Updated Hexbit Operands plugin
Thanks to M_Knox, the Hexbit Operands plugin has been updated to v0.8:
added option to display hexadecimal values for all Set operations
added option to display descriptions for IF operations
Have fun!
blutach
16th February 2009, 12:05
Many thanks r0lZ!
Regards
CakeOrDeath
16th February 2009, 22:24
Thanks a bunch! Your work is greatly appreciated.
Wombler
17th February 2009, 00:02
Thanks for that r0lZ. Much appreciated.
Wombler
jm1647
17th February 2009, 00:45
PgcEdit v9.2 (February 16, 2009)
Have fun!
It's always fun using PgcEdit :) Thanks for the update r0lZ!!
And thanks to blutach, Wombler and M_Knox too
r0lZ
17th February 2009, 01:02
... and to all the beta team, as well as to the new donors!
tom942
17th February 2009, 19:28
Thanks r0lz for the new update. I'm already using the new v9 series -I donīt know if you remember that I was reticent to change from 8.6 to the new one when I asked about the minimun PUO's that you use to set- and it just improves and improves and I could continue to the infinity... :).
And thank you blutach and wombler for the new manual, it's really useful the info inside. Aps, I can see the icons properly :).
blutach
17th February 2009, 23:39
Those icons have caused us headaches tom (and still are a bit!)
New context-sensitive help is on the way, thanks to a plugin we are testing written by M_Knox. This is a big improvement. Keep a look out for its release.
Regards
Wombler
18th February 2009, 11:11
Those icons have caused us headaches tom (and still are a bit!)
Yes, remarkably so.
I blame Microsoft though for unforseen incompatibilities. :)
Wombler
r0lZ
23rd February 2009, 11:45
The German version of PgcEdit v9.2 is now available. See the Download section of the PgcEdit homepage (http://download.videohelp.com/r0lZ/pgcedit/#download).
bibile
24th February 2009, 18:34
Hi,
I've one simple question : is it possible to merge some pgc?
Why : I try to encode my Japanese Anime but for one episode there are 3 pgc (50 sec, 19.30 min and 1.57 min) and the encoder cannot encode/merge the 3 pgc (Automkv).
I've tried to find by myself but without any result...
Thanks
r0lZ
24th February 2009, 18:49
If the 3 PGCs are in the same VTS, try to use Title -> New PlayAll Title. (You may have to delete or reorder some cells in the PGC Editor.)
If the 3 PGCs are in different PGCs, you cannot merge them with PgcEdit. Use a tool such as Womble MPEG Video Wizard DVD or VideoReDo (not free). You can also try the IfoEdit option "Merge Clips", but imo it doesn't work well.
bibile
24th February 2009, 19:43
That is what I've done first but nothing happened. After that I get the plugin and the result is simply amazing : AMKV outputs a single file.
Thanks a lot for this great tool
kikatu
19th March 2009, 20:04
Thanks!
david42
21st March 2009, 02:20
I like to edit DVD's down dramatically and often this involves finding out which PGC's don't ever get called.
I see "Trace->Clear all PGC breakpoints" exists so I was wondering if you would add "Trace->Set all PGC breakpoints" as a new command?
It would help me edit out selected extras (buttons and previews) that I deem useless VOB calls then see what doesn't get called by running my changes in Trace mode to navigate to everything I left in (movie, some extras, audio choices). I would then be able to edit PGC's calling all the extra useless stuff and quickly make a much smaller DVD structure.
THANX
PS: I apologize if this post goes in the wrong place. I have yet to figure out how to initiate a post in the right place on this forum. I believe this one should have gone in a RFE for v9.2 thread.
r0lZ
21st March 2009, 05:06
I don't understand why setting a breakpoint on all PGCs could help you locate which PGCs are never called. IMO, the yellow highlights in the left pane and the new option "State -> Mark played PGCs as 'Played'" are much more useful. You don't need to break to discover if a PGC has been played.
Anyway, there are numerous ways to break at every PGC. You can turn on the "Breakpoints -> Break At All Menus" and "Breat At All Titles" options. They break at the first command of every PGC. You can also "Break at Log Output" and type "Entering" in the Break box. You can also use the "--> Next PB" button if you want to break only when the video content of a PGC is played.
The manual Pre/Post and Playback breakpoints are made to turn on a breakpoint on a specific PGC, for example to continue the trace step by step, analyse the registers at that point, or launch "Jump To PGC". IMO, forcing a manual breakpoint on every PGC doesn't make sense.
Side note: If you use the trace to discover which PGCs are never called, you should search the random operations, and check them carefully. When a GPRM is set with the ?= (RND) operator, it's often to jump to randomly selected PGCs. So, tracing the commands containing a RND only once could not be sufficient to locate all PGCs called indirectly by that PGC. I suggest therefore to Break at All Titles and Menus, and Break at Log Output "RND". Then, every time a specific RND operator is executed, you can force a different valid value in the affected GPRM by typing it in the Watch window (don't forget to press Return to record your change!), and continue the trace, to be sure to locate all possibly played PGCs.
PS: Don't worry. You have posted at the right place (although you could have posted a new thread in this "IFO/VOB Editors" section as well.)
blutach
21st March 2009, 07:05
Or you could just use "Step mode" or when in a PGC use the State menu to return to various important parts of the DVD.
On r0lZ's point about "RND" just search in the search box for RND first. Most DVDs will turn up nothing, so you don't have to worry about it and you can break on all menus and all titles only.
Regards
david42
22nd March 2009, 21:23
I don't understand why setting a breakpoint on all PGCs could help you locate which PGCs are never called.
Often developers and users who know every nook and cranny of the features because they have evolved with the program since inception are perplexed at how nubies think and how they use a tool to solve their problems.
I'll see what I can do to use the responses this thread answer spawned. I have so little time to read every past posting to catch up. Perhaps a built-in help and user how-to guide (pulling together the PgcEdit wisdom into 1 place) would help those of us who have limited time to study every past posting and side document in existence (the ones I've checked out are great but scattered all over the place and time consuming to pull together).
Let me try to walk through your current responses...
IMO, the yellow highlights in the left pane and the new option "State -> Mark played PGCs as 'Played'" are much more useful.
I tried using these. They are cleared back to white the 1st time I click on an uncalled PGC to investigate where it is called (Cntrl-G). That's why setting all BP's feels simpler and persistent.
You don't need to break to discover if a PGC has been played.
Yet I have found that extremely useful to date, apparently my original post explanation was insufficient (my bad).
Anyway, there are numerous ways to break at every PGC. You can turn on the "Breakpoints -> Break At All Menus" and "Breat At All Titles" options. They break at the first command of every PGC. You can also "Break at Log Output" and type "Entering" in the Break box. You can also use the "--> Next PB" button if you want to break only when the video content of a PGC is played.
If I understand your suggestion... You want me to click on 2 options then click through Next PB multiple (3-100's) times to accomplish what I suggested be a 1 click Set all PGC breakpoints options. I was trying to suggest a RFE for simplifying the amount of clicks a user needs to do to accomplish their approach to using your great program.
The manual Pre/Post and Playback breakpoints are made to turn on a breakpoint on a specific PGC, for example to continue the trace step by step, analyse the registers at that point, or launch "Jump To PGC". IMO, forcing a manual breakpoint on every PGC doesn't make sense.
These features are excellent and powerful which is why (perhaps) I see an enhancement to expand them 1 more level.
Rhetorical questions :
1. Is setting a breakpoint at every PGC a difficult change?
2. Would it have medium to high potential to create a new bug?
3. Would it have medium to high potential to break unrelated features in PgcEdit?
4. Is it the type of change that would cause grief due to a side-effect which would cause a support (or forum threads) nightmare?
Side note: If you use the trace to discover which PGCs are never called, you should search the random operations, and check them carefully. When a GPRM is set with the ?= (RND) operator, it's often to jump to randomly selected PGCs. So, tracing the commands containing a RND only once could not be sufficient to locate all PGCs called indirectly by that PGC. I suggest therefore to Break at All Titles and Menus, and Break at Log Output "RND". Then, every time a specific RND operator is executed, you can force a different valid value in the affected GPRM by typing it in the Watch window (don't forget to press Return to record your change!), and continue the trace, to be sure to locate all possibly played PGCs.
Ah-ha MAJOR GOOD POINT ... RND is something new to me. I'll have to watch out for those. Thanks for the heads up and info on how to check into them!
I never used the Trace-Breakpoint Button before EXCEPT to see if it had the set all breakpoints option I RFE'd. Looking at it now I see the 3 things you are writing about and will try them out. It still seems to me that 1 option selection is much easier than 3. It is at times like this that it occurs to me that built in help explanations of the various options choices would make it easier to learn PgcEdit and possible cut down the 'what does that do' chatter on the forum.
I'll check out your recommendations.
blutach
23rd March 2009, 00:34
I'll see what I can do to use the responses this thread answer spawned. I have so little time to read every past posting to catch up. Perhaps a built-in help and user how-to guide (pulling together the PgcEdit wisdom into 1 place) would help those of us who have limited time to study every past posting and side document in existence (the ones I've checked out are great but scattered all over the place and time consuming to pull together).
It's called the help file. Soon, it will be context sensitive (version 9.3). In the meantime, download it from the PgcEdit site. And read this (http://www.digital-digest.com/~blutach/PgcEdit_help/WEB/Trace_menu_breakpoints.htm). After that, I am afraid you'll need to do some more work for yourself.
If I understand your suggestion... You want me to click on 2 options then click through Next PB multiple (3-100's) times to accomplish what I suggested be a 1 click Set all PGC breakpoints options. I was trying to suggest a RFE for simplifying the amount of clicks a user needs to do to accomplish their approach to using your great program.
That will accomplish what you want - to break on all PGCs. Or use Next PB if that is more akin to your needs.
As for your rhetorical questions, what r0lZ is saying is that the functionality is there already. There no need for it, even though I am sure it won't break anything or be hard to implement - it's just not needed. Just try what has been suggested.
It still seems to me that 1 option selection is much easier than 3.
One option may be simpler but would actually lose functionality. Sometimes, you want to break at a playback point, other times at the entry/exit point. Sometimes, you wanna break on menu PGCs only, other times, titles, and in your case, all of the them. Anyway, once set, the functions are remembered until you unset them or restart PgcEdit.
I repeat, the functionality is there. Read the help file.
Regards
david42
23rd March 2009, 03:12
It's called the help file. Soon, it will be context sensitive (version 9.3). In the meantime, download it from the PgcEdit site. And read this (http://www.digital-digest.com/~blutach/PgcEdit_help/WEB/Trace_menu_breakpoints.htm). After that, I am afraid you'll need to do some more work for yourself.
That will accomplish what you want - to break on all PGCs. Or use Next PB if that is more akin to your needs.
As for your rhetorical questions, what r0lZ is saying is that the functionality is there already. There no need for it, even though I am sure it won't break anything or be hard to implement - it's just not needed. Just try what has been suggested.
One option may be simpler but would actually lose functionality. Sometimes, you want to break at a playback point, other times at the entry/exit point. Sometimes, you wanna break on menu PGCs only, other times, titles, and in your case, all of the them. Anyway, once set, the functions are remembered until you unset them or restart PgcEdit.
I repeat, the functionality is there. Read the help file.
Regards
I just tried Trace Mode->Breakpoints and selected Breakpoints (for Menus, Titles, & Log Output) then ran the session doing what I normally do. It highlighted each PGC after execution HOWEVER the 1st time I found a preview that I checked 'blank' on it unhighlighted everything that had been executed and proceeded to highlight the new executions when I went back to Run. When I was done lots of executions that I'd gone over were not highlighted. That wasn't quite what I'm hoping for.
The other thing about doing it this way is that I'm unable to unset PGC breakpoints as I execute to them. So I have to do lots of extra (re)Run's that would be optimized away if the 'set all PGC breakpoints' approach was used instead.
Another thing about turning on the 3 breakpoint at modes is that it doesn't mark the PGC's in red like toggling a breakpoint does. I was using that as a marker. I'd do various edits of menu buttons and PGCs manually, then toggle each BP on manually, then trace through the movie. If I wanted a PGC to stay in the execution flow I'd toggle it off then keep running until I'd been through the movie, language menus, and deleted scenes. When done the red PGCs could be carefully removed, then run the DVD remove useless stuff to finish off the cleanup. Clear all the breakpoints and trace through to make sure all is still well, then run FixVTS and the shorter DVD was good to go.
Sorry I'm unable to cite every reason why the RFE would be a nice (hopefully painless) addition. You're points are true that I can turn on lots of modes (or just write down each PGC as I trace through them) and tweak the others as I trace through. My goal is to reduce the movie with minimal mouse/keyboard invocations (probably because of the tendonitis).
I am concerned about your point that the RFE would take away some functionality. What would be lost? I definitely do not want to lose anything. It seemed to me that if all breakpoints can be cleared doing the opposite would help me because I could just turn ones off as I execute to them.
Maybe I'm missing something. Can I use the Trace Mode-> Breakpoint's (Menu, Title, & Log Output) and toggle off individual PGC breakpoints the 1st time I trace to them so the other breakpoints still exist but the manual turning off of individual PGC breaks also coexists? That's kinda the crux of what I'm after.
I agree that PgcEdit is extremely powerful and way cool, especially all the great upgrades that came in v9.
I guess it's not uncommon for latecomers to see other paths to reach their goal, when using the tools, that the architects perform using the steps they've gotten used to from their inception.
Either way, excellent tool!
THANX
blutach
23rd March 2009, 04:08
I just tried Trace Mode->Breakpoints and selected Breakpoints (for Menus, Titles, & Log Output) then ran the session doing what I normally do. It highlighted each PGC after execution HOWEVER the 1st time I found a preview that I checked 'blank' on it unhighlighted everything that had been executed and proceeded to highlight the new executions when I went back to Run. When I was done lots of executions that I'd gone over were not highlighted. That wasn't quite what I'm hoping for.
Have you tried the State --> Mark played PGCs as Played function? It just runs through the DVD marking which PGCs are entered. That might be more to your liking cos that way, you don't have to set or unset breakpoints. Then, you can go to Next PB all the time, preview the cell and decide whether to blank or not etc etc. When the PGCs are marked as "played", they are actually marked as a comment - this means they are non-destructive. When you are finished, you can delete the comments and labels, if you wish.
As for your RFE, I guess what is being said is the functionality exists in break on menus/titles (and log output if that's what you want - it would be rare to use it in conjunction with both of the others, but on it's own it could be useful - eg seeing which SetSTN's are actually executed).
Regards
r0lZ
23rd March 2009, 11:25
To break at every PGC, you don't need to use Break at all Menus and Titles AND at Log Output, but only at Menus and Titles OR Log Output. I've explained two ways to accomplish the same thing: break every time a PGC is entered. ([->> Next PB] is a third method, but it is different, as it breaks only when the video content of a PGC is played, and therefore will never break on dummy PGCs or on non-dummy PGCs on which you have applied Kill PGC Playback.)
Anyway, since with your method, you use the breakpoint to highlight the PGCs that have not been entered yet, using those methods are not suitable for you, as nothing is highlighted, and the breaks are permanent (until you turn them off.) Forget the break idea, as imo you use a feature that is not intended for this usage.
I've also explained how to mark all visited PGCs. With your method, you have to break at all PGCs, then remove the breakpoint manually. That's slow and you have to turn off many breakpoints. My method is much more simple and fast: just turn on the "Mark Played PGCs as Played" option, and run the trace. You don't need to break at all (except perhaps on PGCs containing RND operators, to examine them carefully.) When you have finished to navigate in the whole DVD, the PGCs that have never been reached will NOT have the 'played' comment, and you can locate them easily.
And BTW, the yellow highlights are not permanent, that's right, but the 'played' comments are really permanent, and, unlike the breakpoints, they persist from session to session (until you delete the PgcEdit_backup folder or clear them with the appropriate option of the State menu.) According to your new explanations, the only thing you need is to turn on the "Mark Played PGCs as Played" option, and run the trace. One single click, and the trace will be much faster! Try it!
One more thing: I highly recommend to run Info -> Find Jumps to Nowhere after you have removed the uncalled PGCs, as if, per chance, you forgot to trace to a specific PGC, it might have been removed even through it is useful.
[EDIT: I haven't noticed blu's post on the top of this page. He explain exactly the same thing.]
roux
12th April 2009, 13:45
I'm using the linux version of 9.2
When i start PgcEdit it creates an bin directory in home containing PgcEditPreview.exe. Is there a way to configure were to put this dir?
david42
12th April 2009, 19:55
Have you tried the State --> Mark played PGCs as Played function? It just runs through the DVD marking which PGCs are entered. That might be more to your liking cos that way, you don't have to set or unset breakpoints. Then, you can go to Next PB all the time, preview the cell and decide whether to blank or not etc etc. When the PGCs are marked as "played", they are actually marked as a comment - this means they are non-destructive. When you are finished, you can delete the comments and labels, if you wish.
I tried "mark played PGCs as played". This works well to help me identify what doesn't get played (as stated by you). Thanks for understanding that some of us haven't explored the copious amount of options in the tool!
THANX
david42
12th April 2009, 20:05
My method is much more simple and fast: just turn on the "Mark Played PGCs as Played" option, and run the trace. You don't need to break at all (except perhaps on PGCs containing RND operators, to examine them carefully.) When you have finished to navigate in the whole DVD, the PGCs that have never been reached will NOT have the 'played' comment, and you can locate them easily.
One more thing: I highly recommend to run Info -> Find Jumps to Nowhere after you have removed the uncalled PGCs, as if, per chance, you forgot to trace to a specific PGC, it might have been removed even through it is useful.
Could you elaborate on RND operators please? My take on this is you are warning me that some PGCs may have IFs that could cause jumps to unplayed PGCs or cells directives to use previous/next PGC links that were not executed when I traced using mark played pgcs. Normally my instincts are to evaluate all possible PGCs that show as jumping to the unplayed PGCs and edit out jumps to unplayed PGCs (carefully). Is that what you warn about when referring to RND operators?
THANX
blutach
12th April 2009, 23:42
First search for RND in your DVD. 99.9% of DVDs don't have them.
If you find one that does, then a single trace can only emulate one of the possible outcomes of a RND. e.g. the following statement has 2 possible outcomes (1 and 2).
[78 00 00 00 00 02 00 00] 1 Set gprm(0) ?=(rnd) 2
These will usually be tested in the next statement or somewhere not too far down the line. You obviously can't eliminate entirely any PGCs referred to by a test of a gprm after a RND. You can only eliminate out-of-range values.
So, if you see this in the next 2 statements, then each of PGCs 1 and 2 are visited (you can do a number of traces until all the values of the RND are used, if you like):
[20 A4 00 00 00 01 00 01] 2 if ( gprm(0) == 1 ) then { LinkPGCN PGC 1 }
[20 A4 00 00 00 02 00 02] 3 if ( gprm(0) == 2 ) then { LinkPGCN PGC 2 }
But the next 3 statements will always be false and therefore unless PGCs 3-5 are called by other PGCs, they can be eliminated (easiest to just delete statements 4-6 and then do Delete Uncalled PGCs)
[20 A4 00 00 00 03 00 03] 4 if ( gprm(0) == 3 ) then { LinkPGCN PGC 3 }
[20 A4 00 00 00 04 00 04] 5 if ( gprm(0) == 4 ) then { LinkPGCN PGC 4 }
[20 A4 00 00 00 05 00 05] 6 if ( gprm(0) == 5 ) then { LinkPGCN PGC 5 }
I hope you understand this now.
Regards
roux
13th April 2009, 14:10
Is there a way to turn of searching for BOV on startup like the older versions of PgcEdit?
blutach
13th April 2009, 15:24
Not sure, but why would you do that? If definitely KNOW there's no BOVs, then click "Assume No BOVs". Otherwise, let the scan do its thing (use a scan every 30 VOBUs with deep scan ticked - this is quite fast) and that way PgcEdit can get a complete picture of your DVD. Otherwise, things like Delete Uncalled PGCs can be very unsafe.
Regards
r0lZ
15th April 2009, 10:25
I'm using the linux version of 9.2
When i start PgcEdit it creates an bin directory in home containing PgcEditPreview.exe. Is there a way to configure were to put this dir?
Sorry for the late reply. After a system crash, I had to buy a new PC, which came pre-installed with Vista! Aaargh! And it was very difficult to install XP, because the XP CD has no support for the SATA drives! Finally, I have a running system, and I'm back!
Sorry, the bin (and lib and plugins) directories cannot be relocated, but you can probably copy them elsewhere, and replace the original directories by links to the new locations. I haven't tested, and I have no Linux installed yet, but that should work.
r0lZ
15th April 2009, 10:35
So, if you see this in the next 2 statements, then each of PGCs 1 and 2 are visited (you can do a number of traces until all the values of the RND are used, if you like):
There is also a way to force a specific value in a GPRM during the trace. So, say the first time you ran the trace the RND value was 1, and you still want to test the value 2. After having executed the command containing the RND, if, per chance, the GPRM value is again 1, you can force it to 2. Be sure to open the Watch window (the GPRMs and the Input sections are needed.) Then, select the GPRM you want to change by clicking its label. The value of the GPRM should be displayed in the input window. Change the decimal field to 0, and press Enter. (Pressing Enter is necessary to record the change.) A note telling that a GPRM value has been forced by the user is inserted in the log. Now, you can continue to trace.
r0lZ
15th April 2009, 10:39
(use a scan every 30 VOBUs with deep scan ticked - this is quite fast)
BTW, this is now the default for fresh installations of PgcEdit.
david42
15th April 2009, 19:45
First search for RND in your DVD. 99.9% of DVDs don't have them.
If you find one that does, then a single trace can only emulate one of the possible outcomes of a RND. e.g. the following statement has 2 possible outcomes (1 and 2).
These will usually be tested in the next statement or somewhere not too far down the line. You obviously can't eliminate entirely any PGCs referred to by a test of a gprm after a RND. You can only eliminate out-of-range values.
So, if you see this in the next 2 statements, then each of PGCs 1 and 2 are visited (you can do a number of traces until all the values of the RND are used, if you like):
But the next 3 statements will always be false and therefore unless PGCs 3-5 are called by other PGCs, they can be eliminated (easiest to just delete statements 4-6 and then do Delete Uncalled PGCs)
I hope you understand this now.
Regards
I found this in an unofficial DVD Spec on the web concerning how RND works. Is this description wrong OR if the seed in your example is 2 how would one know what range the GPRM would end up containing?
Compute a new random value using the contents of a GPRM or a constant value (immediate 16-bit number) as the seed value. The seed value cannot be 0.
SPRM is not allowed as operands in this command.
Example:
1) Rnd GPRM0,GPRM1
(Store a new random value in GPRM0 using the contents of GPRM1 as the seed value. The previous value of GPRM0 is lost after the command executes.)
2) Rnd GPRM0,2
(Store a new random value in GPRM0 using 2 as the seed value)
r0lZ
15th April 2009, 21:28
Where have you found that info? The description is wrong. The value is not the seed, but the upper limit. There is no way to change the seed value. In their second example, a value of 1 or 2 is set in GPRM 0. In the first example, a value between 1 and the content of GPRM 1 is set in GPRM 0.
david42
16th April 2009, 19:09
Where have you found that info? The description is wrong. The value is not the seed, but the upper limit. There is no way to change the seed value. In their second example, a value of 1 or 2 is set in GPRM 0. In the first example, a value between 1 and the content of GPRM 1 is set in GPRM 0.
I found it at http://www.dvd-replica.com/DVD/setgprmops.php . Apparently it's difficult to find a free copy of the DVD spec on a site that wants to sell it. Thanks for the hint that they have faulty info.
Can you point me at a real pdf that explains all the PGC commands and how they really work please? I'd also like a pdf copy of the whole DVD spec if free. I see no point in paying for standards that should be free.
david42
16th April 2009, 19:15
First search for RND in your DVD. 99.9% of DVDs don't have them.
How do I search for RND, please? I found how to do it on a single PGC but the right commands window already gives me that info. I suspect there's a way to find any/all RND's in the whole DVD in one search and would appreciate directions on how to invoke it.
r0lZ
16th April 2009, 20:53
Usually, DVD Replica is not too bad, but I do not visit it often.
Mpucoder's DVD Information site (http://www.mpucoder.com/DVD/) is the best one, but not completely free, and somewhat technical.
There are also good books (notably Jim Taylor's DVD Demystified and a book by Ralph LaBarge), probably available in pdf format. Search Google.
You can search for strings in all commands of the DVD (including in button commands) by typing the string to search in the search field in the bottom right corner of the main PgcEdit window, and clicking the "All" button.
mpucoder
17th April 2009, 18:33
Mpucoder's DVD Information site (http://www.mpucoder.com/DVD/) is the best one, but not completely free, and somewhat technical.
As of April 1 the site's information is free. I also recommend reading JimTaylor's book, and using my site to fill in the blanks that Kermit (inside joke) could not publish without breaking the NDA he signed. Ralph LaBarge's book covers more aspects of the workflow to make a DVD, but less detail of the nuts and bolts.
r0lZ
17th April 2009, 18:38
I didn't know that. Thanks for sharing your knowledge with everybody!
vwpassion
17th April 2009, 21:57
Not sure, but why would you do that? If definitely KNOW there's no BOVs, then click "Assume No BOVs". Otherwise, let the scan do its thing (use a scan every 30 VOBUs with deep scan ticked - this is quite fast) and that way PgcEdit can get a complete picture of your DVD. Otherwise, things like Delete Uncalled PGCs can be very unsafe.
Regards
Please beware that in some cases, using "Scan only one VOBU every 30 VOBUs" plus deep-scan will not detect Disney Fast Play "Menus/Buttons". This may lead to undesirable results when further editing the DVD.
Addendum: Setting "Scan only one VOBU every 29 VOBUs" does the trick and will find the Fast Play buttons.
r0lZ
17th April 2009, 22:07
Hum, I use those settings since ages, and I have never missed any BOV. Can you be more precise? Which Disney DVD and which region?
vwpassion
17th April 2009, 22:12
It's the PAL DVD of Bedtime Stories (Disney).
blutach
17th April 2009, 23:42
As of April 1 the site's information is free. I also recommend reading JimTaylor's book, and using my site to fill in the blanks that Kermit (inside joke) could not publish without breaking the NDA he signed. Ralph LaBarge's book covers more aspects of the workflow to make a DVD, but less detail of the nuts and bolts.
Thanks for that mpucoder!
Regards
david42
22nd April 2009, 06:10
I found it at http://www.dvd-replica.com/DVD/setgprmops.php . Apparently it's difficult to find a free copy of the DVD spec on a site that wants to sell it. Thanks for the hint that they have faulty info.
Correction... A minor RND description fault. The site is great and to be thanked for sharing all the accurate info it contains!
Can you point me at a real pdf that explains all the PGC commands and how they really work please? I'd also like a pdf copy of the whole DVD spec if free. I see no point in paying for standards that should be free.
I can't always be online. Is there any chance of getting a pdf of the site's spec (free of course)?
blutach
22nd April 2009, 07:38
david - despite what you think, the standards are only released to those who pay $5,000 AND sign a non-disclosure agreement.
No-one can, or will, give you this.
Should you wish to purchase DVD Replica's unofficial document, you are free to do so.
Regards
david42
22nd April 2009, 08:47
david - despite what you think, the standards are only released to those who pay $5,000 AND sign a non-disclosure agreement.
No-one can, or will, give you this.
Should you wish to purchase DVD Replica's unofficial document, you are free to do so.
Regards
Ok, got it now. I was unsure if my search effort was flawed or it was out there and just required an extra exhaustive attempt to track it down.
turbojet
1st May 2009, 11:14
Is there any plans for blanking and/or stripping streams like vobblanker does?
If so, is there any plans on blanking/stripping through menu buttons?
Some examples I can think of using this are:
1. hide button for trailers that plays VTS2 PGC 1,2,3 it asks if you want to blank all the targets, if yes it blanks and moves VTS2 PGC 1, 2, 3 vob's to backup folder when you save dvd.
2. hide french audio or sub menu button it asks if you want to strip the stream, if yes it strips the stream and moves original to backup on save dvd.
3. kill pgc playback instead of asking to blank cells for vobblanker it would remove the cells content on save dvd.
4. disable an audio or sub stream through the pgc editor it would ask if you want to remove the stream, backs up original vob on save dvd.
blutach
1st May 2009, 14:37
PgcEdit does not strip streams and there is no intention to do the things you mentioned.
Regards
turbojet
1st May 2009, 15:40
Bummer, would make the program much more user friendly but I can understand it would be some work to implement it.
I'll just keep on swapping apps like I have been, tracing in one blanking in another.
Hopefully BD menu editing/blanking/stripping comes in one program.
What you suggest would really be nice, but PgcEdit is not at all a VOB file editor (although it can modify the menu buttons, append tiny black cells, or blank entire domains.) Furthermore, the philosophy of PgcEdit is to be as fast as possible. It's possible only because it doesn't modify the VOBs, and doesn't have to rewrite them. Since there are good apps (such as VobBlanker) to do what you want, I have no intention to implement that kind of thing.
Also, detecting what PGC is called by a menu button is not always simple. A full trace of the DVD must be done to be sure that the real target(s) is (are) detected. And if you have to do a trace anyway, it is as easy to blank the cells from the preview, and process the VOBs with VobBlanker of FixVTS when you have finished. Combined with the Blank All PGCs in Domain and Remove Useless Stuff functions, you have everything you need to clean your DVD up. (BTW, I use VobBlanker only to replace the cells or the menu backgrounds, and I do all the blanking job with PgcEdit and FixVTS, without having to quit PgcEdit.)
Nordin
2nd May 2009, 19:29
Hi
I have a problem with Pgcedit.
I used v9.1 and one time it went wrong (at Wxp). The PreView funktion lost. In all windows the PreView buttons animate, but the PreView window not appears, however the Pgcedit runs, in Trace mode it counts the time and steps the next track or pg. (PreView menu also not works)
Manually start the PgcEditPreview.exe runs, its blanc window appears.
I uninstalled PgcEdit with Options menu, deleted it's folders from the Program Files and Documents and Settings, cleared marks from the Registry and deleted it's files from the Windows\Prefetch folder. I installed again(v9.2), but the mistake same.
I uninstalled once more as like up and installed v8.6. The result better, but not perfect: in Tace mode the PreView window appears, sorry the PreView buttons not work.
What have I do?
Please Help?
Thanks
Well, sometimes, the preview stays blocked on a badly formatted still-frame VOB. Its window is not visible, and you cannot launch another preview from the same instance of PgcEdit. But it is usually enough to kill the preview from the task manager, or to reboot to fix the problem. I suppose you have tried that, right?
You should also try to change the options in the Preview menu. In particular, try to disable the DirectDraw overlays. (If it works, then you have probably installed a program that causes a conflict with your DirectX filters.) Try also to change the playback mode, although I doubt that this option could help.
I can't help much more.
arrirc
12th May 2009, 05:51
Thank you for developing PgcEdit, its an excellent tool, even for a 'not so advanced user' like myself. I have been going through the help of PgcEdit looking for a way to delete one angle from the DVD (I was planing to back up), but unfortunately I could not fathom the guidance, and I could not match the screen shot with the present version (pardon my ignorance, if any). So could it be possible to clarify "Angle Deletion Process" a little bit more?
Secondly, I found one function in PgcEdit named "Remove Useless Stuff" under Menu>DVD. Is it safe to use for users like me? Could you please elaborate it a little bit more? I have applied this macro on 2 DVDs and it seems it really cleans up things, but I must admit that my understanding of this feature is rather very superficial.
Lastly, can "Domain Stream Attributes" function be used directly to remove any unwanted Audio and subtitle stream?
I am using the latest version of PgcEdit.
Thanks again.
blutach
12th May 2009, 06:35
1. Click Del Angles in the PGCEditor. Tick the angle(s) you want to keep (you can preview these beforehand with the previewer, but typically, you'd want to keep angle 1). OK and then reclaim the space with VobBlanker y loading the project into VobBlanker and clicking Process for the VTS and then Process down the bottom.
2. Yes, it is totally safe. It does all the things in the dialogue. You can safely keep them all ticked. The help file is very detailed on what this function does.
3. No - you need something like VobBlanker to strip streams from the VOBs. However, if you only remove them from the IFOs via the DSA, then, if space is not an issue, they won't show up when you cycle the remote.
Regards
I agree with blu, but here are some precisions.
1. It is usually safe to keep ONE angle ONLY! Many programs, including VobBlanker and FixVTS cannot properly rebuild the angle pointers in the VOBs if you strip some of them but leave several angles in place. If you want lo leave, say, two angles, you can use DVDShrink to compress the unreferenced angles at the maximum compression ratio and remove their audio tracks completely, but afaik, there is currently no easy way to remove them completely without reencoding. Anyway, use VB or FixVTS only if you leave all angles or only one.
2. Remove Useless Stuff is a collection of safe functions that you can use independently also, grouped together to quickly simplify the DVD. In some rare cases, a function can be unsafe, but in that case, you will be prompted to continue anyway, or abort that particular function.
BTW, I am currently working on new functions that will be added to Remove Useless Stuff in PgcEdit v9.3.
3. The Delete Stream function in DSA has been added so that you can rearrange the streams left over after having stripped them, for example with DVDShrink with the option to remap the streams off. However, as blu explained, it cannot be used to remove the stream from the VOB. (Unfortunately, if you have removed the stream references with PgcEdit, you have no way to tell DVDShrink to strip it from the VOBs as it not visible in its GUI any more. To remove a stream and regain its disc space, you should always use Shrink before PgcEdit. Same thing for VobBlanker.)
arrirc
12th May 2009, 17:06
Thank you very much- blutach and r0lz.
Firstly,
BTW, I am currently working on new functions that will be added to Remove Useless Stuff in PgcEdit v9.3.
I am eagerly looking forward, thanks again for your excellent effort and the result. :)
Now,
and then reclaim the space with VobBlanker y loading the project into VobBlanker and clicking Process for the VTS and then Process down the bottom.
I know this thread is not exactly for this question, but could it possible for you to elaborate it a little more? Please note, that I have never used VB as such.
Regarding backing up a DVD with multiple angles, I think DVDFab can rip a DVD to HDD stripping all the unnecessary angles (sorry I really do not much about this particular type of DVD or the ripping process of the same). In that case I believe the result can be fed both in VB and PgcEdit?
Thanks again :)
EDIT: the multi-angle DVD that I am referring to is of ALIEN Quadrilogy series.
VobBlanker drops the unreferenced cells (including unused angle cells) automatically when it process the VOBs. So, just be sure that it will process the domain with the angles to strip, and it will do the job. You can untick the menu processing and the other VTS if you wish, to speed the processing up. It is easy to figure out how VB works. There is no need to manually specify which angle cells to remove but you must have removed the angle references with PgcEdit (or Jsoto's DelAngles) before using VB, or it will complain.
If you want to remove all angles but one with PgcEdit, I suggest using FixVTS to strip them. It cannot be easier to use, and is very fast.
Of course, if you remove the angles during the rip, there is no problem. But take care. Rebuilding the remaining angle blocks when some but not all of them have been removed is not easy, and can be a source of numerous bugs. I don't know if Fab can do that, but verify if the DVD plays correctly, including when you use the FF and Rew buttons on a cell that was previously multi-angle.
mikenadia
13th May 2009, 01:45
I have 3 root menus but the first one VTSM1 is not callable from remote control since no titles in VTS1 are called.
VTSM2 and 3 are callable from remote control.
in my software player ,nothing is happening when I click on "Root menu". I would like it to go to VTSM2 when called from the remote control.
Is it just a "software player" issue, and if not, what can I do ?
Thanks a lot in advance.
Edit:
Thanks, r0lZ. It was the PUO.
The fact that no title is called in a VTS does not mean that the menu of that VTS cannot be called. The Root/Audio/Subpic... menus can be called from the VMGM, just like a Title.
We have not enough information to know how to jump to the VTSM 2. First, you would like to go to that menu when what is playing? A title in VTST 2, or in another VTS? It it's form another VTS, is it already a RootM in that VTS? Have you verified if you can reach it with the PgcEdit virtual player's Root Menu button, even if that menu has no video?
Have you verified the PUOs?
goonix
13th May 2009, 11:23
Hi r0lZ
I use PgcEdit as main authoring tool for my music concert recordings. For that reason there are a lot of buttons in the track selection menu. These buttons are sometimes very close together. Especially in the letterbox part of the menu, it is difficult to set the hotspot rectangles precisely, because the sliders sometimes jump in 2 pixel steps.
If the lower line of a button and the upper line of the next button can't be set exactly at the same time (it happens...), my current solution is to edit the saved button ascii text.
Is it possible to change the slider resolution to always 1 pixel steps?
If not, can you add small "<" ">" buttons to the sliders?
goonix
You can already move the slider by 1 pixel by clicking in the white area of the slider, to the right or the left of the handle. :)
goonix
13th May 2009, 15:41
Wow, although I use PgcEdit since the beginning, there are still undiscovered jewels inside this great tool.
You have thought at almost everything...
Thanks, r0lZ!
turbojet
28th May 2009, 19:47
Is there any chance the sub color palette can import from vobsub idx files?
It would take out the guessing game when it comes to colors when doing BD to DVD subs.
Honestly, I don't know the idx format and I don't use VobSub. Apparently, the idx file contains the indexes to each subtitle of the sub file, but I don't know if it holds a CLUT. If it's the case, I can try to implement a function to import its color palette in PgcEdit, but I need more info. I haven't been able to find a doc about the file format. Can you help me? Can you send me an example?
turbojet
28th May 2009, 23:35
Sure here's a sample (http://www.mediafire.com/download.php?nnuytudzjjn).
I'm guessing this line is all that needs to be read: palette: 000000, cbcbcb, 000000, 000000, 000000, d6ec38, 000000, 000000, 000000, cbcbcb, 000000, 000000, 000000, cbcbcb, 000000, 000000
Thanks for looking into it.
Yep, thanks. I guess the colors are expressed in RGB values. Most of the colors are black, plus 3 light greys and a yellow. Can you confirm that?
OK, done. You will be able to import the palette from a VobSub index file with the next version of PgcEdit.
In attachment is the example palette you gave me, converted to the PgcEdit YCrCb raw format (VTS_05_0.clb). Please confirm that it is correct. Thanks.
turbojet
29th May 2009, 16:22
Thanks, here's the results
new on top
original on bottom
http://i44.tinypic.com/10p0eax.png
Oops, my bad. I forgot to accept the changes after having imported the IDX and before exporting the CLB, and, of course, PgcEdit has saved the original palette of my test DVD. I've updated the ZIP two posts above with the right CLB, but given your screenshot, I can confirm that it works well.
turbojet
29th May 2009, 17:26
Thanks, just waiting on approval of that file and I'll double check. Do you know when you might be releasing the next version with this added?
Currently, I haven't much time, but I should release it soon...
turbojet
30th May 2009, 14:41
I found 2 little discrepancies
color 5
http://i41.tinypic.com/2qjvbsz.png
colors 1, 9, 13
http://i42.tinypic.com/2laa5gh.png
the other color, solid black, is correct
Some little errors are due to rounding problems when converting the YCrCb format to or from RGB. The conversion algorythms used by PgcEdit are correct, and they have already been verified several times. Of course, a little difference is still possible, and inevitable by nature, but it should never be superior to 1 (or -1).
Anyway PgcEdit is right:palette: 000000, cbcbcb, 000000, 000000, 000000, d6ec38, [...]
The yellow is 0xD6EC38, in other words red = 214, green = 236 and blue = 56. Similarly, the grey is 0xCB for each component, and 0xCB is 203 in decimal. So, the NEW screenshots reflect (almost) perfectly the content of the IDX file, and it's either your ORIGINAL screenshots that are wrong, or the conversion to RGB made by VobSub.
The little difference in the red and blue component of the yellow slot are due to the rounding errors when the RGB values are converted back to YCrCb, and cannot be avoided.
BTW, how have you produced your ORIGINAL screenshots of the color picker? Obviously, they do not match the IDX file.
turbojet
30th May 2009, 16:16
Original comes from original DVD.
I used vobsub 2.33 to create the idx. I also tried vsrip and the original DVD palette line was identical. However the custom colors line changed but does this have any effect in this situation?
I'm only using DVD to DVD for testing purposes now, if that was all I ever wanted to do I'd use pgcedit color copy/paste. My goal is to be able to do BD to DVD conversions with the most original looking subtitles as possible. My only option currently is BD sup -> vobsub -> DVD sup.
This result is plenty good enough for this particular DVD, it only uses grey and I have trouble telling the difference. However in a situation with colored subs I wonder if there's situations where it could look pretty ugly.
Original comes from original DVD.And displayed by PgcEdit? Right? Then it's the proof that VS doesn't generate its IDX file with the right values, or at least that it uses another formula than PgcEdit to do the conversion. Unfortunately, they store the values in the IDX file in already-converted RGB instead of the original YCrCb, therefore I can't use my own formula to convert and display them. I just take the RGB values from the IDX files, and display them unmodified. They are converted back to YCrCb when you click OK in the PGC Editor window. Of course, since the formula used by SubRip is not the same, that operation introduces an error.
There are many different formulas to convert from YCrCb to RGB and vice-versa, and I cannot be totally sure that PgcEdit uses the right one, but as I said previously, the PgcEdit formulas have been checked by several users and they seem to be accurate. Anyway, I'm not going to change them, unless someone can prove that they are wrong, and give me the right formulas.
BTW, can you send me the original palette, extracted by PgcEdit in raw .CLB format? They are the original YCrCb colors, directly extracted from the DVD, without any conversion. I would like to have a look.
I've double-checked again the conversion formulas, and I use (almost) exactly the formulas recommended in Keith Jack's Video Demystified to convert between 8-bit digital RGB (full 0-255 range) and YCrCb (SDTV 601). If you are interested, here are the formulas:
Y = 0.257*R + 0.504*G + 0.098*B + 16 (rounded, and clipped to valid range 16-235)
Cr = 0.439*R - 0.368*G - 0.071*B + 128 (rounded, and clipped to valid range 16-240)
Cb = -0.148*R - 0.291*G + 0.439*B + 128 (rounded, and clipped to valid range 16-240)
R = 1.164*(Y-16) + 1.596*(Cr-128)
G = 1.164*(Y-16) - 0.813*(Cr-128) - 0.391*(Cb-128)
B = 1.164*(Y-16) + 2.018*(Cb-128)
(All RGB values are rounded and clipped to valid range 0-255)
The last two formulas were slightly different in PgcEdit:
G = 1.164*(Y-16) - 0.813*(Cr-128) - 0.392*(Cb-128)
B = 1.164*(Y-16) + 2.017*(Cb-128)
Those little errors can explain a slight difference with the correct values, but they are certainly not important enough to explain the differences with the values stored in the VobSub IDX files.
Anyway, I have fixed those errors now, as Video Demystified is cited as THE reference book by many specialists, and I trust it.
Additional note: Do NOT trust the converters at DVD Replica (YCrCb to RGB (http://www.dvd-replica.com/DVD/colorrgb.php) and RGB to YCrCb (http://www.dvd-replica.com/DVD/coloryuv.php)), as they are wrong (and there is a bug in the RGB to YCrCb applet preventing to specify a R value > 0).
turbojet
1st June 2009, 18:49
BTW, can you send me the original palette, extracted by PgcEdit in raw .CLB format? They are the original YCrCb colors, directly extracted from the DVD, without any conversion. I would like to have a look.
Sure here it is (http://www.mediafire.com/download.php?gmhtgxmzldz)
Anyway, I have fixed those errors now, as Video Demystified is cited as THE reference book by many specialists, and I trust it.
Did it have any effect on the output?
Thanks!
Did it have any effect on the output?Perhaps some minimal effects on the rounding of the divisions, but certainly no more than a difference of 1 in each RGB component. As I said before, those rounding errors are inevitable. The new formulas are perhaps more accurate, and may avoid some rounding errors, but probably not all.
Anyway, it's not a solution for the IDX problem.
[EDIT] I've just imported the original palette in a DVD to verify the values. Of course, PgcEdit shows the colors like in your ORIGINAL screenshots above. (And BTW the difference in the formulas have no effects on the result.)
So, IMO, VobSub should store 218, 204, 38 (DACC26) for the yellow and 204, 204, 204 (CCCCCC) for the greys in the IDX files (or store the original YCrCb values instead of already converted RGB values), but it stores the wrong values D6EC38 and CBCBCB. Black is correctly converted to 000000. The greys are close enough to the original, but the yellow is very different. That's not surprising, as the difficulty with the conversions is the color components.
Unfortunately, I can't do much more. If you wish, try to contact the author of VobSub...
turbojet
1st June 2009, 19:43
Do you mean vobsub / vsrip author, Gabest?
Unfortunately he's been gone for years but I see vsrip is open-source, if only I could make sense of any of the code.
Or would SubRip dev be able to help in some way?
No, my bad. I mean VobSub, of course. (I've fixed the "typo")
Unfortunately, if the development of VobSub has ceased, I suppose there is no simple solution. Try to find a program that can output the original palette in YCrCb format. If you need it, I can probably implement an import function in PgcEdit.
turbojet
1st June 2009, 20:13
I've been talking to BDSup2Sub dev about outputting dvd sup with one of the 2 pgcedit import formats. He said the txt format should be fairly simple but is there any advantage to using clb over the txt format?
No. The CLB format is just a binary dump of the palette as it is stored in the IFO. The important thing is to output the original color values, without converting them. The file format doesn't matter much, as long as it can be easily parsed.
turbojet
1st June 2009, 22:07
Ok I'll have to wait and see what that program will output. Currently only seems like a standalone ifo is in the works which I don't think will help my situation one bit.
In the mean time I can use pgcedit's idx import feature for everything but colored subs. I don't mind the 1 tone lighter gray, in fact I wouldn't even notice it without comparing to original.
Thanks for adding it and will I'll patiently await the release.
turbojet
4th June 2009, 20:15
I thought of another way to get sub colors (maybe accurate?) in BDtoDVD process is from the BDsup (http://www.sendspace.com/file/m1t7m0). Is there any chance of adding support for this?
Hum, I don't think so. The SUP file does not contain the palette information. Furthermore, it contains several subpics, and they may have different colors.
0xdeadbeef
12th June 2009, 17:22
Just in case anybody is interested: BDSup2Sub is now able to optionally export the text file containing the palette when exporting SUB/IDX or SUP/IFO.
A quick test indicates that it seems to work although I took the liberty of adding a comment line (starting with "#") and removing the leading tabs.
Hope this helps.
r0lZ
13th June 2009, 10:37
Thanks for your work, 0xdeadbeef!
Can you post an example of a file produced by BDSup2Sub here?
0xdeadbeef
13th June 2009, 14:45
Thanks for your work, 0xdeadbeef!
Can you post an example of a file produced by BDSup2Sub here?
Sure. It's not overwhelmingly interesting though:
# Palette file for PGCEdit - colors given as R,G,B components (0..255)
Color 0=0, 0, 0
Color 1=240, 240, 240
Color 2=204, 204, 204
Color 3=153, 153, 153
Color 4=51, 51, 250
Color 5=17, 17, 187
Color 6=250, 51, 51
Color 7=187, 17, 17
Color 8=51, 250, 51
Color 9=17, 187, 17
Color 10=250, 250, 51
Color 11=187, 187, 17
Color 12=250, 51, 250
Color 13=187, 17, 187
Color 14=51, 250, 250
Color 15=17, 187, 187
As I said, I just added a comment line and removed the tabs. PGCEdit seems to cope with that just fine though.
Robotik
19th June 2009, 10:44
wow, i'm so outdated! i expected the new version to be announced in the 8.6 thread, kept on checking it :)))))
even though i haven't been doing much dvd editing nowadays, i'm so glad v9 is out!
what else did i miss? i'm gonna check for VobBlanker, too, right away!
maybe i should post to all previous PgcEdit posts that the new version is out for losers like me to notice it :)
who knows it might boost the donations, too :)
anyway, as always, thanks for all your effort and keep up the good job.
r0lZ
19th June 2009, 11:19
Why don't you use the Check For New Version option in the Help menu from time to time?
Remember also that you can be noticed of the changes on my homepage. See the changedetection gadget at the bottom of the page. It works well, it is more reliable then the thread notifications, and is totally SPAM free. I try to modify my homepage only when it's really needed to avoid "false positives".
mikenadia
23rd June 2009, 20:56
Is it safe to blank all those cells whose duration is equal or less that 1/4 s (size going from 384K to 10K), and if the answer is "yes" , any function in PGCedit that will help me speed us the process.
Thanks in advance.
blutach
23rd June 2009, 21:37
Not all of them. Say they have cell still time and some buttons. Then you'd be causing errors.
Otherwise, yes. No function available (yet).
Regards
Robotik
28th July 2009, 14:14
grammatical mistake in 9.2, when can't open a dvd (double negation):
*** Dialog title: "PgcEdit: Read DVD"
*** Dialog type: warning
*** Dialog message:
Can't open VIDEO_TS.IFO
or file empty!
No BUP file available neither. This is not a DVD folder.
*** Dialog buttons: [OK]
the correct sentence would be:
No BUP file available, either.
btw, it seems to be a bug as both video_ts.ifo and bup are present. i go and check it
M_Knox
28th July 2009, 19:38
Windows or Linux version? If the latter, please check the filenames - they have to be all-uppercase.
r0lZ
28th July 2009, 20:34
Under Windows, check also the path name. Tcl/Tk has trouble with foreign or accented characters, and some special characters like [ and ].
Robotik
29th July 2009, 12:56
Hi,
it is the Windows version and yep, it is the path name, it contains the Hungarian character, ő.
i know that the easy way to make it work is renaming the folder, but i tried to make it work with PGCEDIT_ENCODING, and also with the command lines 'pgcedit -e=unicode' and 'pgcedit /E=utf-8', and i couldn't. how does it go?
also, is it possible to check for foreign characters in the path during startup, so it doesn't give a false alert of having an empty file? it gave me the creeps :)
and is it possible to check if the path can be opened before the nag screen comes up? it took me some time to test what the problem is, having to wait quarter a minute each time :D
r0lZ
29th July 2009, 13:14
I have to say that I have never really understood the origin of the foreign characters problem. I have added the encoding option so that you should be able to specify the right character encoding for your system, but I have no way to know what encoding must be used (otherwise I would have added the code to select it automatically.) So, sorry, but you have to experiment with the different encoding schemes supported by Tcl/Tk, until the problem disappears. I gave up when I have tried with a French system. If you can find the right encoding for your language, please let me know.
Note that the problem with the [ and ] characters is not related to the encoding, and appears only in some functions of PgcEdit (such as when you launch a tool that contains such characters from the Tools menu.)
Unfortunately, I can't check for the problem at startup, as the filename appears correctly to PgcEdit. I have no way to compare it with the real filename. It's only when PgcEdit has to call an external program that the problem occurs, and PgcEdit can only understand that the program has failed, but doesn't know the exact reason.
It is easy to remove the nag screen. Just donate! ;)
Robotik
29th July 2009, 13:27
hmm
i tried to open the dvd from command line and if i use the short dos name, it works!
i wasn't sure of the naming convention of dos, so i looked it up on Microsoft's site (http://support.microsoft.com/kb/101601).
in the command window, instead of writing
pgcedit "F:\FullDisc\1 reteg\A csendőr nősül\VIDEO_TS"
i wrote
pgcedit "F:\FullDisc\1 reteg\ACSEND~1"
and PgcEdit opened it with no complaints, saved it with no complaints, even more the window title says PgcEdit - "F:\FullDisc\1 reteg\A csendőr nősül\VIDEO_TS" - untitled
maybe there is a similar workaround possible in Tcl/Tk.
r0lZ
29th July 2009, 13:44
Nice trick. I'm not sure it is possible to know the DOS pathname from PgcEdit, but I will have a look...
M_Knox
29th July 2009, 13:47
@r0lZ:
This is damn strange.
I have this folder: E:\ĄĘ\VIDEO_TS
When I double-click the VIDEO_TS.IFO in the Explorer, I get the message:
*** Dialog type: error
*** Dialog message:
Error 1 opening file "E:/ᆬĘ/VIDEO_TS/VIDEO_TS.IFO" for read:
couldn't open "E:/ᆬĘ/VIDEO_TS/VIDEO_TS.IFO": no such file or directory
*** Dialog buttons: [OK]
Now, I go to the console mode, chdir to E:\ĄĘ\VIDEO_TS and issue:
"c:\program files\dvdutils\pgcedit\pgcedit" video_ts.ifo
Everything goes fine (because PgcEdit does not receive diacritical charactes on the command line).
This one:
"c:\program files\dvdutils\pgcedit\pgcedit" e:\ąę\video_ts\video_ts.ifo
gives the same error as double-clicking VIDEO_TS.IFO
But this one:
"c:\program files\dvdutils\pgcedit\pgcedit" - e:\ąę\video_ts\video_ts.ifo
goes JUST FINE :)
Instead of "-" you may place whichever character (well, almost) you want, even a diacritical one :)
(all of the above done with PGCEDIT_ENCODING environment variable NOT SET)
r0lZ
29th July 2009, 13:57
Ah, yes, that's really strange! Maybe the presence of a second argument forces PgcEdit to try to interpret it as a change of encoding. I have to read my code...
mpucoder
29th July 2009, 16:08
Nice trick. I'm not sure it is possible to know the DOS pathname from PgcEdit, but I will have a look...
Try GetShortPathName. I'm not familiar with tcl/tk, but I did find that function used to initialize tcl/tk over at scilab (http://www.scilab.org/developers/doxygen_scilab/d2/da4/InitTclTk_8c.html), so it would be weird to not make it available.
r0lZ
29th July 2009, 16:22
Thanks, mpucoder. I'm not sure it is implemented in Tcl itself, as GetShortPathName() is a low-level C function only, but it's a good starting point.
M_Knox
29th July 2009, 21:49
r0lZ, I investigated the problem a bit and I think you need
set filename [encoding convertfrom [string trim [lindex $argv 0] \"]]
When the correct encoding is set (via PGCEDIT_ENCODING environment variable or a commandline option), this will go just fine.
Another way is to fix freewrap so it does not override the default encoding with cp1252, but I have not tried this yet...
r0lZ
29th July 2009, 23:16
Interesting. But iirc, I've added the code to change the encoding globally, so [encoding convertfrom] should never be needed. I don't want to have to change every line of code containing a filename! A freewrap patch will therefore be much appreciated!
M_Knox
30th July 2009, 05:52
No, you don't have to convert *every* filename like this, only this one, because it comes from argv, and argv is set before you have the chance to change the encoding system.
I'll see what I can do about freewrap.
r0lZ
30th July 2009, 08:35
Yep! I understand. That's easy then.
vwpassion
3rd August 2009, 11:50
I was wondering if it'd be possible to select a button by double-clicking it, instead of moving the mouse down and pressing "Select" when in trace mode.
r0lZ
4th August 2009, 06:27
You should always use the cursor and return keys to operate the menu buttons in trace mode, to check if they work well with a real remote. And you can already use the middle mouse button to activate a button and continue the trace, or the right mouse button to activate it and break the trace. Is it necessary to add the double-click?
vwpassion
4th August 2009, 09:31
Oh, hadn't actually tried using the cursors during trace mode. Middle mouse button is already in use though, but cursor (enter) will totally do! Thanks.
arrirc
9th August 2009, 09:07
Hello r0lz
Without changing any commands, can the "DVD Text" button of PGCEdit be used either to add a new text or modify the existing one? Will doing this may cause some unwanted behaviour while playing the DVD in STB?
Thanks again for developing this excellent program.
r0lZ
9th August 2009, 09:46
The DVD-Text data are used by some players to display the name of the DVD, or the name of the current title or chapter in their GUI. (The DVD-Text standard is theoretically able to define many different names, but PgcEdit handles only the General Name). Unfortunately, very few players use the DVD-Text strings, so usually, the DVD-Text table is not defined. Some players use the DVD-Text General Name to identify the DVD (for example, my old Sony can display it on screen.) A multi-disc player (with a disc changer) should also use the name of the disc to help the user identify the disc that is currently loaded. Anyway, the DVD-Text data are never used to control the navigation, so changing the strings or removing them completely has no effect other than cosmetic.
I use that PgcEdit function mainly to identify the DVD.
In PgcEdit, when there are already DVD-Text data, Set DVD-Text General Name can only modify the current General Name (the global name of the DVD). Most of the time, there is not enough room in the table to overwrite it with a longest title, so you may have to enter a short name. Also, in some rare cases, PgcEdit is unable to modify the table at all (for example if the DVD-Text General Name field has not been defined).
If you want to enter a General Name anyway, you can delete completely the DVD-Text data, and PgcEdit will recreate a new table from scratch. But since PgcEdit creates ONLY the DVD-Text General Name field, all other fields will be lost. That's not a problem IMO, unless you have a player that can use them.
If you want complete control on the DVD-Text strings, have a look at TitleWriter (but don't ask me how it works, as I don't use it.)
arrirc
9th August 2009, 12:33
Thank you very much for the clear explanation. :) I as you, do not want to delve deep into DVDText table, rather want the same as you do: I use that PgcEdit function mainly to identify the DVD.
My present STB SONY DVP-NS50P seems to be able to handle DVD Text. So I just want to put the name of the DVD using the DVD Text button's feature of PGCEdit. So I hope that I can safely put the DVD name there. If there is is any existing Text, will PGCEdit display it and/or modify it if I input something using DVD Text button? Inother words I would like to put only the name in the DVD Text if it is not there already without deleting the existing table, if any that is.
Thanks again :)
r0lZ
9th August 2009, 12:45
Yes, if the General Name is already defined, it is copied in the input dialog, as the default string. You can change it without affecting the other fields, but usually, as explained above, you cannot lengthen it without clearing the table. You will not be able to enter more characters than what PgcEdit can handle for the current DVD, so the function is safe to use.
The General Name (and the Provider ID) are also displayed in the title bar of the main PgcEdit window.
[EDIT] Note that the maximum length of the General Name can be changed in the PgcEdit options. There is no theoretical maximum, but some players display only the first characters, and truncate the rest. Of course, if the original string is shorter, you may not be allowed to enter as many characters.
arrirc
9th August 2009, 14:30
Thank you very much r0lz for helping me out :)
arrirc
13th August 2009, 16:34
Hello r0lz
Could you please take a look at this problem http://forum.doom9.org/showthread.php?t=148886
?
Thank you
mikenadia
26th November 2009, 23:12
I used to delete the command but was wondering if there was not something else to do.
The command should never be executed , but if I force it ,it changes the navigation completely. For example, my last command in FP-PGC was a " Jump to nowhere". By forcing it, it bypassed the Main menu and went on to play the movie directly. In this case, it was easy to change the command in the PGC but I assume it is not always the case.
Can I replace the "Jump to Nowhere" by another command that will be more neutral with respect to the DVD-navigation.
Thanks in advance.
r0lZ
1st December 2009, 16:37
There should never be jumps to nowhere in an original DVD. The presence of jumps to nowhere can be caused either by an authoring error, an intentional protection, an error of the ripping program when it has removed the protection, or you have carelessly deleted some PGCs or VTSs.
If a player is forced to execute a command that jumps to nowhere, you can't tell what it will do. You have been lucky if it played the main movie. Most players will simply stop the DVD or hang. Of course, if you are sure that the jump cannot be executed, you can simply remove it. If it can be executed, hen you should try to replace it by a jump to a valid PGC, but you have to be sure that the PGC can be accessed from that point without breaking the navigation. That's not always easy to do, so I suggest to jump to the First-Play PGC, to restart the DVD completely. If the FP-PGC is never accessed from elsewhere, you can also apply PGC -> Reset Used GPRMs to 0 on the FP-PGC. This will assure that the navigation state is as much as possible close to the state it should be at startup.
mikenadia
1st December 2009, 20:16
Thank you, r0lz.
Pure Cosmetics:
When I open a new file in which there is a "Jump to Nowhere" command, it is highlighted and not in Edit mode. And when I right-click on "Delete"(thinking that I am in edit mode) I hear a bleep and nothing happens if I click on Delete many times (until I understand that I am not in Edit mode). If I right-click on Edit Command, I hear the bleep but it puts me automatically in Edit mode, so if I click a second time, I can edit the command.
This is probably indicated in the command color code...
r0lZ
1st December 2009, 20:34
This is a minor bug.
When you say "I'm not in Edit mode", I assume you are in Trace mode, right?
In Trace mode, no edits should be possible, as it is too dangerous to mix the trace and the edits. However, I have not disabled the Edit mode completely, as some power users may find useful to edit in trace mode. For example, it is possible to modify the current command to force the trace to use the modified command immediately as soon as you click Run, but you cannot delete the command because it is currently "in use" by the trace. Changing anything in the global structure of the DVD or current PGC (such as adding, deleting or moving elements) should never be possible, as the trace would get confused.
You have discovered a way to switch to edit mode while the trace is running, but use it at your own risk!
mikenadia
3rd December 2009, 13:17
I did not discover anything. What I found is not a bug, pure cosmetics. I am not in Trace mode. What I meant by Edit mode was that the functions in the menu that appears by right-clicking on the command were functional (Edit command, Delete....).
I load the DVD (straight from the rip and probably intentional " Jump to Nowhere"). The bad command is highlighted. I should have clicked (left-click) on the command (what I meant by edit mode) before the right-click (for the menu list to appear ) for those commands to be functional. Nothing important. Only one click away.
r0lZ
3rd December 2009, 13:31
Ah, OK, I understand.
The fact that a bad command (such as a jump to nowhere) is highlighted doesn't mean that it is selected. The highlight is a warning, and nothing else. So, yes, to pop the context menu up and use its Edit function (or the Edit button in the bottom part of the main window), you have to select the command you want to modify first. The command will be highlighted too, but in a different way, to show that it is selected.
When a PGC is opened (also immediately after having loaded a DVD), the first line with the "*** pre commands" label is automatically selected, but of course it doesn't make sense to edit it.
I can't change that behaviour easily, so you will have to live with that little annoyance.
mikenadia
13th December 2009, 18:42
With PGCedit 9.2 and 9.1 , I have this error message when loading the DVD and it seems to loop afterwards (the application is still running according to Windows Task Manager but nothing happens). Probably, bad rip or bad authoring.
With PGCedit 8.6 , I am able to load the DVD.
can't read "but": variable is array
can't read "but": variable is array
while executing
"set but"
(file "C:/U PANA BOGA W OGRODKU D4/VIDEO_TS/PgcEdit_backup/menubuttons.but" line 26970)
invoked from within
"source $butfilename"
(procedure "::menued::get_all_menu_buttons_from_butfile" line 14)
invoked from within
"::menued::get_all_menu_buttons_from_butfile $directoryname"
(procedure "readdvd" line 201)
invoked from within
"readdvd $dvddir ::raw_sectors ::pgcs ::menus ::ttns"
(procedure "::main::Read_New_DVD" line 64)
invoked from within
"::main::Read_New_DVD {C:/U PANA BOGA W OGRODKU D4/VIDEO_TS}"
(menu invoke)
The question is , even if one variable is not declared , is it that bad that it cannot and should not load in v9.x. What can I do in v8.6 either to fix the problem or to make it loadable in v 9.2.
Thanks in advance.
r0lZ
13th December 2009, 18:55
Seems your menubuttons.but file is damaged. Quit PgcEdit, then manually remove the PgcEdit_backup folder (located within your DVD folder), and relaunch PgcEdit v9.2. Do NOT open the DVD immediately at startup. Then go to the File Menu, and open the DVD from there. (Do NOT use the toolbar.) This way, if PgcEdit crashes when the DVD is loaded, you should see an error message. If it's the case, please copy it and paste it here. Otherwise, your menubuttons.but file should be recreated from scratch, and you should be able to load the DVD without problem the next time you start PgcEdit.
If that doesn't work, please post or send me your menubuttons.but file.
mikenadia
16th December 2009, 03:39
Cosmetics.
From r0lZ: PgcEdit is an IFO editor (though there are some functions related to the VOB files.)
I had to delete a VOB that was a " Warnings".
Then I loaded the DVD in PGCedit and wanted to kill Playback on tht PGC linked to the missing VOB.
I had a message that PGCedit cannot blank the cell because the VOB is missing or empty.
Because PGCedit trust the IFO, is it possible to allow this operation with a warning (or create an empty VOB). The reason is that the only way I found to recreate an empty VOB was to use VOBblanker . VoBblanker ask for a full scan because of the missing VOB but if I proceed without blanking the new VOB , I have an error message and an Abort because the info in the IFO file is wrong ( I was not able to kill Playback that PGC in PGCedit).
I hope that this is not too confusing.
r0lZ
16th December 2009, 10:07
You should NEVER touch or delete a VOB file manually!
There are two functions to get rid of unnecessary cells with PgcEdit. You can blank a single cell at a time, or blank a whole domain.
When you blank a single cell, PgcEdit appends a new cell to the existing VOB file and it fixes the reference of the current cell to point to the new one. Note that it leaves the original cell in the VOB. To remove it, you should use FixVTS (or simply process the DVD with VobBlanker). Of course, the VOB file must be present to use that option, as otherwise PgcEdit will be unable to place the new cell at its correct location.
In the other hand, when you use "Domain > Blank Out All Cells in Domain" (or the corresponding function in the context menu), PgcEdit blanks all cells of the current domain at the same time, and it is sure that none of them are still necessary. Therefore, it can replace the whole VOB with a tiny cell, or even, if the current domain is a menu domain, it can convert all menu PGCs to dummies and remove completely the VOB. Of course, the disc space is regained immediately, and it is not necessary to run FixVTS.
So, to repair the IFOs of the domain with the missing VOB, you should use that function. Usually, for a menu domain, I prefer to remove completely the VOB file (but in some rare cases, that's not possible without breaking the navigation). For a title domain, I use the option to also Kill Playback of the PGCs whenever possible, so that the tiny cell is not played. Anyway, in your case, the IFO will be repaired, and the VOB file (if any), will be correctly referenced.
Plutox
29th December 2009, 12:36
...probably Windows 7 related.
I have just come back to messing around with DVD structures after a year doing more important stuff and in that time I've moved to Windows 7 (not that bad an experience). I'm a paid-up user of PGCEdit.
Essentially, "automatically start preview playback" does not work. This is clearly not a low level problem as preview does everything it ought when it is started manually (by any available method); it simply does not start automatically. I've tried the usual compatibility options to no effect.
Thoughts please. :thanks:
r0lZ
29th December 2009, 18:21
Hum, I've just installed Win7 some weeks ago, and I haven't tested yet PgcEdit fully. I'll have a look next year ;), as I don't have much time right now.
Thanks for the report, Plutox!
Plutox
30th December 2009, 09:04
Hum, I've just installed Win7 some weeks ago, and I haven't tested yet PgcEdit fully. I'll have a look next year ;), as I don't have much time right now.
Many thanks. I haven't found any other anomalies - yet :)
Mike89
31st December 2009, 02:27
Lately with some movies when I'm using RipIt4Me, I rip then use the Tool option in RipIt4Me to open the rip with PgcEdit and get this message.
http://i62.photobucket.com/albums/h86/MikeO1989/PgcEditError.jpg
I don't know why I'm getting this message now with some movie rips (only using RipIt4Me) when I never got this message before until recently. I don't know quite what to do after the message. Any comments?
r0lZ
31st December 2009, 02:41
RipIt4Me is outdated, and cannot handle the new advanced protections.
According to the error message, RI4M has not finished the job, and some titlesets are missing. You can try to accept the dialog, but I doubt your DVD will work. It might work if all missing material is fake and never called really. Use Info -> Calls Cross References to verify if there is really something missing, and anyway, test the DVD carefully.
I haven't written RI4M and I don't use it, so I can't help much more. And BTW, this is the thread dedicated to PgcEdit, and not to RI4M.
Mike89
31st December 2009, 03:16
I know this is not a RipIt4Me thread but it was an error message in PgcEdit, that's why I posted it here.
I had more comments about this message and subsequent results from button decisions and DVD behavior afterwards but I guess this is not the thread to post it (I thought I was at the right place, now I don't know where to post it).
blutach
31st December 2009, 05:19
It's most likely a bad rip Mike. Use an up to date ripper.
If you still experience issues, then post here.
Regards
r0lZ
31st December 2009, 14:09
I had more comments about this message and subsequent results from button decisions and DVD behavior afterwards but I guess this is not the thread to post it (I thought I was at the right place, now I don't know where to post it).
Well, I can explain (here!) what this message implies and how to handle it, but I cannot know the origin of the problem that causes it to pops up. Anyway, when that message is displayed, it is usually due to a bad rip. It can also be caused by big human errors, for instance when he has manually deleted some files in the DVD folder. But you haven't do that, of course. So, obviously, RI4M cannot handle the DVD. Follow blutach's advice...
Mike89
31st December 2009, 18:15
I do use another ripper (dvdfab) if I can't get a successful rip but to tell the truth, still prefer RipIt4Me if it will rip the movie (so I try to make it work if I can, if not then on to DVDFab). As I said, this issue just started happening recently to some movies. And they were movies that didn't seem to have much copy protection (RipIt4Me displayed DVD Shrink in the beginning menu meaning DVD Shrink would rip it. Rip would go fine and then opening it in PgcEdit would give this error. Then no matter which options I would choose in the succeeding button choices, the end result was always a successful rip (did have to use RipIt4Me "Clean the Vobs" option).
Posted about it here cause I thought it was interesting what PgcEdit did with that error message and all the other error messages it would generate after that (by either clicking yes or no with the options) and then still getting a playable rip at the end.
Anyway, I won't take up anymore time in this thread about this as it seems RipIt4Me is now a dead issue (long live RipIt4Me, it was a damn fine program while it lasted).
mikenadia
6th January 2010, 14:56
Happy new year to all.
An issue with deleting simultaneously multiples lines with Goto.
Before deleting
[20 D4 00 09 00 32 00 07] 1 if ( gprm(9) > 50 ) then { LinkPGCN PGC 7 }
[00 D1 00 09 00 28 00 56] 2 if ( gprm(9) > 40 ) then { Goto line 86 }
[00 D1 00 09 00 1E 00 42] 3 if ( gprm(9) > 30 ) then { Goto line 66 }
[00 D1 00 09 00 14 00 2E] 4 if ( gprm(9) > 20 ) then { Goto line 46 }
[00 D1 00 09 00 0A 00 1A] 5 if ( gprm(9) > 10 ) then { Goto line 26 }
[00 B1 00 09 00 01 00 08] 6 if ( gprm(9) != 1 ) then { Goto line 8 }
[30 02 00 00 00 01 00 00] 7 (JumpTT) Jump to Title 1
[00 B1 00 09 00 02 00 0A] 8 if ( gprm(9) != 2 ) then { Goto line 10 }
[30 02 00 00 00 02 00 00] 9 (JumpTT) Jump to Title 2
[00 B1 00 09 00 03 00 0C] 10 if ( gprm(9) != 3 ) then { Goto line 12 }
[30 02 00 00 00 03 00 00] 11 (JumpTT) Jump to Title 3
[00 B1 00 09 00 31 00 68] 102 if ( gprm(9) != 49 ) then { Goto line 104 }
[00 00 00 00 00 00 00 00] 103 NOP
[00 B1 00 09 00 32 00 6A] 104 if ( gprm(9) != 50 ) then { Goto line 106 }
[00 00 00 00 00 00 00 00] 105 NOP
[20 04 00 00 00 00 00 03] 106 LinkPGCN PGC 3
After deleting lines 32 to 75 one at a time ( "Jump to Nowhere").
This looks correct.
[00 D1 00 09 00 28 00 2A] 2 if ( gprm(9) > 40 ) then { Goto line 42 }
[00 D1 00 09 00 1E 00 20] 3 if ( gprm(9) > 30 ) then { Goto line 32 }
[00 D1 00 09 00 14 00 20] 4 if ( gprm(9) > 20 ) then { Goto line 32 }
[00 D1 00 09 00 0A 00 1A] 5 if ( gprm(9) > 10 ) then { Goto line 26 }
[00 B1 00 09 00 01 00 08] 6 if ( gprm(9) != 1 ) then { Goto line 8 }
[30 02 00 00 00 01 00 00] 7 (JumpTT) Jump to Title 1
[00 B1 00 09 00 02 00 0A] 8 if ( gprm(9) != 2 ) then { Goto line 10 }
[30 02 00 00 00 02 00 00] 9 (JumpTT) Jump to Title 2
[00 B1 00 09 00 03 00 0C] 10 if ( gprm(9) != 3 ) then { Goto line 12 }
After deleting lines 32 to 75 simltaneously (multiple select with the "Shift"key and then Delete.
This looks incorrect (lines 3 and 4)
[00 D1 00 09 00 28 00 2A] 2 if ( gprm(9) > 40 ) then { Goto line 42 }
[00 D1 00 09 00 1E 00 42] 3 if ( gprm(9) > 30 ) then { Goto line 66 }
[00 D1 00 09 00 14 00 2E] 4 if ( gprm(9) > 20 ) then { Goto line 46 }
[00 D1 00 09 00 0A 00 1A] 5 if ( gprm(9) > 10 ) then { Goto line 26 }
[00 B1 00 09 00 01 00 08] 6 if ( gprm(9) != 1 ) then { Goto line 8 }
[30 02 00 00 00 01 00 00] 7 (JumpTT) Jump to Title 1
[00 B1 00 09 00 02 00 0A] 8 if ( gprm(9) != 2 ) then { Goto line 10 }
[30 02 00 00 00 02 00 00] 9 (JumpTT) Jump to Title 2
[00 B1 00 09 00 03 00 0C] 10 if ( gprm(9) != 3 ) then { Goto line 12 }
blutach
7th January 2010, 09:38
In these types of PGCs, it is easiest to do the following:
1. Change the JumpTTs of the unwanted titles to NOPs (or just delete those lines).
2. Do a Remove Useless Stuff.
Regards
mikenadia
7th January 2010, 19:27
Thanks, blutach.
Probably a nice feature of 9.3 because 9.2 Remove useless stuff do not affect those lines.
But that "simultaneous Delete" can lead to unexpected results and I will not use it.
Original:
[00 A2 00 00 00 01 00 00] 12 if ( gprm(0) == 1 ) then { Break }
[20 A6 00 00 00 02 00 02] 13 if ( gprm(0) == 2 ) then { LinkPGN Program 2 }
********** post commands:
[71 00 00 04 00 01 00 00] 1 Set gprm(4) =(mov) 1
[71 00 00 01 00 01 00 00] 2 Set gprm(1) =(mov) 1
[30 08 00 04 01 C0 00 00] 3 (CallSS) Call the VMGM PGC 4, resume cell 1
After " Killing Playback"
[00 A1 00 00 00 01 00 0E] 12 if ( gprm(0) == 1 ) then { Goto line 14 }
[00 A1 00 00 00 02 00 0E] 13 if ( gprm(0) == 2 ) then { Goto line 14 }
[00 00 00 00 00 00 00 00] 14 NOP
[71 00 00 04 00 01 00 00] 15 Set gprm(4) =(mov) 1
[71 00 00 01 00 01 00 00] 16 Set gprm(1) =(mov) 1
[30 08 00 04 01 C0 00 00] 17 (CallSS) Call the VMGM PGC 4, resume cell 1
After deleting simultaneously lines 13 and 14
(line 13 (former line 15) may be bypassed)
[00 A1 00 00 00 01 00 0E] 12 if ( gprm(0) == 1 ) then { Goto line 14 }
[71 00 00 04 00 01 00 00] 13 Set gprm(4) =(mov) 1
[71 00 00 01 00 01 00 00] 14 Set gprm(1) =(mov) 1
[30 08 00 04 01 C0 00 00] 15 (CallSS) Call the VMGM PGC 4, resume cell 1
It will be nice if "remove useless stuff" could remove, when it is safe:
Line X: if"" then Goto Line X+1. (lines 12 and 13 in the "Killing Playback" above subsection).
or Line X: Goto Line X+1
Edit: I do not know if it makes sense or not but in Trace mode, when running the program ("Step"," Next PB" "Run") after having selected FP-PGC, assume that the user wanted to "insert DVD" (resetting of GPRM...). I am using the "Insert DVD" button.
Line 5 in "After Killing Playback" might be difficult to delete, but just in case.
Might be easier to deal with during the "Killing Playback"subroutine.
[20 B4 00 00 00 01 00 02] 5 if ( gprm(0) != 1 ) then { LinkPGCN PGC 2 }
[00 02 00 00 00 00 00 00] 6 Break
********** post commands:
[20 04 00 00 00 00 00 02] 1 LinkPGCN PGC 2
After Killing Playback
[20 B4 00 00 00 01 00 02] 5 if ( gprm(0) != 1 ) then { LinkPGCN PGC 2 }
[00 01 00 00 00 00 00 07] 6 Goto line 7
[00 00 00 00 00 00 00 00] 7 NOP
[20 04 00 00 00 00 00 02] 8 LinkPGCN PGC 2
In the last example, it seems that the duration of the PGC does not go back to 0.00 or 0.01 , the reason being probably that the VOB is used in PGC2, whose command lines are.
********** pre commands:
********** post commands:
[30 08 00 00 01 83 00 00] 1 (CallSS) Call the VTSM Root menu of the current VTS, resume cell 1
PGC2 is a "child" of PGC1 (can only be called from PGC1). They share the same VOB.
As a user, Killing Playback on PGC1 implies "Killing Playback on PGC2" but I agree it can be misleading.
But if If I kill Playback on PGC2 first, the duration of PGC2 is changed to 0.00.
In this case, Blanking all VTST would have put all durations to 0.00.
Also, Killing Playback on PGC1 only will require a Full scan in VOBblanker and "Final Size" will be bigger than "Initial size" on that VOB.
Thanks in advance.
M_Knox
7th January 2010, 21:07
9.3 will have a nice feature that will do that (remove "uncalled" commands).
Furthermore, in your example, after deleting lines 13 and 14 at once, the Goto in line 12 should point to line 13, not 14. This is a PgcEdit bug, that will be fixed in version 9.3.
(I hope I haven't spoiled the surprise, r0lZ :) )
r0lZ
8th January 2010, 11:22
I confirm that the bug when multi-deleting some GoTo target lines is fixed in 9.3.
There are so many changes in 9.3 in Remove Useless Stuff that I can't say for sure if it will do exactly what you want with your DVD, but it is true that the useless lines are now automatically removed. The GoTo to the next line (and to the next non-NOP and non-target line) are removed, and the commands that cannot be executed due to jumps or GoTos are automatically removed. (In fact, they are first converted to NOP, and another part of the cleanup function removes the useless NOPs. You can opt to keep them if you wish.)
When the pre-commands contain some links inside the PGC (for example a link to cell 2), it is not safe to completely kill playback, especially if there are cell commands, as the cell pointed to by the command can lead to a different PGC via its cell command. PgcEdit refuses to kill that PGC, and instead, it offers to blank the cells. Blank All PGCs has an option to kill only when it's safe (the default), or to kill anyway (dangerous).
Not sure what happens in your last example when you kill PGC 1. PgcEdit cannot kill it completely due to the links, but it should offer to blank the cells. If you accept, the total duration of the PGC should drop to approx 0.5 seconds * the number of cells.
Of course, since the VOB cells are reused in PGC 2, VobBlanker or FixVTS will not remove them, unless you kill also PGC 2.
Note also that when you kill PGC 1, you will end up with exactly the same commands than in your example. But if you run Remove Useless Stuff, the useless GoTo and NOP are removed. Currently, the function is not smart enough to detect that the conditional link is useless too, so you end up with:
[20 B4 00 00 00 01 00 02] 1 if ( gprm(0) != 1 ) then { LinkPGCN PGC 2 }
[20 04 00 00 00 00 00 02] 2 LinkPGCN PGC 2
r0lZ
8th January 2010, 11:31
Edit: I do not know if it makes sense or not but in Trace mode, when running the program ("Step"," Next PB" "Run") after having selected FP-PGC, assume that the user wanted to "insert DVD" (resetting of GPRM...). I am using the "Insert DVD" button.
I don't understand your edit. Clicking on the Insert DVD button does what a player should do when a DVD is inserted: it resets everything, and begins the navigation at the FP-PGC.
But note that you can right-click on that button to simulate what a player should do when a DVD is restarted after having pressed the Stop button twice (but not removed the DVD). The player is now in the so called "exit state" and it displays its logo. In that case, it is supposed to do a partial reset of the GPRMs and SPRMs and to begin the navigation at Title 1 instead of the FP-PGC.
Some players can even restart the DVD at a specific title if the user presses a number key on the remote. This is not directly supported by PgcEdit, but it's easy to simulate: right-click on the Insert DVD button, then click on the first pre-command of the title you want to play, and finally run the trace.
mikenadia
8th January 2010, 12:40
Duration issue seems to be my issue. Reripped everything and everything is fine.
For the "insert DVD" (just cosmetics): What I wanted to say is that during the " Jump to Main Menu and Bypass intros" procedure, in Trace mode, you go to Main Menu and you "Toogle PGC pre/post breakpoint".Then you should click on "insert DVD", "run" to the menu again before clicking on "Jump to PGC upon insert". If instead of doing that, after "Toogle breakpoint", you select FP-PGC and "run" (wrong procedure), it looks similar (but the GPRM are not reset). Then I do not see any use (my assumption) of "run" from FP-PGC without resetting GPRM.
If my description is still confused, forget it ...:confused:
Thanks a lot for your work, r0lZ ( and watch out the SNOW:)).
Edit: wish list: To have a list of bad commands (coming from a bad rip like all those highlighted in orange command). Because now you have to open the PGC to see them highlighted ( sometimes in a PGC where I will not make any change so I will miss them) and when they are highlighted, it may not be obvious (for casual users) what to do. For example, in a menu , the last cell command (highlighted in orange) was LinkTailPGC. It seems not necessary (because it is the last "cell" command) but that is just a guess. And I do not know what to do. Same thing with "RSM" as a last cell command in another menu ( and highlighted in orange).
May be locate this in an optional "remove useless stuff" for a one-stop procedure and to have the possibility ( for casual users) of letting PGCedit take the decision what to do with them (NOP or delete those "Jump to Nowhere"...)
r0lZ
8th January 2010, 15:35
I understand now. It might be useless to start the trace from the FP-PGC without clicking first on Insert DVD, but that's true for any PGC. It is always possible to fool the trace by starting it at a "wrong" point, or by modifying the GPRM values manually. But that can be instructive too, so I haven't disabled the editor in trace mode. The Watch window can even be used to modify the value of any GPRM or SPRM during the trace, just to check what happens with different values.
Of course, when using Jump2PGC, you MUST follow exactly the procedure (at least after having placed the break point), or the result might be unpredictable. However, if you know for sure that changing a register value before calling Jump2PGC is good for you (for example because it preselects your preferred audio or subpic stream), you can do it. But it's at your own risk.
The last cell command(s) are sometimes highlighted only because they are not referenced in the PGC. They are therefore useless (but not necessarily illegal). And the new cleanup removes them too! :-)
I have plans to write a (limited) verifier to summarize the errors detected by PgcEdit. But it's an enormous work, and unfortunately, the way the bad commands are highlighted now is not compatible with that, as it suppose that the PGC is currently loaded in the editor. I can reuse some parts of my code, but the main part of the work is still to do. Sorry, but v9.3 will not have the verifier (unless you prefer to wait one year more!)
mikenadia
12th January 2010, 02:09
Thanks,r0lZ.
Really cosmetics. Two commands (2-18 and 19-21) repeated during the "Jump to Pgc upon insert" procedure.
Also lines 10 , 11 and 18 are not there if I do "Clear Useless Set commands "from within "Remove Useless stuff" before" Jump to PGC..."
Because of that, gprm(7) and gprm(8) are not considered useless (two " if gprm(?) goto" commands generated by "Jump to PGC" procedure). if I run "Jump to PGC upon insert" before "Removing useless stuff" or the opposite, I end up with equivalent but different results depending which procedure is run first.
********** pre commands:
[00 B1 00 0F 03 FE 00 14] 1 if ( gprm(15:Jump2PGC_control) != 1022 ) then { Goto line 20 }
[71 00 00 0F 00 00 00 00] 2 Set gprm(15:Jump2PGC_control) =(mov) 0
[71 00 00 00 00 FF 00 00] 3 Set gprm(0) =(mov) 255
[71 00 00 01 00 00 00 00] 4 Set gprm(1) =(mov) 0
[71 00 00 02 00 00 00 00] 5 Set gprm(2) =(mov) 0
[71 00 00 03 00 00 00 00] 6 Set gprm(3) =(mov) 0
[71 00 00 04 00 01 00 00] 7 Set gprm(4) =(mov) 1
[71 00 00 05 00 43 00 00] 8 Set gprm(5) =(mov) 67
[71 00 00 06 00 43 00 00] 9 Set gprm(6) =(mov) 67
[71 00 00 07 00 43 00 00] 10 Set gprm(7) =(mov) 67
[71 00 00 08 00 00 00 00] 11 Set gprm(8) =(mov) 0
[71 00 00 09 00 FF 00 00] 12 Set gprm(9) =(mov) 255
[71 00 00 0A 00 07 00 00] 13 Set gprm(10) =(mov) 7
[71 00 00 0B 00 01 00 00] 14 Set gprm(11) =(mov) 1
[71 00 00 0C 00 00 00 00] 15 Set gprm(12) =(mov) 0
[71 00 00 0D 00 00 00 00] 16 Set gprm(13) =(mov) 0
[71 00 00 0E 03 E7 00 00] 17 Set gprm(14) =(mov) 999
[71 00 00 0F 03 E7 00 00] 18 Set gprm(15:Jump2PGC_control) =(mov) 999
[56 00 00 00 04 00 00 00] 19 (SetHL_BTN) Set Highlighted Button =(mov) 1024 (button 1)
[00 00 00 00 00 00 00 00] 20 NOP
[56 00 00 00 04 00 00 00] 21 (SetHL_BTN) Set Highlighted Button =(mov) 1024 (button 1)
line 18 is interesting. I think it's coming from the fact that gprm(15) exists before running the "Jump to PGC" procedure. But it is useless (as well as gprm(7) and gprm(8)) and has been probably reused for Jump2PGC_control.
It may be interesting to do "Find uncalled PGCs" before "Clear useless Set commands" in the "remove useless stuff". The " Find useless gprm Set commands" does not take into account whether the PGC are called or not (I do not know if it should consider useless commands as per v9.3?). Getting very complex.
Other combination might even be more effective.
r0lZ
12th January 2010, 06:32
Normally, PgcEdit uses a unused GPRM for Jump2PGC. If it cannot find one, it asks the user to select one, and resets it to 0 (in line 2). Then, it generates the Set commands to set the values of the GPRM as they were after the trace. Line 18 does this for GPRM 15. The command is duplicated because GPRM 15 was in use when you have applied Jump2PGC. I agree that line 2 is useless, but it is inserted anyway because it's necessary when the GPRM is unused.
The fact that commands 19 and 21 are repeated is normal. The highlighted button must be button one when the DVD is inserted (given the result of the trace before applying Jump2PGC) and therefore PgcEdit has to insert that command to be sure that the correct button will be pre-selected. Line 19 accomplishes this. (OK, button one is theoretically the default button when the DVD is inserted and therefore the command is not needed, but PgcEdit inserts the command anyway as it could be button 2, for example.)
Line 21 was probably the original pre-command of the PGC, before applying Jump2PGC. It is still there, as if the nav returns to that PGC, it must be executed. (It's why the first line inserted by Jump2PGC is a Goto line 20, to skip the Jump2PGC stuff and execute the original commands.)
I agree that in this case, the Goto could go to line 19, and in that case, lines 20 and 21 become useless. But again, the button could be different in the Jump2PGC stuff and in the original commands, and checking if some commands are useless is too difficult to do when applying Jump2PGC. You can modify the commands manually if you wish.
IMO, it is always preferable to do a cleanup before applying Jump2PGC, for the reason you have discovered. The job is better, as Jump2PGC does not insert useless Set commands, and the GPRMs that are only read are removed and become really unused, giving more choices for Jump2PGC.
I've tried many combinations of the cleanup functions to obtain the best result. But there is no perfect solution, as the best order depends of the authoring of your DVD. IMO, the current order work well in most cases, but I agree that it is sometimes useful to apply the cleanup twice. The things that have not been cleaned up during the first run are usually removed during the second one. In your example, the GPRMs used only in uncalled PGCs will be removed as the PGCs in which they are initialized are removed. (Note that IMO applying Find uncalled PGCs is useless, as that function doesn't remove automatically the commands. But Delete Uncalled PGCs is much more useful from this point of view.)
Anyway, as you said, this is only cosmetics. Adding many checks to be sure to generate the more compact code possible is potentially a source of bugs, and I don't want to waste my time to do that. The new cleanup functions are already really powerful, but it is impossible to detect every things that could be simplified.
mikenadia
12th January 2010, 14:50
My last comment on the subject. I understand the lack of interest for the many checks that may create bugs but may be incorporating the "Clear useless Set commands" as part of "Jump to PGC " may have advantages. For me, it is irrelevant because I remove useless stuff before. As for efficiency, what about a) NOP unused commands ( get rid of unreferenced cells, jumps and links to void PGCs,other 9.3 unused commands...) , b) Delete uncalled ( PGCs, Titlesets, Menus...: doing first for the ones that can be done with or wtihout sprm(4,5), and then the ones conditional upon sprm(4,5).Do not know about sprm(6,10)) ,c) Clear all useless Set gprm commands , d) clean the code (get rid of NOP...).
a) is supposed to create as many uncalled (PGCs...) as possible.
a) and b) are supposed to create as many useless gprm as possible.
And it is my belief that "Remove Useless stuff" will need to be run only once in all circumstances.
I agree that the "Remove useless" is already powerful enough but "posting" helps me understand and appreciate more and more what PGCEdit is doing.
r0lZ
12th January 2010, 15:37
Well, I will not incorporate the Clear Set Commands in Jump2PGC for a simple reason. Many users do not want to modify the commands before having fully analysed and understood the DVD. Personally, I use the cleanup usually before any edits, because I believe it works well, but other users prefer to leave the DVD as unchanged as possible. Anyway, it is easy enough to launch the cleanup manually.
For the order of operations, you're might be right, but since v9.3 introduces some new cleanup options, I'm pretty sure the order is now right. BTW, here are the operations:
Delete Dead Commands
Delete Dead Buttons and BOVs
Delete Unreferenced Cell Commands
Delete Uncalled Titlesets
Clear Useless Set Commands
Clear Jumps to Void PGCs
Remove Useless Menu VOB files
Delete Uncalled PGCs
Delete All NOPs
Note: "Dead" commands are the commands that cannot be executed due to Jumps or GoTos. For example, a command after a unconditional jump and that is not the target of a Goto cannot be executed, and is deleted. A GoTo to the next line (or to the first line after some NOPs) is useless (although not technically dead) and is also deleted. (Note also that these commands are highlighted in purple in the editor pane.)
I agree that Clear Jumps to Void PGCs could be before Delete Uncalled Titlesets, or Delete Uncalled PGCs before Clear Useless Set Commands, but IMO the most important thing is to get rid of as many PGCs as possible, to regain the disc space occupied by their cells. This is why that function must be at the end of the process. (It is followed by Delete NOPs because that operation doesn't change the navigation at all.) Also, when I have decided to adopt that order, I had the speed of the overall process in mind. It is for example important to delete the uncalled titlesets (because, for example, you might have modified the nav to skip a game, usually full of PGCs with many commands), before doing some of the next operations, particularly slow when there are many PGCs and commands.
Anyway, as I said, it is sometimes necessary to apply the cleanup twice to get rid of all useless stuff. Don't worry; the second time, it is usually faster, as there is already less stuff to process.
mikenadia
14th January 2010, 15:42
1) one dummy PGC 10 with only one command (pre or post) such as Link PGC 9 and calling commands that are buttons with Link PGC 10 in the same VTSM. Can I just change the button to Link PGC 9 to have PGC 10 uncalled? PGCedit let me do it manually and navigation seems fine.
2) in PGC 10 I have as a pre-command: "if gprm(9)>50 Link PGC 10"
( probably never executed because it is a loop). Should I delete it or keep it as a safeguard?
3) in the menu that was selected for " PGC upon insert" i have two cells commands such as
LinkTopPG and then set ;LinkTailPGC
It is my understanding that the second cell command will never be executed (at least using the Trace, I was not able to have it executed: The LinkTopPG is always executed until I select a Button in that menu (as expected)). Could I just delete it?
Thanks in advance.
kikatu
15th January 2010, 00:25
1- If PGC-9 is a dummy-PGC also and only called by PGC-10 simply copy the commands from 9 and paste to 10, PGC-9 will be uncalled. Yes it can be done also as you mentioned.
2- If that's the only Pre-Command seems it can be deleted safely, but if there are "Goto line" & "Set gprm" prior to the "if gprm(9)>50 Link PGC 10" it may be used, if this is the case please post all the pre-commands.
3- In the Trace did you used the skip function to see if it's executed? Also click the VTSM-PCG to see if it's used, e.g. http://i47.tinypic.com/vy723m.png
Cheers!
r0lZ
15th January 2010, 14:42
I agree with kikatu, but for point 2, I would like to add that this kind of backward loop might be used to launch another command. For example, a command might check if gprm 9 is 50 and when it's the case it jumps to another PGC. After that command, you might have a command that increment the value of gprm 9, and finally the conditional backward loop. After having incremented the gprm and looped back some times, the first command will be executed.
Anyway, when you ask something like this, please post all commands of the PGC, as kikatu has suggested.
Also, for point 3, the cell command can perhaps be executed when you press the Next Chapter button during the playback of the cell that is just before the one with the cell command.
mikenadia
15th January 2010, 15:32
Thank you, kikatu and r0lZ.
I edited my post saying that this was the first pre-command. Actually, it is the same PGC as post #135 in this thread.
Commands for PGC 7.[20 D4 00 09 00 32 00 07] 1 if ( gprm(9) > 50 ) then { LinkPGCN PGC 7 }
[00 D1 00 09 00 28 00 56] 2 if ( gprm(9) > 40 ) then { Goto line 86 }
[00 D1 00 09 00 1E 00 42] 3 if ( gprm(9) > 30 ) then { Goto line 66 }
[00 D1 00 09 00 14 00 2E] 4 if ( gprm(9) > 20 ) then { Goto line 46 }
[00 D1 00 09 00 0A 00 1A] 5 if ( gprm(9) > 10 ) then { Goto line 26 }
[00 B1 00 09 00 01 00 08] 6 if ( gprm(9) != 1 ) then { Goto line 8 }
[30 02 00 00 00 01 00 00] 7 (JumpTT) Jump to Title 1
[00 B1 00 09 00 02 00 0A] 8 if ( gprm(9) != 2 ) then { Goto line 10 }
[30 02 00 00 00 02 00 00] 9 (JumpTT) Jump to Title 2
[00 B1 00 09 00 03 00 0C] 10 if ( gprm(9) != 3 ) then { Goto line 12 }
[30 02 00 00 00 03 00 00] 11 (JumpTT) Jump to Title 3
[00 B1 00 09 00 31 00 68] 102 if ( gprm(9) != 49 ) then { Goto line 104 }
[00 00 00 00 00 00 00 00] 103 NOP
[00 B1 00 09 00 32 00 6A] 104 if ( gprm(9) != 50 ) then { Goto line 106 }
[00 00 00 00 00 00 00 00] 105 NOP
[20 04 00 00 00 00 00 03] 106 LinkPGCN PGC 3
BTW, this is the same PGC where I had numerous " Jump to Nowhere".
r0lZ, I followed your advice (as usual) and used the "Jump to FP-PGC" (post #117).
In another movie with a similar PGC
Commands for PGC 3
[20 D4 00 09 00 63 00 04] 1 if ( gprm(9) > 99 ) then { LinkPGCN PGC 4 }
[00 D1 00 09 00 1E 00 44] 2 if ( gprm(9) > 30 ) then { Goto line 68 }
[00 D1 00 09 00 19 00 3A] 3 if ( gprm(9) > 25 ) then { Goto line 58 }
[00 B1 00 09 00 2A 00 5C] 90 if ( gprm(9) != 42 ) then { Goto line 92 }
[30 02 00 00 00 23 00 00] 91 (JumpTT) Jump to Title 35
[30 06 00 00 00 00 00 00] 92 (JumpSS) Jump to First Play PGC
I was wondering if there was a need to cap gprm(9) because if line 1 did not exist gprm(9)=100 would have led to line 92. Or is it the authoring software that there are using. Nothing special in PGC 4.
r0lZ
15th January 2010, 15:43
And this is PGC 7? Strange, as indeed, if per chance gprm(9) > 50 when entering that PGC, an endless loop will begin. Usually, this kind of check jumps to another PGC, with the actions to take when the gprm value is out of range. If that PGC exists, you should modify the command to link to it. Otherwise, it is better to delete line 1.
mikenadia
15th January 2010, 16:01
Confirmed that it was PGC 7 for the first movie (that initiated post #147). All " THE OC Season 1" series, unless my ripping software did the mistake.
The second movie was done properly (at least regarding line 1).What do you mean by "out of range" ? Because in the first movie, if line 1 is deleted , it will have gone to line 106 (before renumbering).
Could it mean that in some other PGC, gprm(9) is multiplied or whatever and they have to make sure that it is below 99 ?
Thanks for all your explanations.
r0lZ
15th January 2010, 16:21
I can't explain more, as I don't know the exact usage of gprm 9, but apparently it is assigned a specific value in the VTSs, and when the nav returns to the VMGM, that value is used to jump to the right PGC and play the right video.
In PGC 3, line 1 seems normal. That PGC handles the cases where the value of GPRM 9 is less than 100, and when it's not the case, the nav is redirected to PGC 4, where (I suppose) they handle the values >= 100.
I used "out of range" for the cases of values not handled by the current PGC. In the case of PGC 7, it's all values > 50.
I agree that simply deleting the first line might not be the better solution, as when gprm 9 > 50, the nav will find its way to the first jump not skipped by a conditional goto, and perhaps play something it should not play at that point. But anyway it's better than entering an infinite loop. As I said, it might be preferable to fix the target PGC, if you can figure out which PGC should be called. But don't worry too much. PGC 7 is probably never called with an "out of range" value greater than 50 (otherwise the authors should have discovered the bug), so the solution of deleting line 1 is probably safe.
blutach
15th January 2010, 21:22
I've seen it a bit. Delete the command as it is never executed and will be an endless loop if you author the DVD so that gprm(9) is > 50. At the end of the series of commands, as a "safeguard", insert a Jump to FP-PGC. In version 9.3, you will easily be able to check if gpm(9) is ever greater than 50 (using the summary tab of Info --> GPRMS).
Regards
mikenadia
15th January 2010, 22:30
Thanks, blutach.
Originally posted by rOlZ.
If the FP-PGC is never accessed from elsewhere, you can also apply
PGC -> Reset Used GPRMs to 0 on the FP-PGC.
This will assure that the navigation state is as much as possible close to
the state it should be at startup.
In your "safeguard", I combined your idea with the one from rOlZ and reset used GPRM before "Jump to FP-PGC", without modifying FP-PGC.
On an unrelated note, I realized that DVD-Shrink (in the "backup" procedure) is deleting gprm labels (at least "Jump2PGC_control) .
I know I can reinstate them with PGCEdit after but is it a good idea to put the IFO "Read-only" before DVD-Shrink. What about VOBBlanker?
Thanks in advance.
r0lZ
15th January 2010, 23:17
DVDShrink makes a copy of the DVD. The GPRM labels are stored in the backup folder created by PgcEdit. Of course, in the copy, the backup is not recreated, but you can open the new DVD in PgcEdit to create a new backup folder, and copy the file with the gprm labels from the old backup to the new one. You have to reopen the DVD to force PgcEdit to load the file.
You can also import the old labels in the new DVD via the File menu.
mikenadia
16th January 2010, 01:45
Thank you, rOlZ.
I should have read the release notes from 7.4 to 8.0:)
Originally posted by blutach.
In version 9.3, you will easily be able to check if gpm(9)
is ever greater than 50
(using the summary tab of Info --> GPRMS).
Getting all my attention and still dreaming:). Could it mean that PGCEdit may be able to declare Line 3 in this code as "unused" or "unnecessary" (probably always false: I do not understand too well Line 2:confused:). This code does not come from bad authoring but is the result of "Remove Parental management"?
[71 00 00 00 00 0F 00 00] 1 Set gprm(0) =(mov) 15
[79 00 00 00 00 0F 00 00] 2 Set gprm(0) &=(and) 15 (preserve bits 0-3)
[20 F4 00 00 00 03 00 05] 3 if ( gprm(0) < 3 ) then { LinkPGCN PGC 5 }
[30 06 00 08 00 C0 00 00] 4 (JumpSS) Jump to VMGM PGC 8
And it is probably the only situation when that kind of check might be useful!
r0lZ
16th January 2010, 02:52
No. The code that removes the dead commands checks only the unconditional gotos and jumps, and it removes the lines that cannot be reached. During the cleanup, PgcEdit doesn't analyse the code itself, it ignores the GPRM and SPRM values, and it doesn't try to evaluate the expressions and conditions, and therefore the condition of line 3 can theoretically be true, and thus the line cannot be removed. (BTW, note that line 2 is unnecessary too, and probably line 1 if gprm 0 is used everywhere to store temp values.)
Implementing what you suggest would require some kind of modified trace to analyse if a condition can be true given all possible values of every GPRM and SPRM used in the PGC. In this case, the 4 lines should be executed with gprm 0 = 0 at the beginning, then with gprm 0 = 1, etc... up to gprm 0 = 65535. Then, PgcEdit could know for sure that the condition cannot be true, and remove the line. It's extremely difficult to do, and too slow. Furthermore, removing unnecessary commands is useful to understand more easily the navigation, but other than that, there is no real benefit, so I will probably never do it. Sorry! :(
mikenadia
16th January 2010, 14:00
I do not want to start a lengthy discussion on this but only one last comment for "understanding" purposes only.Depending on the PGC, gprm may be determined ( in a deterministic sense: no RND) locally (meaning regardless of the values of gprm and sprm before the execution of the first pre-command) or not. In this case, line 1 means gprm(0)=15 (always? : I am not a programmer). Till line3 , gprm(0) is still determinic locally and Line 3 is always wrong. No iteration.
I was not thinking of " if gprm(0)<gprm(9)" kind of statements.
r0lZ
16th January 2010, 14:18
Yes, your analyse is right, but although this seems simple for the human spirit, it's not the same thing with programming. For example, the program must analyse command 2 to be sure that it doesn't change the value of the gprm. (That's not obvious per se: that command performs a computation, so the value is theoretically subject to change.) Finally, it must analyse the third command to discover that the condition is always false. And this is a simplistic case, with only 2 commands to analyse. In more complex PGCs, with a lot of commands, several gprms involved, conditional GoTos, etc..., the analyse becomes almost impossible. I can't limit the scope of a function to only some simple and predefined situations, so writing such a function would require almost as many time as that was needed for the Trace (one year or so) . As I said, the benefit is not major, and I will not do it.
IVaN_000
17th January 2010, 21:12
Can you estimate a release date of v9.3?
r0lZ
17th January 2010, 21:37
Not really. I'm not working on PgcEdit right now, but that should change soon. I hope I'll be able to release v9.3 in one month or so.
mikenadia
19th January 2010, 03:19
I feel stupid to ask that question but I cannot figure it out.
I am trying to create a RSM command.
In one DVD, no problem. In the other one, the command is greyed out. Doing exactly the same thing.Really :confused:
I create a NOP command, right-click on 'Edit command"-then "Alphabetically" (RSM is greyed out). I do not think it matters but the first DVD came originally with a RSM command and the second one did not have any in the original (but I would like to add one).
Thanks in advance.
blutach
19th January 2010, 10:10
RSM can only be used in certain domains. It is probably greyed out because you are trying to use it in the titles omain. Use it in a menu PGC.
Regards
r0lZ
19th January 2010, 14:26
Yes, greyed out commands are illegal in that particular area. RSM is made to resume to the last visited title (in a VTST domain) from a menu (VTSM or VMGM domains), and therefore RSM cannot be used in VTST domains (as it doesn't make sense to resume where you are) and in the FP-PGC.
When you create a new Goto command, it jumps by default to line 3. This is totally arbitrary. But when you edit, duplicate or copy it, the default offset is usually left unchanged.
A new plugin, written by M_Knox, will be available soon. With that plugin, you'll be able to select any Goto, then Alt-Click its target line, and the Goto will be automatically updated. (Same thing for the Jumps, Calls and LinkPGCNs when you Alt-Click the target PGC.) In the meantime, use the Incr and Decr GOTO buttons, or simply edit the command the usual way.
AlienX69
28th February 2010, 21:19
First, hello r0lZ and Les (blu), been a while !!
I'm thinking about upgrading one of my workstations to Windiows 7 and was wondering if PE 9.2 has any known issues running on Win7.
Just an FYI, on one other workstations I had to update a video driver cuz the with wife was working with Photoshop (CS4) and it keep crashing. After googling the error, most said to update the video driver. I found the latest driver, installed it, seemed to correct the Photoshop crashing, only been a day. But another problem occurred, the preview window in PE stopped displaying video, audio worked fine, just a blank screen for the video. So I reverted back to the older driver and sure enough the preview window started working properly again. Not sure what to do there.
The video card is XFX/NVidia GeForce 8400 GS:
New driver: 196.21
Old driver: 177.79
Regards,
AX
r0lZ
1st March 2010, 00:15
Hi Alien!
As far as I know, PgcEdit works fine under Win7 (and Vista, as long as you can boot it! ;-)
I have a partition with Win7 and I have tried PgcEdit several times. I have never noticed any problem, but I must confess that I haven't tested it much, as currently, I still prefer to work under XP. Anyway, if you find a problem, you know where you can report it.
There might be some minor problems, for example if you try to launch a tool from PgcEdit that needs to be run with administrator rights, but the main PgcEdit functions should work as expected.
The preview works fine too, with my nVidia 9600 GT . Anyway, in case of problem with the preview, you can disable the DirectDraw overlays. The picture quality is less good (rough scaling, no antialiasing), but it works fine with almost all hardware and software configurations. And AFAIK, the version of the driver doesn't matter much.
Plutox
3rd March 2010, 21:49
As far as I know, PgcEdit works fine under Win7....
The preview works fine too, with my nVidia 9600 GT
Do I take it that you were unable to reproduce my problem of preview not working automatically, but needing Ctrl-P to get it started? As I said, after being kick-started, it is absolutely fine so it doesn't seem to be a video or driver issue.
I've cross-checked this on my Win7 laptop (different video system, everything else more or less different except the core Win7), identical results. What could possibly stop "automatically start preview playback" from working under Win7? Thanks.
r0lZ
3rd March 2010, 23:07
Oops, I forgot to reply to your question.
Yes, the preview works fine under Win7, with the audio and the DirectDraw overlays.
But there might be some confusion. The option "Automatically Start Preview Playback" is not used to open the preview automatically when you click on a PGC in the left pane, but to run it as soon as the Preview window is opened. When this option is off, you have to click the Play button in the Preview window, as it stays in Pause mode by default.
To open the preview window automatically from the main PgcEdit window, you have to tick another option: the little checkbox between the "PGC" button and the little play arrow in the top left corner of the main PgcEdit window.
In Trace mode, there is a similar checkbox with also a play arrow to the right of the Trace menu. (It's a shortcut to the option Trace Menu -> Setup -> Preview Options -> Show Played Cells In Preview.) Use it to display the visited cells during the trace.
Please let me know if you have still a problem...
Plutox
10th March 2010, 00:20
Oops, I forgot to reply to your question.
Yes, the preview works fine under Win7, with the audio and the DirectDraw overlays...
But there might be some confusion...
To open the preview window automatically from the main PgcEdit window, you have to tick another option: the little checkbox between the "PGC" button and the little play arrow in the top left corner of the main PgcEdit window.
In Trace mode, there is a similar checkbox with also a play arrow to the right of the Trace menu. (It's a shortcut to the option Trace Menu -> Setup -> Preview Options -> Show Played Cells In Preview.) Use it to display the visited cells during the trace
Yup, you're absolutely right. :thanks:
Robotik
10th March 2010, 23:38
hi,
i know it has been discussed before, but i just couldn't seem to find the post.
i want the dvd to jump right to the movie upon insertion, then when it is over to go back to the main menu.
i remember that there is a tool in trace that helps me do that, but i couldn't find it.
can someone help me out with this?
thanks,
robotik
r0lZ
11th March 2010, 09:34
Use PGC -> Jump to PGC Upon DVD Insert.
Robotik
11th March 2010, 11:22
wow that was easy :)
thank you
kikatu
13th March 2010, 03:58
Hi, I rarely seem to have an issue where the option to auto re-number GOTO commands becomes unchecked, noticing while editing, it works again until enabled without restarting PgcEdit. I thought it could be corruption on the Application Data Folder, but it's the only option affected. o.0
Notes: sometimes I run multiple intances of PgcEdit.
OS: WinXP SP3
r0lZ
13th March 2010, 09:15
I don't understand exactly the problem. Do you mean that the renumber GOTOs option changes from session to session? I have to change temporarily that option to easily automate some tasks, but it should be restored automatically to its original value as soon as possible.
Note also that, if you want to be sure that the options saved on disc never change, you can turn the "Save Settings On Exit" option off, and use "Save Settings Now" manually when needed.
kikatu
13th March 2010, 19:07
Do you mean that the renumber GOTOs option changes from session to session?.Yes it does changes, but I cannot confirm it only happens session to session. Probably it does, I use your program too much. :D
Note also that, if you want to be sure that the options saved on disc never change, you can turn the "Save Settings On Exit" option off, and use "Save Settings Now" manually when needed.I will disable "Save Settings On Exit", it makes sense now.
Cheers!
r0lZ
22nd March 2010, 20:15
PgcEdit v9.3 has been released today.
Please post your comments and questions about v9.3 in this thread (http://forum.doom9.org/showthread.php?p=1385133). Thanks!
vBulletin® v3.8.11, Copyright ©2000-2026, vBulletin Solutions Inc.