View Full Version : PgcEdit v0.3.


r0lZ
17th July 2004, 22:32
[EDIT: PgcEdit v7.0 has been released. See this thread (http://forum.doom9.org/showthread.php?t=110310).]


Hi everybody.

PgcEdit v0.3 is released.

The changes are mainly the addition of high level macros, for rookie users.

And, of course, some other new features and enhancements. See the version history (http://home.tiscali.be/debie.roland/pgcedit/HISTORY.txt)...

Download PgcEdit here (http://home.tiscali.be/debie.roland/pgcedit/index.html).


The current PgcEdit version is discussed here: PgcEdit 0.5 (http://forum.doom9.org/showthread.php?s=&threadid=90960)

Old PgcEdit discussion threads: PgcEdit 0.5.0 beta (http://forum.doom9.org/showthread.php?s=&threadid=89918).
PgcEdit 0.4 (http://forum.doom9.org/showthread.php?s=&threadid=85329).
PgcEdit 0.3 (http://forum.doom9.org/showthread.php?s=&threadid=79853).
PgcEdit 0.2 (http://forum.doom9.org/showthread.php?s=&threadid=78618).
PgcEdit 0.1 (http://forum.doom9.org/showthread.php?s=&threadid=77980).

burnout
18th July 2004, 12:15
thanx again for the latest release and adding all the new features, gonna go have a play with it later :)

ffroms
19th July 2004, 16:50
Great!!! Now I have something to play with. Thanks!!

FFS

jorel
19th July 2004, 18:13
thanks for the new version r0lZ. :)
can you do a guide with pictures(like the japanese guide)for "simple mortals" ? it's hard for "us"(simple mortals) to start. :o

r0lZ
20th July 2004, 01:24
can you do a guide with pictures(like the japanese guide)for "simple mortals" ? it's hard for "us"(simple mortals) to start. Don't have many time to do this kind of things. Programming PgcEdit enhancements take me about 12 hours a day. And my english is too bad. :sly:

Maybe in the future...

Actually, there are two PDF translations of the interface in german on my site, and a guide in japanese. Maybe some people speaking good english could write a guide or two...

motster
20th July 2004, 18:34
I get this error on Open DVD:

can't read "errorInfo": no such variable
can't read "errorInfo": no such variable
while executing
"puts $errorInfo"
(procedure "errmsg" line 5)
invoked from within
"errmsg $err "Error creating backup" $errtxt"
(procedure "Create_Backup" line 24)
invoked from within
"Create_Backup true"
(procedure "::main::Read_New_DVD" line 29)
invoked from within
"::main::Read_New_DVD"
(menu invoke)

Using the precompiled EXE, on both real and Daemon mounted discs. I'm in terminal services on Win2003.

Thoughts?

r0lZ
20th July 2004, 20:42
Oops! Yes, it's a bug.

It's due to an 'enhancement' I have made to the new version! :(
This problem occur when you are reading a DVD from a read-only media, and PgcEdit is trying to create a backup.

Solutions:[list=1]
Open PgcEdit without loading a DVD, then uncheck the "Create Backup when a DVD is opened for the first time" option, and be sure to save the setups.
Or copy/rip your DVD files on HD.
Or use the old version 0.2.1. :mad:
Or wait for the new version 0.3.1. I will post a message in this thread when the new version will be available. Should be verry soon... :)
[/list=1]

Thanks for this bug report, motster.

motster
20th July 2004, 21:41
Sure thing..

That said, what a nice app! Seems like it can do so much of what DVDRemake Pro can do (maybe more!). I'll play with it more and provide feedback.

Not too often you see Tcl/Tk in an app like this :-) I'm a big fan of FreePascal/Lazarus for cross platform apps like this, if you ever look for a Tcl/Tk alternative :-)

r0lZ
20th July 2004, 21:50
PgcEdit v0.3.1 is released.

There are only two bug fixes in this release... One is verry ennoying (see the 3 previous posts), so I released this fix as soon as possible.

Download PgcEdit (http://home.tiscali.be/debie.roland/pgcedit/index.html)

Note to peoples that have experienced the backup bug: when you restart PgcEdit (any version), you may have a message saying that the Command Editor window has an invalid geometry specifier. Don't worry: just exit PgcEdit and reopen it. Should fix this little problem.

r0lZ
20th July 2004, 22:19
Note on Tcl/Tk choice. I originally decided to use Tcl/Tk for his facility to build complex GUIs.

At this time, my plans were to be able to generate an hex dump of any VM command (something like the HTML command generator of DVD-Replica). The Command Editor was the result. But it was impossible to paste the generated commands in IfoEdit: for unknown reasons, IfoEdit missed some characters, and crashed regularly. So I continued to develop the app, writing the IFO parser, and the main window.

And a day, I realized that, with some little cleanup and additions, it was possible to release it for the public. PgcEdit was born.

And now, the enthusiasm of the users is forcing me to continue... still in Tcl/Tk.

But Tcl/Tk has also disadvantages: I will probably never be able to parse/edit/preview VOB files. :(

motster
20th July 2004, 22:26
It works, can't ask for much more than that! :-) Viewing vobs would be quite nice, maybe you can use a facility like vobblanker, where it appears to call an external exe that is I guess dvd2avi? That would be cool too...

ffroms
21st July 2004, 09:13
A little request if it's not too much trouble. Is it possible to make option of "playback"? Under "playback" I don't think about real playback of VOB's but playback of PGC commands. I was think something like slow motion where every command line would be highlighted. This way we could track down where DVD playback goes from Play First to menu. Also it would be nice to show GPReg values.

FFS

r0lZ
21st July 2004, 11:36
Hi ffroms!

Yes, it is possible. I am working on a "Trace" fonction since two days (and two nights ;)).

This function will allow to single step in the code, watching the GPRMs and SPRMs changes...
Of course, this will be somewhat limitted: You will not actually see the video, it will not be possible to select a menu button (you will have to simulate the button command manually and set the new HL_BTNN value accordingly), the SetNVTMR and SetGPRMMD (in counter mode) commands will not work as expected, etc...

But since it is apparently not possible to trace the commands and accurately watch the GPRMs and SPRMs in a real DirectX based player, I think the PgcEdit trace will be a good alternative.

However, it's a big work: I must simulate all commands, and take into account the (virtual) player configuration, the PGC parameters (like cell commands and still time, PUOs and Next/Prev/GoUpPGC), the user's interactions...
So, don't expect this new feature too quickly.

ffroms
21st July 2004, 13:48
That is great to know!!! I wouldn't ask for but I have DVD that starts with movie and I want it to start with DVDMenu and that's hard to do if there is many different commands. So, I'll be patient and wait for that. Just keep up with this great program !!

r0lZ
21st July 2004, 14:22
BTW, I have also planned a function to copy the current configuration at any point in the trace, and generate a new VMGM PGC with commands to recreate the same configuration (GPRMs and writable SPRMs), and jump to that point. And, of course, the function will allow to add a jump to this new PGC directly from the FP-PGC.

So, you will have only to step through the commands until you are at the point you want the playback to begin, then select the function and save the DVD...

ffroms
21st July 2004, 14:43
I mean... I... can't... breath. Your program is my dream come true. Now I'm gona check forum every 30 minutes just to see if there is new version. Can't wait!!!!!

FFS

motster
21st July 2004, 14:55
Originally posted by r0lZ
BTW, I have also planned a function to copy the current configuration at any point in the trace, and generate a new VMGM PGC with commands to recreate the same configuration (GPRMs and writable SPRMs), and jump to that point. And, of course, the function will allow to add a jump to this new PGC directly from the FP-PGC.

So, you will have only to step through the commands until you are at the point you want the playback to begin, then select the function and save the DVD...

That is FREAKING cool!

Small request, maybe I'm missing this, but is it possible to show the size of the titles next to their names (like DVDRemake does)...sometimes it makes it easier to "visualize" which ones I want to work with.

Also, is there a PGCEdit equivalent of an Ifoedit "mock strip"?

r0lZ
21st July 2004, 16:55
Small request, maybe I'm missing this, but is it possible to show the size of the titles next to their names (like DVDRemake does)...sometimes it makes it easier to "visualize" which ones I want to work with.
Well, it's possible, but IMHO the width of the left pane will grow too much. Maybe I'll add this info in the PGC label above the main window, or in tooltips...

Also, is there a PGCEdit equivalent of an Ifoedit "mock strip"?
No, I can't parse the VOBs at this time, and therefore can't regenerate the VOB pointers. Sorry.

sweetness
21st July 2004, 19:21
i have one request too. can PGCEdit have an option to call on Ifoedit. users would have to point to the path and you might have to do a Get VTS sectors for ifoedit to open all the ifo's.then people can toggle between the two and use some of ifoedit's features and PGCEdit one's.

r0lZ
21st July 2004, 19:38
It is possible to put IfoEdit in the Tools menu, and obtain what you want. If you set the options to save the DVD before calling IfoEdit, and to reload it after, you can actually use IfoEdit as a function of PgcEdit. And there should be no VTS Sectors problems.

Have you tried that?

sweetness
21st July 2004, 19:43
no.i'll try it when i get home to night.

SurfDrifter
26th July 2004, 22:36
Just discovered this program and seems very good. I just scanned fast the 3 threads, seeking for the question I'm going to make, so if it already asked, please forgive me.

So, I was wondering if it possible to delete a PGC completly from an .IFO. I;m asking this because I want to do this.

I create a DVD with DVDMaestro with a movie that has it's own time line with audio and subs. Then I create 1 or more playlist because I want to strip out the initial & end credits or some chapters.

Anyway, it doesn't actually matter, what i do exactly, but in my final project I won't ever use the first PGC and i don't won't anyone to be able to access it.

Is this possible?

r0lZ
27th July 2004, 00:35
For now, no. Sorry.

Deleting a PGC is not verry simple: I have to check all reeferences to the PGC and delete/change them, or at least warn the user.
But things are worse with the following PGCs: all references to thoses PGCs should be modified to point to the new PGCs numbers!
And imagine what is happening if the user delete the last PGC of the titleset...

You may try to use the 'New DVD' feature of PgcEdit, and then append the titles and menus you want to keep. This may require a little manual work, but it is possible.
NOTE: there is a big bug in the 'New DVD' function in v0.3.1 (standalone executable only). If you want to try the 'New DVD' function, use this beta (http://home.tiscali.be/debie.roland/pgcedit/beta/pgcedit_0.3.2beta2.exe) instead.

And you may also blank out the titleset you want to remove. There are many utilities to do that, including PgcEdit...

And the subsidiary question: why don't you regenerate your DVD from a final, clean DVDMaestro project? :confused:

Zenak
27th July 2004, 06:09
Hi there.

First let me say this program is wonderful. I find myself using IFO Edit less because of the power inside of it.

My question is this: I had been adding DVD text via the following method: http://posunplugged.com/How_To_Guides/txt_data_sec1.html

I have tried on two separate DVD's with PGCedit to add DVD text and failed. The part that is strange to me is that the VIDEO_TS.IFO and BUP files look correct, and IFOEdit does display the DVD Text. However, my Kenwood DVD changer will not pick up on PGC Edit modified or added text. It does pick up text I add manually using the method in the link.

Is there something more I should be doing?

SurfDrifter
27th July 2004, 08:10
Originally posted by r0lZ
And the subsidiary question: why don't you regenerate your DVD from a final, clean DVDMaestro project? :confused:

OK, I'll explain why... I asked the question about deleting a PGC from the IFO, because in this way, it will save me a lot of manual work.

I have a lot of DVD's that I rip and only keep the video, the audio, the chapter file and english subs, if exist.
I create new menus from scratch, add greek subtitles and then author on DVDMaestro. So, it's a clean DVDMaestro project. Now, here's the catch for me. Most of the times, i want to strip the first 5-6 seconds of the MPEG video. There are numerous ways to do this, even in DVDMaestro's trimming function, which is the fastest, it will require to move all the chapters, cut the beginning of the audio and move the subtitles to reflect the changes done.

Now, instead of doing this and every time make calculations of how much should I move an asset, i author in this way: I place the original the video and audio in the timeline and load the chapter file and subtitles file and everything is synchronized without any need in checking this. Now i strip the 5-6 seconds of the beginning and/or the end by this way, WITHOUT having to mess with chapters, subtitles, audio, etc.

I create a chapter at the point were i actually want to have my movie to start. Now a create a playlist/PGC that contains all the chapters from the one that I created and after, thus leaving 5-6 seconds out.

If you compile the project in this way you'll have in your VTS, 2 pgcs.

The first PGC will have the full movie including the things i want to strip out (which the user never has access to it) and
The second PGC will be the one that i actually want and even the starting time will be at 00:00:00:00.

So, it's very easy in this way, to "edit" a film, without even creating a new file.

The only drawback in this way, is that the first PGC can be accessed if someone goes with his/her remote and choose a specific title to play and not navigate through menus.

Anyway, I'll try to blank out the first PGC to see what happens.

Oh, and also i was refering as "deleting the PGC", to delete it from the IFO and actually remove the video, audio assets from the VOB.

Thank you for the quick reply!

r0lZ
27th July 2004, 10:02
@SurfDrifter
OK. I understand.

You may find usefull too the ability to remap a VOB/Cell ID in PgcEdit's PGC editor window.

If you have a VOB/Cell ID with only a black frame in your video, then you may actually use it instead of your first chapter (the one you want to strip).
If you don't have such a short black frame chapter, you may add one with AddChapter.
Then, go to the PGC editor, note the VOB/Cell ID of this short chapter, and click on the VOB/Cell ID button of the chapter you want to strip. In the dialog, set the VOB ID and Cell ID to be the same as the added black frame.
You will still have a dummy chapter one, though...

r0lZ
27th July 2004, 10:15
@Zenak
DVD-Text is working for me (on my Sony player).
But I must admit that it may be not verry standard compliant, because I can't find a complete documentation on DVD-Text around.

I will try to find out what are the differences between my implantation and the guide one. Maybe I will learn how to do that correctly...

BTW, have you used lower-case characters? Or a too long string for your player? Some have limitations: my Sony allow upto 20 upper-case characters to be entered with the remote (remembered by the player), but can display 30 mixed-case characters from the IFO.

r0lZ
27th July 2004, 17:12
@Zenak

Well, I have analysed the file of POSUNPLUGGED.COM.
It seems it is setting the Volume Movie Name and the Title Movie Name.
In PgcEdit, I set the Volume General Name.
Your player understand apparently only the Volume Movie Name.
I will try to change the function to set also the Volume and Title Movie Names...


Note: There is a big bug in the "text_donor.txt" file provided by POSUNPLUGGED.COM: the byte 15 (at address 0x0000000f) must be the number of Language Units in the TEXT-DATA sector. However, this byte is overwritted by the last character of his company name (POSUNPLUGGED.COM), giving an incredibly high number of LUs! This is why IfoEdit crash if you try to expand the VMG_TXTDT_MG section.
You may correct this problem with hexedit: change the last four hex bytes of the first line to be:
00000000 | 50 4F 53 55 4E 50 4C 55 47 47 45 44 00 00 00 01 | POSUNPLUGGED....
^^ ^^ ^^ ^^
instead of
00000000 | 50 4F 53 55 4E 50 4C 55 47 47 45 44 2E 43 4F 4D | POSUNPLUGGED.COM

Zenak
27th July 2004, 18:45
Thanks for the quick reply. I'm glad that it isn't something I have done wrong at least.

I made the change you suggested to the hex file, and will continue to use that method.

In partial response to your other question my player doesn't care if it gets upper or lower case using the manual way, but I will try all upper case inside PGC edit. Also, if I type in the name manually I only get 16 spaces, but if it pulls the name from the DVD it will pull many more. Some of my storebought DVD's have almost 30 characters and they all display fine.

r0lZ
27th July 2004, 21:53
Yes, I don't know what is the exact limit on the number of characters allowed in DVD-TEXT data. My player is able to display 30 characters.

Note that trying to type only upper case characters in PgcEdit will not help. The problem is that your player needs the DVD Movie Name, not the DVD General Name.

I have just finished the modification of the "Set DVD-TEXT General Name" routine of PgcEdit. Now, the DVD General Name and the DVD Movie Name are both set (or changed, if they already exists). And the routine is able to recognize the DVD-TEXT sector made by POSUNPLUGGED, and hopefully all other situations.

This should be what you wanted :)

The new version is almost ready. I will post it soon (maybe today, around midnight)...

r0lZ
27th July 2004, 22:33
PgcEdit v 0.3.2 released.

This is mainly a bugfix release, but there are some new functions and improvements, too. See the version history (http://home.tiscali.be/debie.roland/pgcedit/HISTORY.txt).

Download PgcEdit v 0.3.2 (http://home.tiscali.be/debie.roland/pgcedit/index.html).

Zenak
27th July 2004, 23:50
talk about fast response!

It works like a dream, thanks again!

burnout
28th July 2004, 06:35
as always just saying thanx for the time, keep up the good work :cool:

2COOL
28th July 2004, 08:28
@r0lZ

It seems you left us with the option to enter values of 256 and over on still times for each cell. I'm referring to the bottom section. The working range should be 0 to 255, with 255 as referred to as infinite play.

Why can't use my Ctrl button when selecting commands? My Shift button works.

Just wanted to point some stuff out during my playing with your wonderful program. Keep up the great work! ;)

2COOL
28th July 2004, 08:31
*removed

r0lZ
28th July 2004, 09:32
@2COOL

It seems you left us with the option to enter values of 256 and over on still times for each cell. I'm referring to the bottom section. The working range should be 0 to 255, with 255 as referred to as infinite play.Oops! It's a bug...
Furthermore, this field let you enter any text, which generate an error if you then press OK.
Same is true for the Cell Command field.
I have fixed thoses bugs. I will not release a new version just for that, though...


Why can't use my Ctrl button when selecting commands? My Shift button works.Because PgcEdit doesn't support to select multiple lines with unselected lines inside of them... this is too difficult to do in an efficient way. Sorry.


BTW, thanks to you for your verry usefull guides. Without them, I probably never decided to write PgcEdit...

2COOL
29th July 2004, 00:22
Originally posted by r0lZ
Oops! It's a bug...
Furthermore, this field let you enter any text, which generate an error if you then press OK.
Same is true for the Cell Command field.
I have fixed thoses bugs. I will not release a new version just for that, though...Glad to help out. ;)

Because PgcEdit doesn't support to select multiple lines with unselected lines inside of them... this is too difficult to do in an efficient way. Sorry.No problem.

BTW, thanks to you for your verry usefull guides. Without them, I probably never decided to write PgcEdit... Really? It was intention to inspire people who know how to program to hopefully automate some guides. I can see PgcEdit progress into higher levels. Nice work!

*UPDATE: I thought I was using v0.3.2 but was on v0.3.1. This "bug" described below was fixed in the newer version.

By the way, I did find another bug. I was working on Star Wars The Phantom Menace Ep 1 (region 1). When I single clicked on pre command 1 in VMGM / LU 1 (en)/18, it just flashes RED.
(JumpTT) Jump to Title 16

It doesn't highlight my VTST 1 / TTN2 (Title 16) in PGC Selector window.

With further testing, if I also single clicked on Pre Command 2 in VMGM / LU 1 (en)/27...
if gprm(12) == gprm(0) then { (JumpTT) Jump to Title 17 }
... it wrongly highlights VTST 6 / TTN 1 (Title 1) in PGC Selector window instead of my true target, VTST 7 / TTN 1 (Title 17).

Commands with Titles from 1 to 15 seem to work fine in highlighting their associated targets in the PGC Selector window but Titles 16 and up start messing up. :(

BTW, I really love this targeting feature!

SurfDrifter
29th July 2004, 22:36
Originally posted by r0lZ
@SurfDrifter
OK. I understand.

You may find usefull too the ability to remap a VOB/Cell ID in PgcEdit's PGC editor window.

If you have a VOB/Cell ID with only a black frame in your video, then you may actually use it instead of your first chapter (the one you want to strip).
If you don't have such a short black frame chapter, you may add one with AddChapter.
Then, go to the PGC editor, note the VOB/Cell ID of this short chapter, and click on the VOB/Cell ID button of the chapter you want to strip. In the dialog, set the VOB ID and Cell ID to be the same as the added black frame.
You will still have a dummy chapter one, though...

I did it and it seemed to work. The only problem was that the project was DVD-9 and i had to deliver to DLT's so I created an image file through DVDMaestro, which uses a .LAY file which of course was created BEFORE any changes made with PGC Edit. Anyway, i "shrinked" the image file and played fine on PC and standalone. Now, I'll wait the output from the factory of the actual DVD-9 (I cross my fingers!).

Oh, and by the way, if you create a cell and NOT a chapter with DVDMaestro, you won't have any dummy chapters! That's even better!!

One question, though. I used and adjacent cell(12frm long) to replace the cell that i wanted to omit and the playback was seamless.
If I had used, lets say a cell that was at the end of the movie, to replace a cell in the beginning, would the playback still be seamless?

Thanks again!

r0lZ
29th July 2004, 23:45
One question, though. I used and adjacent cell(12frm long) to replace the cell that i wanted to omit and the playback was seamless.
If I had used, lets say a cell that was at the end of the movie, to replace a cell in the beginning, would the playback still be seamless?
When you remap a Cell ID with a non adjacent one, PgcEdit sets the SCR Discontinuity flag, but don't change the Seamless Playback flag. So, It should be seamless. But I admit I don't have extensively tested this... in particular, the playback will probably not be seamless if the new ID is on the other layer of a DVD-9. Try it yourself :D

ffroms
2nd August 2004, 16:38
Hi!
I have a little request (again). Is it possible, in some next release, to have option to change VOB/Cell ID's greater then they are in original IFO and add chapter to PGC?
To give example. I've remake DVD with some new subs, but original IFO have 2 VOB ID's and my new project have only 1 VOB ID. I want to change original IFO with only 1 VOB ID and change Cell ID's as they are in new VOB's. And adding new chapter at end of IFO I can skip to the end of video using chapters. I know that there is tool for adding blank chapter but I prefer to use 1 tool for all editing.
Making changes to VOB I can do manualy.

FFS

r0lZ
2nd August 2004, 17:04
Adding or removing chapters may be an option in a future release.

Adding a new cell is impossible with PgcEdit, because there are many parameters that must match the cells of the VOB file. So, if you authored a VOB with only one cell, it is impossible to magically create a new one with an IFO editing. If you want 2 cells in the IFOs, you NEED also 2 cells in the VOB.

And adding new chapter at end of IFO I can skip to the end of video using chapters. I know that there is tool for adding blank chapter but I prefer to use 1 tool for all editing. Have you tried the "Enable Navigation Buttons" function? There is an option "When in last chapter, allow the 'Next Chapter' button to skip to the end of the title". This works well, without the need of a new, dummy chapter at the end of the title.

2COOL
2nd August 2004, 17:13
@ffroms

Originally posted by ffroms
I want to change original IFO with only 1 VOB ID and change Cell ID's as they are in new VOB's.jsoto does have another tool called VIDChanger (www.posunplugged.com/jsoto/) that you can try on this matter.

ffroms
3rd August 2004, 16:48
@r0lZ - I starting to feel like an idiot. There is so many options with your tool and I don't know about it. I apologize for asking stupid questions :). I'll try "Enable Navigation Buttons" ASAP. I was asking about changing VOB/Cell ID's just in IFO 'couse my VOB's are already preprared and I just wanted to change IFO but if it can't be done it's OK by me.

@2COOL - Your tutorials are inspiration to many including me. Thank you for your great work.
I know about that tool but it changes IFO and VOB and I only need to change IFO (VOB's are already changed).

FFS

Zeul
3rd August 2004, 19:30
@r0lZ
Not directly linked to PGCEdit but important all the same, so hope you can help. I have been having a problem with the following hex command: 30 06 00 01 00 83 00 00 - which i decode to be:
[JumpSS vts_0, vts_ttn_1 : RootMenu] - which is pointing to VTS 0 - incorrect obviously.

I see from your program that this actually means last visted VTS - where did you gather this information, as i have found no reference to this at all. Also scenarist seems to offer no such command.

Hope you can offer some info on this. Thanks
Zeul

r0lZ
3rd August 2004, 22:21
@Zeul
See this thread (http://forum.doom9.org/showthread.php?s=&threadid=79536). BTW, is it a Warner Bros DVD?

2COOL
4th August 2004, 06:46
@r0lZ

This is just a question of convenience. Have you considered at one point to program in a toolbar with, at least, small icons? Besides the normal Open/Save/quit icons, maybe a possibility of icons to more common use functions like undo command changes, kill PGC playback, DVD commands info, set provider ID, Scratchbook, resotre backup, etc. Since the minimize button doesn't work and the PGC Selector and Command Editor windows already have scroll bars, IMHO, I think it wouldn't hurt making room for a toolbar.

Though I'm not one to creating buttons, I'm sure there are a lot of helpful and talented people in this community that wouldn't mind contributing if you made a request.

r0lZ
12th August 2004, 20:37
@2COOL
Toolbar... Yes, it's a good idea. But, as you suspected, I don't have many time nor talent to design the icons.
So, if someone could send me some nice looking icons for the most usefull tasks, I will probably add them in a toolbar. My address is on my homepage.
Thanks in advance :thanks:

r0lZ
12th August 2004, 20:48
PgcEdit 0.3.3 released

Main changes: functions to inspect (read-only) the menu buttons commands and layout. The 'Jump to Target' function works with buttons commands, too.
Note: this function uses an external executable, and is therefore currently available for Windows only.

Download PgcEdit 0.3.3 (http://home.tiscali.be/debie.roland/pgcedit/index.html)
Version history (http://home.tiscali.be/debie.roland/pgcedit/HISTORY.txt)

M!ro
12th August 2004, 23:33
Finally i got some free time, downloaded 0.3.3 version, but i was unable to start it :(

i got this error:
Binaries v0.3.3 copied.
Error sourcing /Tcl/work/PGCEDIT/PgcEdit.tcl: syntax error in expression "none+1": variable references require preceding $

r0lZ
13th August 2004, 00:07
This error was already reported and will be fixed in the next release. It is due to the "Tearoff Menus" option being OFF in your setups.

Fix:
To get rid of your old setting, you may edit the file "C:\Documents and Settings\<YOUR USER NAME>\Application Data\PgcEdit\.pgcedit.cfg" (or "~/.pgcedit.cfg" on Linux).
You must delete the line:
set ::config(tearoff_menus) false
This will reset the tearoff menu option to the default setting.

Alternatively, you may also delete completely the config file, but you will loose all your setups (except the Tools configurations).

Leave the "Tearoff Menus" setup option ON (this is the default) to avoid this bug!

voo_doo99
13th August 2004, 20:06
Originally posted by r0lZ
PgcEdit 0.3.3 released

Main changes: functions to inspect (read-only) the menu buttons commands and layout. The 'Jump to Target' function works with buttons commands, too.
Note: this function uses an external executable, and is therefore currently available for Windows only.

@r0lZ
Congrats, this is a great addition. http://www.dvdshrink.info/images/smiles/eusa_clap.gif
We have now reached MenuEdit level, wont be long till DVDRemake level, right? :D Just kidding :), for all I knew, you might have jumped thru hoops to give us this feature because I remembered the tool you used has difficulty parsing VOB files :(.

With that said, hope you wont mind some requests :p. Currently, the Show Menu Button is auckward to get to, can it be added to the Button row at least?. And we would want to preview quickly which menu has buttons, so can button scripts be extracted and added to a new integrated section **** button commands: in the Command listing pane?. And, the Button view screen is rather big covering much of the PGCedit screen; it would be great if can be made smaller or integrated into PGCedit. That would be sweet :D

Finally, now that you can parse VOB files, so maybe PGC Preview is in the future? Hope, hope, hope :D

Sorry if I am asking too much, just food for thoughts. Thank you for providing many of us with a good tool and FREE too! http://www.dvdshrink.info/images/smiles/eusa_clap.gif

r0lZ
13th August 2004, 20:34
you might have jumped thru hoops to give us this feature because I remembered the tool you used has difficulty parsing VOB filesThis is why I use an external executable (based on libdvdread for Linux, and written in C) to do the job.

Currently, the Show Menu Button is auckward to get to, can it be added to the Button row at least?It's possible. However, I think the buttons pane should be limitted to editing commands. Perhaps in a future toolbar...?

And we would want to preview quickly which menu has buttons, so can button scripts be extracted and added to a new integrated section **** button commands: in the Command listing pane?No, the button commands are read-only, ant therefore can't be placed in the editor window. Sorry. But I can add a special marker in the PGC selector pane to show that there are buttons in the PGC...

And, the Button view screen is rather big covering much of the PGCedit screen; it would be great if can be made smaller or integrated into PGCedit.Difficult. There must be enough room for all the stuff, including a full command disassembly... I'll try some solution...

Finally, now that you can parse VOB files, so maybe PGC Preview is in the future?Not in the immediate future. I need to adapt the exe for Unix and Mac users, then finish some other new functions I am working on... and take some hollidays!

voo_doo99
13th August 2004, 20:59
Originally posted by r0lZ
It's possible. However, I think the buttons pane should be limitted to editing commands. Perhaps in a future toolbar...?
I forgot about the TearOff menu, it should be good for this :)


But I can add a special marker in the PGC selector pane to show that there are buttons in the PGC...
That would be sweet, thanks! :D

sweetness
14th August 2004, 01:00
@r0lZ
for your toolbar what size icons are you looking for? and for what functions? last, what would you want it to look like? ms word or photoshop? i'll see if i can put something together(between webdsign and backups) for you, but i'm not the best.

r0lZ
14th August 2004, 09:52
@sweetness
The best is 32x32, 256 colors Windows .ICO files.

For the look, It's up to you!

Waht functions? Good question. I suggest: File/Open DVD, Save DVD, Reopen DVD, New DVD, Create Backup, Restore Backup, Open Scratchbook, Save Scratchbook, Check DVD Size, Explore DVD Folder, Quit
Utilities/Title Play Map Table, Domain Stream Attributes, Region Code, Show Menu Buttons, New PGC, Set Provider ID, Set DVD-TEXT General Name
Info/Find Unused GPRMs
Macros/Kill PGC Playback, Enable All Operations
View/Tcl Calculator/Converter
and maybe one generic icon for the user's Tools

Of course, if this is too much work, I will be happy with some of them. I'm sure that, if a toolbar exists in the future, there will be other guys interested in creating icons. All I need is something to start with.

Thank you verry much for helping me :)

r0lZ
14th August 2004, 10:09
@voo_doo99
And, the Button view screen is rather big covering much of the PGCedit screen; it would be great if can be made smaller or integrated into PGCedit.Difficult. There must be enough room for all the stuff, including a full command disassembly... I'll try some solution...
I have added an Options submenu allowing to choose the size of the Menu Buttons screen: Full Size (even bigger: 1/1 resolution), Normal (as now: 2/3 resolution) and Small (1/2 resolution).
And this window can now be iconified (although for technical reasons, it is not possible to work in the main window before you close the Button window).

2COOL
16th August 2004, 10:11
@r0lZ

I tried out PgcEdit v0.3.3's new button menu display feature with My Big Fat Greek Wedding (R1) root menu and got an error message. I decided to e-mail you my findings.

r0lZ
16th August 2004, 17:25
@2COOL
I've found the problem. Should be fixed in the next release. Read your mails for more infos...

2COOL
16th August 2004, 20:10
Originally posted by r0lZ
@2COOL
I've found the problem. Should be fixed in the next release. Read your mails for more infos... Great!

I have another request or bug. Say I have Cells commands existing. Below is an example.

********** cell commands:
[20 06 00 00 00 00 00 01] 1 LinkPGN Program 1
[20 06 00 00 00 00 00 02] 2 LinkPGN Program 2

I want to keep the existing ones but want to add another Cell Command. Now, if I add one at the end, there's no disruption on navigations as the cells in this PGC still retain their unchanged Cell Command #s to jump to.

********** cell commands:
[20 06 00 00 00 00 00 01] 1 LinkPGN Program 1
[20 06 00 00 00 00 00 02] 2 LinkPGN Program 2
[20 06 00 00 00 00 00 03] 3 LinkPGN Program 3

But if I add my new command anywhere before Command #2, like this...

********** cell commands:
[20 06 00 00 00 00 00 03] 1 LinkPGN Program 3
[20 06 00 00 00 00 00 01] 2 LinkPGN Program 1
[20 06 00 00 00 00 00 02] 3 LinkPGN Program 2

or

********** cell commands:
[20 06 00 00 00 00 00 01] 1 LinkPGN Program 1
[20 06 00 00 00 00 00 03] 2 LinkPGN Program 3
[20 06 00 00 00 00 00 02] 3 LinkPGN Program 2

...there's going to be navigation errors. During playback, the cells still hold their original cell command jumps but now, they are pointing to a different command.

What i'm requesting is that the original cell commands in the Cell Playback be updated/incremented. Sort like how you did the "goto #s" when you delete/add/change a command.

I hope you understand what I mean. You can add or delete cell commands but PgcEdit should update the Cell Playback area to reflect the edits.

r0lZ
16th August 2004, 22:12
OK. Understood.

Note that you may add any new cell command as the last command in the list, and use this command for any cell.
There is no need for the cell commands to be in a specific order (although I understand that it is better to match the cell number with the command number.)

2COOL
19th August 2004, 19:44
@r0lZ

Can you put in a Copy to Clipboard feature/button in the following windows?

DVD commands
DVD Menu Buttons command
PGC Commands
Streams

Possibility, a normal right-click pop-up menu for selecting to copy to clipboard. This is to ease on copying and pasting selected commands to a post. I know Ctrl+C works.

Thanks for your consideration.

Also, what is the Tcl Calculator/Converter? It says it's a hex & string converter but I can't get it to work.

r0lZ
19th August 2004, 23:37
Done. The next version will have a popup menu in the text viewer window with "Copy" and "Select All" options.

r0lZ
20th August 2004, 00:01
Also, what is the Tcl Calculator/Converter? It says it's a hex & string converter but I can't get it to work.
Calculator:
Type in an expression in the top left (big field), for example:
( 7 + 0x10 ) * 3
When you press enter, the bottom field will display the result:
= 69 = 0x45 = "E"
The hexadecimal and ASCII conversion will not be done if the result is not an integer.

You may use also math functions like this:
pow( 2, 5)
Here (http://www.tcl.tk/man/tcl8.4/TclCmd/expr.htm) is a list of all Tcl math functions.

Take care: Tcl is somewhat strange! A division of an integer by an integer will give an integer: 7/2 => 3, but 7/2.0 => 3.5

Converter:
Type an integer in the same field, in decimal (example: 10), hexadecimal (0xA) or octal (012), then press Enter.
To convert a language code to a number, type it in the small field, and press Enter.

Note that it is possible to use hexadecimal numbers directly in all numeric fields of PgcEdit: simply prefix them with "0x".

2COOL
20th August 2004, 01:33
Thanks for the education. ;)

2COOL
4th September 2004, 03:24
@rolZ

1. A disclaimer that disabling the default audio causes the NEXT existing audio to play. Disabling for example, audio 3 of 4, causes the FIRST existing audio to play. Here's some test documentation on my part. http://forum.doom9.org/showthread.php?s=&threadid=60444

I haven't test this out with subtitles yet though. :(
___________________________________
2. A tooltip for telling the valid values (seconds) for Cell still time. 0-255 (255= Infinite)
___________________________________
3. How about a simple Instructional dialog for copying and pasting PGC subtitle colors?
___________________________________

r0lZ
4th September 2004, 09:59
Originally posted by 2COOL
@rolZ

1. A disclaimer that disabling the default audio causes the NEXT existing audio to play. Disabling for example, audio 3 of 4, causes the FIRST existing audio to play. Here's some test documentation on my part. http://forum.doom9.org/showthread.php?s=&threadid=60444

I haven't test this out with subtitles yet though. :(
___________________________________
2. A tooltip for telling the valid values (seconds) for Cell still time. 0-255 (255= Infinite)
___________________________________
3. How about a simple Instructional dialog for copying and pasting PGC subtitle colors?
___________________________________
[list=1]
What do you want exactly? Should I explain that a disabled audio or subpic will not show up on the player anymore, and will be skipped when the user select the next audio or subpic with the remote?
When you say disabling the default audio causes the NEXT existing audio to play. Disabling for example, audio 3 of 4, causes the FIRST existing audio to play.I'm not sure to understand you. Is it the first or the next audio that plays?
Your guide deal with the streams left over after a DVDShrink, but is now obsolete, no?
OK. Tooltip added.
Do you mean an explanation on how to copy colors from one DVD and paste them in another one? Note that the method is the same to copy/paste commands.
[/list=1]

2COOL
5th September 2004, 07:02
Originally posted by r0lZ

What do you want exactly? Should I explain that a disabled audio or subpic will not show up on the player anymore, and will be skipped when the user select the next audio or subpic with the remote? I'll try to summarize the guide once more. If PgcEdit disables the first (default audio) by setting it to none, the next audio stream that is not set to none, will play. Say that I had a movie with 2 audios, English as my first and French as my second. Since English is my default, the movie should play English if I didn't select any audio in the language menu. Now, if I set my first audio to none and let the movie play, the French audio will be heard instead because it's not set to none and it's the next audio in order. Even if the user selects English in the language menu, French will play.

Now, if I set French to none and I select French in the language menu, English will play instead. Audio will start from the beginning of stream order and find the first audio not set to none and that will be English of course.

Your guide deal with the streams left over after a DVDShrink, but is now obsolete, no?I really did the guide with IfoEdit before DVD Shrink. In DVD Shrink, the user can choose between two algorithms on editing the IFO when streams were stripped. I clarified more on this matter in this thread (http://forum.digital-digest.com/showthread.php?s=&threadid=30508).

Do you mean an explanation on how to copy colors from one DVD and paste them in another one? Note that the method is the same to copy/paste commands. A newbie wouldn't know to open another PgcEdit seesion on another DVD to do a copy on one and a paste all on the other at first glance.

r0lZ
5th September 2004, 09:19
OK. I've added some tooltips to clarify things some more.
But of course it's not possible to add a complete explanation on how disabled streams are working in a tooltip!

On the copy/paste: the method is explained in the PgcEdit doc (in english and french). Just added a short tooltip as a remaider.

r0lZ
12th September 2004, 20:41
PgcEdit v0.3.4 released.

Changes: version history (http://home.tiscali.be/debie.roland/pgcedit/HISTORY.txt)

The menu buttons information is now also available for Linux users. Also, there is now a wrapped, standalone version for Linux users.

The homepage (http://home.tiscali.be/debie.roland/pgcedit/index.html) has changed, too. I have added some links, and there is now a GUI to be notified when the page changes (seems to be really SPAM proof.)

I highly recommand to use this version: it is probably the most bugfree since the first version, thanks to beta tests from many users, specially 2COOL and $$$.

erdoke
12th September 2004, 23:19
Wow, it took some time to read through the changes in Version History. And that means something.
Nice job r0lZ, your tool (oops, sorry: our tool ;)) is getting more and more powerful.

It seems that the download link of Win executable is OK, but the zipped version still contains V. 0.3.3 instead of the new 0.3.4.

2COOL
13th September 2004, 04:02
@rolZ

Sorry I did not pick up on these before but I have two discrepancies to point out with v0.3.4.

1. I see no difference between these two. :confused: Both do not convert Post commands to Pre Commands. Maybe you should have just 2 options: Kill or don't kill playback.

( ) Kill playback if there are no cell commands in the PGC.

( ) Don't kill playback.

2. When blanking, the user has the default option of moving the original VOB(s), in question, to the backup directory. This is fine as we can restore the VOB(s) back if we wanted do. But if we, for some reason, try to blank the same PGC again, the original in the backup will be overwritten with our new 10 KB blank VOB. We don't really want that to happen and the original VOBs are pretty much gone. Maybe a prompt to tell the user that an original file exists in the backup and overwriting is not possible?

r0lZ
13th September 2004, 07:39
It seems that the download link of Win executable is OK, but the zipped version still contains V. 0.3.3 instead of the new 0.3.4.
Oops! Sorry.
Problem fixed now.

r0lZ
13th September 2004, 08:36
Originally posted by 2COOL
@rolZ

Sorry I did not pick up on these before but I have two discrepancies to point out with v0.3.4.

1. I see no difference between these two. :confused: Both do not convert Post commands to Pre Commands. Maybe you should have just 2 options: Kill or don't kill playback.

( ) Kill playback if there are no cell commands in the PGC.

( ) Don't kill playback.

2. When blanking, the user has the default option of moving the original VOB(s), in question, to the backup directory. This is fine as we can restore the VOB(s) back if we wanted do. But if we, for some reason, try to blank the same PGC again, the original in the backup will be overwritten with our new 10 KB blank VOB. We don't really want that to happen and the original VOBs are pretty much gone. Maybe a prompt to tell the user that an original file exists in the backup and overwriting is not possible?

1. When blanking, there are 3 options:

Kill playback if there are no cell commands in the PGC.
This will kill playback on all PGCs except thoses with cell commands.
Kill playback unconditionally
This will kill playback on all PGCs including thoses with cell commands.
Don't kill playback.
Never kill playback.

Of course, the option 1 is really useful only when there are several PGCs in the domain, and some of them with cell commands.

2. You're true. This is a little bug (or omission). But I think there are no good reasons to blank the same domain several times (except for beta tests, as you probably did).
If you really wants to blank it more than once, then you should select the 'delete original VOB file' option.
I will however add an overwrite confirmation dialog. But keep in mind that blanking twice with one of the kill playback option enabled will also kill playback twice. Although this is not harmful, this is not needed. But inspecting the commands to see if the blanking is already done is not so easy...
[EDIT:] Done. There is now a popup warning. However, if you cancel the backup, the VOB will be deleted without further prompting.

2COOL
13th September 2004, 18:48
Originally posted by r0lZ
1. When blanking, there are 3 options:

Kill playback if there are no cell commands in the PGC.
This will kill playback on all PGCs except thoses with cell commands.
Kill playback unconditionally
This will kill playback on all PGCs including thoses with cell commands.
Don't kill playback.
Never kill playback.

Of course, the option 1 is really useful only when there are several PGCs in the domain, and some of them with cell commands. OK, It's coming back to me again. This would be a classic case for a newbie not actually knowing the actions of the options. Perhaps, a tooltip for future version?

Or maybe the options need to be rewritten for clarifications. Just like you really wanted to say.

( ) Kill playback on all PGCs except those with cell commands
( ) Kill playback on all PGCs including those with cell commands
( ) Don't kill playback

jsoto
13th September 2004, 21:38
I know this thread is about pgcEdit, but because 2COOL and r0lZ
are discussing about these questions (at least part of them) I’m using this thread (although my intention is to apply these procedures in VobBlanker)

Here are my questions/doubts

1.- Deleting playback (IFOEdit ): It is illegal in Titles domain, isn’t it?. AFAIK, you cannot have an empty PGC in Titles domain. (I’m assuming pgcEdit’s Kill Playback is the same operation than IFOEdit’s delete playback)

2.-Deleting playback when cell commands are present is not safe. So, some advice should be issued to the user in this case

3.- Blanking a PGC when cell commands are present is safe, except in the case of changing postcommands into precommands. In this case, the cell commands probably will never been executed.

Could anyone confirm me these points?

Thanks in advance.

jsoto

r0lZ
14th September 2004, 01:19
1.- Deleting playback (IFOEdit ): It is illegal in Titles domain, isn’t it?. AFAIK, you cannot have an empty PGC in Titles domain. (I’m assuming pgcEdit’s Kill Playback is the same operation than IFOEdit’s delete playback)Yes, a dummy PGC is illegal in the Title domain, although it doesn't hurt if it is never played.
No, the Kill Playback in PgcEdit do not use the IfoEdit's method. Instead, the post commands are appended to the pre commands. The BREAK and GOTO commands are handled. However, for menu PGCs only, the IfoEdit method may be used also to completely remove the VOB file.

2.-Deleting playback when cell commands are present is not safe. So, some advice should be issued to the user in this caseIf you kill playback of a PGC with cell commands, you will not leave a chance for the cell commands to be executed.

3.- Blanking a PGC when cell commands are present is safe, except in the case of changing postcommands into precommands. In this case, the cell commands probably will never been executed.Right.

Note that in most case, the cell commands are either returning to the menu (for multi-episodes DVDs), or playing some add-on material (normally not needed if you blank out the main title). So, it may be useful to kill playback also. Hence the 3 options in PgcEdit.

2COOL
14th September 2004, 01:34
@jsoto

Deleting Playback and Kill Playback are not the same. rolZ explained to you on PgcEdit's Kill Playback algorithm. How IfoEdit's Delete Playback works is that it resets the PGC's Playback Time (BCD) to 00:00:00.00 and also sets the PGC's Number of Programs and Cells to 0. There are no changes in the PGC Command Table in this process. Both PgcEdit and IfoEdit only do changes to the IFO so no changes in the VOBs. ;)

2COOL
14th September 2004, 06:55
@rolZ

Sometimes I think that arranging the PGC Selection list and the Command Table horizontally instead of vertically would be more appealing. You could have the PGC Selection on top taking up 1/3 of the view. I'm sure you thought about this before.

2COOL
14th September 2004, 08:32
You sure take a long time writing your reply, jsoto. ;P

jsoto
14th September 2004, 08:43
@2COOL & r0lZ
Thanks for your replies, guys.
If I can bother you a little more, I'd like to comfirm some additional points.
No, the Kill Playback in PgcEdit do not use the IfoEdit's method. Instead, the post commands are appended to the pre commands. The BREAK and GOTO commands are handled. However, for menu PGCs only, the IfoEdit method may be used also to completely remove the VOB file. I think I've understood the difference between both methods. But, is there a, let's say, "functional" difference?. With Kill playback all commands will be executed as precommands, and with delete playback the commands will be executed as pre or post ones, but because there is no PGC playback, AFAIK the result should be the same. In both cases cell commands are probably "lost". So, the question is:
Do I need to change post into pre commands if using IFOEdit's delete playback method?. I believe not.

Both PgcEdit and IfoEdit only do changes to the IFO so no changes in the VOBs. That is VobBlanker bussiness :) (In fact I've already have a beta version with menu support)

What I'm going to do is:
- VobBlanker will support IFOEdit's deleting playback method in menus domain (but deleting also the required cells in the menu VOB :) )
- Blanking will also be supported in menu domain.
- Ask the user to confirm deleting playback in the case of cell commands exist.
- Split the current "Change post into precommands" check (this apply to menu and title blanking procedures) in two different checks. Let's say "Safely change post into precommands" (This check will not change post into pre if cell commands exist) and "Always change post into precommands".

Please give me your comments. I'll appreciate them.

jsoto

2COOL
14th September 2004, 09:14
Originally posted by jsoto
Do I need to change post into pre commands if using IFOEdit's delete playback method?. I believe not.Delete playback, to me, works best if the PGC's video content doesn't have any buttons. e.g. FBI warnings. I tried to DP all menus with buttons in a VTS Language Unit and got errors during play. I DP'd a Title and that just turned into a dummy PGC and you know this is illegal. It's at this point that I would convert Post to Pre Commands for bypassing the Titles.

What I'm going to do is:
- VobBlanker will support IFOEdit's deleting playback method in menus domain (but deleting also the required cells in the menu VOB :) )Again, this would work if the menu doesn't have buttons.

Blanking will also be supported in menu domain.Again with the buttons issue.

Ask the user to confirm deleting playback in the case of cell commands exist.confirmations are always good to have.

- Split the current "Change post into precommands" check (this apply to menu and title blanking procedures) in two different checks. Let's say "Safely change post into precommands" (This check will not change post into pre if cell commands exist) and "Always change post into precommands".As a newbie, it would be confusing and intimidating on the "Safely" and "Always" words without justification. Personally, I like the way that PgcEdit retains the original Post Commands during conversion. This is in the case that I would link to a program in my pre commands and then end up in my Post Commands after play.

jsoto
14th September 2004, 09:31
@2COOL
Is there any way to know if there are buttons present, just exploring the IFOs or you need to explore the Navpacks in the VOBs?

I like the way that PgcEdit retains the original Post Commands during conversion I've to confess I'm not familiar with pgcEdit, mainly because my knowledge in the virtual machine (commads and registers) is very limited, but I'll look into it.

jsoto

r0lZ
14th September 2004, 09:37
- Split the current "Change post into precommands" check (this apply to menu and title blanking procedures) in two different checks. Let's say "Safely change post into precommands" (This check will not change post into pre if cell commands exist) and "Always change post into precommands"."Safely change post into precommands" is what is called in PgcEdit "Kill playback if there are no cell commands in the PGC" and "Always change post into precommands" is called "Kill playback unconditionally". The last option, "Don't kill playback" let the replaced cell play (PgcEdit is able to replace the whole VOB with a blank cell or an imported cell to blank all PGCs in the domain, like TitleSetBlanker).

"Completely remove the menu VOB file" will remove all references to the menu VOB in the IFO, changing all menu PGCs to dummies. The VMGM_C_ADT and VMGM_VOBU_ADMAP or VTSM_C_ADT and VTSM_VOBU_ADMAP tables are totally removed.

r0lZ
14th September 2004, 09:39
Is there any way to know if there are buttons present, just exploring the IFOs or you need to explore the Navpacks in the VOBs?Unfortunately no, although it is possible to guess there are buttons by analysing the VM commands.

2COOL
14th September 2004, 09:43
Originally posted by jsoto
Is there any way to know if there are buttons present, just exploring the IFOs or you need to explore the Navpacks in the VOBs?You can in the NAV packs. Use VOBEdit on a menu VOB and click on [X]Buttons at the bottom. Click on a Navpack and scroll down to [009e]number of buttons. I know you are not a newbie at parsing the VOBs since you do it in VIDChanger.

2COOL
14th September 2004, 10:03
@rolZ

Originally posted by r0lZ
Unfortunately no, although it is possible to guess there are buttons by analysing the VM commands. :eek: I'm surprised that you made this comment as you have menu button previewing in PgcEdit.

r0lZ
14th September 2004, 10:23
I'm surprised that you made this comment as you have menu button previewing in PgcEdit.Yes, but the buttons infos are extracted from the VOB, with the external program button_dump.exe (sources availables on my homepage).
The question was Is there any way to know if there are buttons present, just exploring the IFOs...The answer is resolutely: NO!

r0lZ
14th September 2004, 10:31
Bug in PgcEdit 0.3.4 source archive

A file was missing in PgcEdit v0.3.4 source archives (pgcedit_source.zip and PgcEdit_source_0.3.4.zip).
This omission may prevent to open PgcEdit.
A new, fixed source archive is available on my homepage (http://home.tiscali.be/debie.roland/pgcedit/index.html).

r0lZ
14th September 2004, 10:44
I forgot to say Thanks to the beta testers 2COOL, $$$, Damien and Marek, to Sweetness who did the toolbar icons, to Tobi for his german guide... and to everybody for the enthousiasm and encouragements.

jorel
15th September 2004, 01:55
Originally posted by jorel
thanks for the new version r0lZ. :)
can you do a guide with pictures(like the japanese guide)for "simple mortals" ? it's hard for "us"(simple mortals) to start. :o

hy r0lZ!
:)

PgcEdit is growing faster but i still don't know how to use for more that i read details in this thread.
i still can't read in japanese and german :p and the 2COOL's (Third party guide) is so advanced for newbys like me!

you really don't will build a simple english guide ? :(

2COOL
15th September 2004, 02:46
@jorel

Originally posted by jorel
the 2COOL's (Third party guide) is so advanced for newbys like me!

I wrote only one PgcEdit guide so far, How to Completely Blank Out a Titleset (VTS) Using PgcEdit (http://forum.doom9.org/showthread.php?s=&threadid=81112), and thought it was very comprehensible at a newbie level. Can you tell me which step(s) you are having problems with?

jorel
15th September 2004, 04:19
Originally posted by 2COOL
@jorel
I wrote only one PgcEdit guide so far, How to Completely Blank Out a Titleset (VTS) Using PgcEdit (http://forum.doom9.org/showthread.php?s=&threadid=81112), and thought it was very comprehensible at a newbie level. Can you tell me which step(s) you are having problems with?

i know that you wrote only one PgcEdit guide...
then, i know less than newbys my friend! :o
i don't know how to start using powerfull tools like that without a simple guide(with shots if possible), showing how to start.
2 years ago, i had problems starting to use dvd2svcd(powerfull and great)and without the guides and the helpers i never will learn how to use it and get cool results in my encodes!
this is the point: how to start with PgcEdit...first steps(or something like this)for dumbs(with poor english).

you know: newby is hard to help but help dumb is "impossible"! :p

thanks for your kindness and friendship 2COOL!
:)

r0lZ
15th September 2004, 09:18
It's difficult to write a guide to introduce PgcEdit. The knowledge required to use PgcEdit (or other low levels tools like IfoEdit, VOBEdit, or the Pro options of DVDRemake Pro) is the DVD structure, and how to program with the VM commands. A knowledge of any programming language is also a good starting point, although not really necessary.

Have a look at the DVD-Replica web site (http://dvd-replica.com/DVD/), and try to understand how pieces are put together in a DVD, and learn about the most used VM commands. Then, read some guides (2COOL's guides using IfoEdit are useful, too). The most important is to try to understand what you are doing when you follow a guide. You will soon become an expert!

As I said elsewhere, I do not have much time to write guides, and I prefer to add some newbies-friendly macros in PgcEdit. And you know my english is not good enough. Maybe I'll try to write an introduction to PgcEdit, but don't expect this before all the functionnalities I want to see in PgcEdit are implemented, and that is still a verry big work.

I'm sure there will be other PgcEdit guides soon here...

[EDIT:] Have a look at this thread (http://forum.doom9.org/showthread.php?s=&postid=543933#post543933). Although it is not really a guide, I tried to explain how to add a Title menu to a DVDShrink reauthored 4 episodes DVD, while keeping the ability to skip to the next episode with the Title button. Even if you don't need this, try to do it as an exercise.

voo_doo99
16th September 2004, 01:36
Originally posted by 2COOL

As a newbie, it would be confusing and intimidating on the "Safely" and "Always" words without justification.


@jsoto
Both options appear safe, but for both to show up would be confusing. How about listing just one [like 1.4.0.1] with a popup warning, when applicable, saying sth like: "Existing cell commands will not execute. Do you want to proceed?"

Originally posted by 2COOL

Personally, I like the way that PgcEdit retains the original Post Commands during conversion. This is in the case that I would link to a program in my pre commands and then end up in my Post Commands after play.

@2COOL
Can you clarify that point?. Say if I linked my PGC_1 precommand to another PGC_2, is the sequence of executions as follows:
1. PGC_1 Pre
2. PGC_2 Pre
3. PGC_2 Post
4. PGC_1 Post
Until now, I thought PGC_1 Post would not execute after a linking.

@r0lZ
What is the benefit of converting Post to Pre with your spcecial way?. In my IFOedit hacking time, I knew adding commands to PGC Table requires update of address pointers in all kind of places including mock strippings et al. I must confess I never dared try PGCedit "Kill Playback" feature for fear of losing playability. PGCedit really possesses many powerful [and thus complex] features even for me. To really reach a larger user group, you may want to provide a Lite/Advanced interface option a la DvdRemake.

Thanks everyone!

2COOL
16th September 2004, 05:43
@voo_doo99

Originally posted by voo_doo99
Can you clarify that point?. Say if I linked my PGC_1 precommand to another PGC_2, is the sequence of executions as follows:
1. PGC_1 Pre
2. PGC_2 Pre
3. PGC_2 Post
4. PGC_1 Post
Until now, I thought PGC_1 Post would not execute after a linking. That's not what I had in mind but I will clarify. The way I did it in my guide (http://forum.doom9.org/showthread.php?s=&threadid=50245), the Number of Pre and Post commands were edited. This resulted in having no Post commands. Now, here's a PGC Command table I'll use for an example. When I mentioned about linking to programs, I was referring to the LinkPGC command.

********** pre commands:
[61 00 00 00 00 06 00 00] 1 Set gprm(0) =(mov) gprm(6)
[00 A2 00 00 00 01 00 00] 2 if ( gprm(0) == 1 ".." ) then { Break }
[20 A6 00 00 00 02 00 02] 3 if ( gprm(0) == 2 ".." ) then { LinkPGN Program 2 }
[20 A6 00 00 00 03 00 03] 4 if ( gprm(0) == 3 ".." ) then { LinkPGN Program 3 }
[20 A6 00 00 00 04 00 04] 5 if ( gprm(0) == 4 ".." ) then { LinkPGN Program 4 }
[20 A6 00 00 00 05 00 05] 6 if ( gprm(0) == 5 ".." ) then { LinkPGN Program 5 }
[20 A6 00 00 00 06 00 06] 7 if ( gprm(0) == 6 ".." ) then { LinkPGN Program 6 }
********** post commands:
[30 08 00 0A 01 C0 00 00] 1 (CallSS) Call the VMGM PGC 10, resume cell 1
********** cell commands:
[20 01 00 00 00 00 00 0D] 1 LinkTailPGC
Now, if I used my manual editing Title bypassing guide, I would've gotten this afterwards.

********** pre commands:
[61 00 00 00 00 06 00 00] 1 Set gprm(0) =(mov) gprm(6)
[00 A2 00 00 00 01 00 00] 2 if ( gprm(0) == 1 ".." ) then { Break }
[20 A6 00 00 00 02 00 02] 3 if ( gprm(0) == 2 ".." ) then { LinkPGN Program 2 }
[20 A6 00 00 00 03 00 03] 4 if ( gprm(0) == 3 ".." ) then { LinkPGN Program 3 }
[20 A6 00 00 00 04 00 04] 5 if ( gprm(0) == 4 ".." ) then { LinkPGN Program 4 }
[20 A6 00 00 00 05 00 05] 6 if ( gprm(0) == 5 ".." ) then { LinkPGN Program 5 }
[20 A6 00 00 00 06 00 06] 7 if ( gprm(0) == 6 ".." ) then { LinkPGN Program 6 }
[30 08 00 0A 01 C0 00 00] 8 (CallSS) Call the VMGM PGC 10, resume cell 1
********** post commands:
********** cell commands:
[20 01 00 00 00 00 00 0D] 1 LinkTailPGC
Here's the scenario. Pre Command 3 will be true and Program 2 will play. But, Program 2 has a cell command of 1. So at the end of Program 2 play, cell command #1 will execute and we will be jumping to the Post commands.

But now, we don't have any Post commands with Jump/Link/Call commands available! Post command #1 is now a Pre Command. So, what happens now? DVD stoppage, due to break in navigations. :( You'll also get errors if Pre command #2 is true without an assigned cell command since there is no Post commands.

That's why when PgcEdit does the conversion (kill playback), it leaves the original Post commands alone, makes a copy, and converts it to Pre commands. Also, a leading NOP command is added as shown below. Now after Program 2 plays, it will make its way to VMGM PGC 10. :)

********** pre commands:
[61 00 00 00 00 06 00 00] 1 Set gprm(0) =(mov) gprm(6)
[00 A1 00 00 00 01 00 08] 2 if ( gprm(0) == 1 ".." ) then { Goto line 8 }
[20 A6 00 00 00 02 00 02] 3 if ( gprm(0) == 2 ".." ) then { LinkPGN Program 2 }
[20 A6 00 00 00 03 00 03] 4 if ( gprm(0) == 3 ".." ) then { LinkPGN Program 3 }
[20 A6 00 00 00 04 00 04] 5 if ( gprm(0) == 4 ".." ) then { LinkPGN Program 4 }
[20 A6 00 00 00 05 00 05] 6 if ( gprm(0) == 5 ".." ) then { LinkPGN Program 5 }
[20 A6 00 00 00 06 00 06] 7 if ( gprm(0) == 6 ".." ) then { LinkPGN Program 6 }
[00 00 00 00 00 00 00 00] 8 NOP
[30 08 00 0A 01 C0 00 00] 9 (CallSS) Call the VMGM PGC 10, resume cell 1 //copy
********** post commands:
[30 08 00 0A 01 C0 00 00] 1 (CallSS) Call the VMGM PGC 10, resume cell 1
********** cell commands:
[20 01 00 00 00 00 00 0D] 1 LinkTailPGC
Does this make any sense to you now?

@rolZ

With what I've shown above. Your disclaimer...

Warning: there are cell commands in this PGC!
The cell commands will not be executed anymore.

...doesn't apply. The cell commands will still execute. With that said, shouldn't we now have two kill playback options?

( ) Kill playback.
( ) Don't kill playback.

What do you think?

jsoto
16th September 2004, 09:58
Does this make any sense to you now? Absolutely. You've shown a clear scenario.

But there are others (more simple or the same if precommand 2 is true) were the cell commands will not be executed anymore, so the disclaimer still apply...

@rolZ
What do you do if reach the limit of 128 commands?

jsoto

r0lZ
16th September 2004, 15:17
@voo_doo99
Benefit of converting Post to Pre with my spcecial way: As brilliantly explained by 2COOL, it is safer to leave the post commands in place. Also, the NOP command that is added become the target of all BREAK pre commands (changed to GOTOs) as you can see in the 2COOL example. Therefore, if you want to undo the kill playback, you have to delete all copied commands, after but not including the NOP. Easy.

I knew adding commands to PGC Table requires update of address pointers in all kind of places including mock strippings et al.The addresses are updated by PgcEdit when you save the DVD. As you may know, if you add many commands, the number of sectors needed for the table may increase, but IfoEdit doesn't take care about that problen, and you end up with a totally bugged IFO. PgcEdit rebuilds totally the IFO by concatenating all tables together, then it updates the table pointers and the VTS sectors.
IMHO, changing the number of commands never require a mock strip: the VOB file is not changed.

To really reach a larger user group, you may want to provide a Lite/Advanced interface option a la DvdRemake.Yes, I am aware of that problem. But, as explained elsewhere, my first intention was to provide an easy way to edit the IFO's VM commands, not more. So, I writed PgcEdit in Tcl/Tk, which is a language really not suitable for sophisticated previews or complex VOB parsing. So, consider PgcEdit as a low-level software, for experienced users (something like an assembler), intended to supplement IfoEdit, which is far more complex. However, I will probably add some high level functions for novice users (in the Macros menu).
A Lite/Advanced option may be the way to go...


@2COOL
You're true. A cell commands may be played in some cases.
With that said, shouldn't we now have two kill playback options?Please note that the macro "Kill Playback" always kill it, even if there are cell commands.
The triple option is used only when killing playback as part of the "Blank Out all PGCs in Domain" function. In this situation, you may have 3 scenarios: Always kill playback, Never kill playback, or kill playback whenever it is always safe (PGCs w/o cell cmds), and don't kill playback when it is not always safe (PGCs with cell cmds). This last option is useful if there are some PGCs with and other without cell cmds. Obviously, this option is not useful if there is only one PGC, or if there are cell cmds in all PGCs, or if there are no cell cmds in all PGCs. Also, this option is the default, because it is always safe to use it.


@jsoto
What do you do if reach the limit of 128 commands?Well, I don't test this situation from within the macro (although it is not possible to manually Add or Paste commands when the limit is reached). Of course, this may be a problem, but honestly I have never encountered a PGC with so much commands... Maybe I have to add the check, and in that case delete the post commands.

voo_doo99
16th September 2004, 18:00
Originally posted by 2COOL
@voo_doo99
Does this make any sense to you now?

@2COOL
Clear as a bell, thank you. :):) Leave it to you to figure out all the complex scenarios. :D There is good reason why I do post-stripping/blanking preview with WinDVD to catch the "gotchas". :p

@r0lZ
Thank you for the details on "Kill Playback", I need to use it more :). And I love your Command Editor/Builder, it's the best; one can really do some fancy navigation with it. :D

Alas, the PGC Selector is getting crowded, may I suggest that some detail like "dummy" to be left out for better reading, there seems to be enough details to differentiate them from the others. The menu "0:00" does not offer much unless it can go down to the sub-second, I think putting VobID here would help IFOedit stripping. And speaking of IFOedit+PgcEdit, it will help if the listing terms are more similar to each other, say: "VTSM_01_LU_1(en) _1 (ID:1) Root", might even save some spaces :p . Anyhow, its my 2 cents, please dont mind. Thanks. :)

r0lZ
16th September 2004, 19:23
Alas, the PGC Selector is getting crowded, may I suggest that some detail like "dummy" to be left out for better reading, there seems to be enough details to differentiate them from the others.You're the first asking to remove informations in the PGC Selector. I added more and more infos here because users wanted them. What do I have to do now? A poll? ;)
Please note that there are VOB and Cell IDs for all cells of the PGC. Listing them all is therefore not possible. And double-clicking on the PGC entry to see them all is not really difficult.
However, I agree that the lisibility of the PGC Selector is not perfect. Maybe I'll try to implement your 'underscore' idea.

Thanks for your apprecaition on the Command Editor :)

2COOL
16th September 2004, 19:56
Originally posted by voo_doo99
@2COOL
Clear as a bell, thank you. :):) Leave it to you to figure out all the complex scenarios. :D No problemo! Just play your demo! :p


Alas, the PGC Selector is getting crowded, may I suggest that some detail like "dummy" to be left out for better reading, there seems to be enough details to differentiate them from the others. Well actually, it was my suggestion to have some indicator that the PGC, in question, was a dummy PGC. People would get confused seeing a PGC with 0b (zero buttons) and not knowing that video content exists. e.g. FBI warnings. A dummy PGC doesn't have video content but its PGC Command table is utilized for better navigations. I think I suggested that the indicator "dummy" be in the parsing dumps but rolZ decided to also put it in the PGC selection list anyway. No problems with me! ;) There are somethings I can lived with.

r0lZ
17th September 2004, 09:49
I think I suggested that the indicator "dummy" be in the parsing dumps but rolZ decided to also put it in the PGC selection list anyway.This is because I use the same function to build the PGC label that is displayed in the PGC Selector and in the dumps.

voo_doo99
17th September 2004, 18:25
Originally posted by r0lZ
You're the first asking to remove informations in the PGC Selector. I added more and more infos here because users wanted them. What do I have to do now? A poll? ;)

I like to plead my case one more time. :p Say when I check out the menu PGC scene, I wanta spot the cute "2b" right away. I dont care about, or wanta scan thru the "dummy" and the loser "0b" cause those are just in the way! :D Please excuse the color metaphor, funny but true :). You said the tool is targeted to experience users, then a clear display is more effective than a cluttered one [ Btw, the #b marker is a gem ]. After a while it is just a training issue.

Please note that there are VOB and Cell IDs for all cells of the PGC. Listing them all is therefore not possible. And double-clicking on the PGC entry to see them all is not really difficult.


I was thinking of the display in IFOedit where each menu PGC listing (with video) includes the VobID associated with it. One extra click or not is the competitive edge :D

However, I agree that the lisibility of the PGC Selector is not perfect. Maybe I'll try to implement your 'underscore' idea.

That would be very nice. Thanks. :)

r0lZ
17th September 2004, 19:15
I was thinking of the display in IFOedit where each menu PGC listing (with video) includes the VobID associated with it.Yes. But why only the VOB ID? The Cell ID may be important, too.
As I said before, there are cases where there are many cells in a menu PGC, each with his own VOB/Cell ID: too many informations to be put in the left pane. Furthermore, the informations are computed only when the PGC Editor is called.
Also, you need to scroll down to the bottom to see the LUs in IfoEdit. I think double clicking on the PGC in PgcEdit is not much more difficult!

The 0b. is indicating that it is a menu with video (as the video PB length is doing also, I agree). The (dummy) indicator is mainly here to align the menus types indicators (Root, SubPic, Audio etc...)

As I said before, users wanted the PB length, number of buttons, menu type and much more (like the number of chapters, programs and cells, which I added only in the label on top of the main window). I can't remove them now, or a war will begin!

vav
18th September 2004, 11:13
Hi,
I've noticed I get strange number of buttons everytime there are > 10 buttons on a pgc.
For instance - 13 buttons show up as "14b", 14 buttons show like "84b".
the buttons themselves look correctly at the "menu buttons" topic, it's only on the left pane where the numbering is wrong.
Anyone else noticed that?

This is no major issue though, and this program is absolutely magnificent, second only to the wheel and ifoedit :)

Thank you for your time and effort,

2COOL
18th September 2004, 23:53
Originally posted by vav
I've noticed I get strange number of buttons everytime there are > 10 buttons on a pgc.
For instance - 13 buttons show up as "14b", 14 buttons show like "84b".
the buttons themselves look correctly at the "menu buttons" topic, it's only on the left pane where the numbering is wrong.
Anyone else noticed that?The #b is supposed to represent the sum of the sub-totals of buttons on every existing cells of that PGC. One way to really view how many buttons there is to right-click on your PGC and select "Show Menu Buttons". At the top is your Cell selection button. If you click on it, you will be shown all your cells with their button info. If you add them all, that's what you should have as for your #b.

e.g.

Program 1, Cell 1: VOB ID 3, Cell ID 1 (0 buttons)
Program 2, Cell 2: VOB ID 3, Cell ID 2 (10 buttons)
Program 3, Cell 3: VOB ID 3, Cell ID 3 (10 buttons)
Program 4, Cell 4: VOB ID 3, Cell ID 4 (10 buttons)
Program 5, Cell 5: VOB ID 3, Cell ID 5 (10 buttons)
Program 6, Cell 6: VOB ID 3, Cell ID 6 (5 buttons)
Program 7, Cell 7: VOB ID 3, Cell ID 7 (2 buttons)
Program 8, Cell 8: VOB ID 3, Cell ID 8 (1 buttons)
Program 9, Cell 9: VOB ID 3, Cell ID 9 (0 buttons)

10 + 10 + 10 + 10 +5 + 2 + 1 = 48b.

2COOL
19th September 2004, 04:59
@rolZ

When I right-click on a VTST, my menu doesn't my PGC selection but when I right-click on a menu, it does. Can you correct this in a future version?

r0lZ
19th September 2004, 10:25
Do you mean that right clicking on a title entry in the left pane doesn't display the PGC in the main window? I think it does.

2COOL
19th September 2004, 16:21
Sorry rolZ!:o

I guess I was typing too fast. This is what I meant to say.

EDIT:

When I right-click on a VTST, my pop-up menu doesn't cover my PGC selection but when I right-click on a menu, it does. Can you correct this in a future version?

r0lZ
19th September 2004, 17:06
When I right-click on a VTST, my pop-up menu doesn't cover my PGC selection but when I right-click on a menu, it does. Can you correct this in a future version?I think it is not a problem related to the current domain. You probably got this problem when clicking on an entry at the bottom of the Selector window.
There is a bug in the tk_popup Tcl/Tk function: if the popup menu must be opened too low to fit totally on the screen, the window is opened at a fancy position, generally too high. I can't do anything, except sending a Tcl/Tk bug report.

vav
21st September 2004, 08:42
Originally posted by 2COOL
The #b is supposed to represent the sum of the sub-totals of buttons on every existing cells of that PGC.
10 + 10 + 10 + 10 +5 + 2 + 1 = 48b.

it's kinda fun feeling stupid every now and then...
Thanks for reminding me, 2COOL :-)

2COOL
24th September 2004, 07:25
@rolZ

Ever thought of implementing a better VMG/VTS Overview like how IfoEdit has. I find myself asking alot of users to copy their Overviews to a post so that I can get a quick grasp of whats existing. I'm looking for an info dump in reference to when I double-click in PGC Selection list.

r0lZ
24th September 2004, 07:45
The VMG overview is essentialy the table of titles. The 'Title Play Map Table' gives you the overview. I will add the same function as a dump...
Do you really need the VTST stream attributes also? I think this table is dangerous to thrust, because it is only a copy of the real attributes, defined in the VTS IFOs...

The VTS overview will be essentially a dump of the Cell Tables of all PGCs.

And a general DVD dump of all stream attributes could complete the picture.

Is it what you want?

2COOL
29th September 2004, 03:56
Originally posted by r0lZ
Is it what you want? In a way, yes.

2COOL
29th September 2004, 04:21
Say I have complete IFO files in my root and in VIDEO_TS folder. If I "Open DVD" in PgcEdit, I can only open up my VIDEO_TS folder's IFOs. In order to open up my files in my root folder, I have to go to Explorer, right click on a IFO, and select "Open With TK DLL". I still have IfoEdit opening up IFOs as default. Can you change the browse to not folder but to a IFO file? Because the way you have it, if there's a VIDEO_TS folder present in root, it'll open that up first. I sometimes like to drag files into my root folder since it's empty beforehand.


|
+ DVD root
|
+ VIDEO_TS

How about macro that swaps two audio or subpictures for ALL titles instead of per title? In addition, streams attributes for streams in question need to be swapped too.

r0lZ
29th September 2004, 09:42
Root/VIDEO_TS folder problem: Strange!
My intention was to open VIDEO_TS automatically if a VIDEO_TS.IFO file is not found in the root folder. I'll try to fix that...

I like to use the Folder browser, because it emphasises the fact that PgcEdit opens all IFO files of the DVD, not just the one you select. But this may be changed...

EDIT: The next release will have:
E. New option "Use file browser instead of folder browser for Open/Save folder operations?"
F. Open DVD: It is now possible to open a DVD located in a directory even if a VIDEO_TS subdir exist in this directory. The VIDEO_TS directory is now automatically selected only if there is no VIDEO_TS.IFO in the parent.



How about macro that swaps two audio or subpictures for ALL titles instead of per title? In addition, streams attributes for streams in question need to be swapped too.Possible. But the SetSTN commands will not select the right stream anymore. For example, some DVDs are checking the SPRMs to set the stream:
[61 00 00 03 00 92 00 00] 3 Set gprm(3) =(mov) sprm(18: preferred sub-picture language)
[71 00 00 05 00 00 00 00] 4 Set gprm(5) =(mov) 0 ".."
[71 A0 03 05 00 01 66 72] 5 if ( gprm(3) == 26226 "fr" ) then { Set gprm(5) =(mov) 1 ".." }
[71 A0 03 05 00 02 69 74] 6 if ( gprm(3) == 26996 "it" ) then { Set gprm(5) =(mov) 2 ".." }
[71 A0 03 05 00 03 6E 6C] 7 if ( gprm(3) == 28268 "nl" ) then { Set gprm(5) =(mov) 3 ".." }
[71 A0 03 05 00 04 61 72] 8 if ( gprm(3) == 24946 "ar" ) then { Set gprm(5) =(mov) 4 ".." }
[41 00 00 00 85 00 00 00] 9 (SetSTN) Set Sub-picture stream = gprm(5)
"for ALL titles instead of per title": do you want all TTNs of the current VTS, or all titles in the DVD?
The second option is difficult to implement, if the number or order of streams is different in the various titles.

EDIT: I think it is best to change or add a SetSTN command to have the stream you want played by default. It is not difficult to search for "SetSTN" in the PGC commands...
However, PgcEdit can't currently edit button commands... but this may change in the future... :)

szd
29th September 2004, 17:01
r0lZ,

I've used PcgEdit with much success. One thing I noticed is on a multi-angle movie the playback time calculation in the PGC editor seemed to add up all the angles, instead of just the first one. For example, if the PGC had a 30 min 2-angle chapter, the calculation would be 60 min... and a dialogue would pop up about fixing the playback time.

s

r0lZ
29th September 2004, 17:33
That's right! I'll fix the problem...

Thanks for submitting this bug, and welcome to the forum!

[EDIT:] Fixed (in v 0.3.5)

2COOL
29th September 2004, 19:24
Originally posted by r0lZ
EDIT: The next release will have:
E. New option "Use file browser instead of folder browser for Open/Save folder operations?"
F. Open DVD: It is now possible to open a DVD located in a directory even if a VIDEO_TS subdir exist in this directory. The VIDEO_TS directory is now automatically selected only if there is no VIDEO_TS.IFO in the parent.Thanks!
"for ALL titles instead of per title": do you want all TTNs of the current VTS, or all titles in the DVD?...of the current VTS. ;)

However, PgcEdit can't currently edit button commands... but this may change in the future... :) woohoo!!:D

2COOL
30th September 2004, 02:55
@rolZ

How about a macro that does a GLOBAL search and replace? Well, I had the search items in mind below on this brainstorm.

SEARCH FOR EACH
sprm(0: preferred menu language)
sprm(1:audio stream number)
sprm(16: preferred audio language)
sprm(2:sub-picture stream number)
sprm(18: preferred sub-picture language)

REPLACE/SET
e.g. 25966 "en" (set for English)

[61 00 00 01 00 80 00 00] # Set gprm(1) =(mov) sprm(0: preferred menu language) //OLD
[71 00 00 01 65 6E 00 00] # Set gprm(1) =(mov) 25966 "en"
_______________________________________________________________

[61 00 00 02 00 81 00 00] # Set gprm(2) =(mov) sprm(1:audio stream number) //OLD
[71 00 00 02 65 6E 00 00] # Set gprm(2) =(mov) 25966 "en" //NEW
_______________________________________________________________

[61 20 00 04 00 81 00 01] # if ( gprm(0) == gprm(1) ) then { Set gprm(4) =(mov) sprm(1:audio stream number) } //OLD
[71 20 00 04 65 6E 00 01] # if ( gprm(0) == gprm(1) ) then { Set gprm(4) =(mov) 25966 "en" } //NEW
_______________________________________________________________

[69 00 00 02 00 90 00 00] # Set gprm(2) =(mov) sprm(16: preferred audio language) //OLD
[71 00 00 02 65 6E 00 00] # Set gprm(2) =(mov) 25966 "en" //NEW
_______________________________________________________________

[61 20 00 03 00 90 00 01] # if ( gprm(0) == gprm(1) ) then { Set gprm(3) =(mov) sprm(16: preferred audio language) } //OLD
[71 20 00 03 65 6E 00 01] # if ( gprm(0) == gprm(1) ) then { Set gprm(3) =(mov) 25966 "en" } //NEW
_______________________________________________________________

[61 00 00 02 00 82 00 00] # Set gprm(2) =(mov) sprm(2:sub-picture stream number) //OLD
[71 00 00 02 65 6E 00 00] # Set gprm(2) =(mov) 25966 "en" //NEW
_______________________________________________________________

[61 20 00 04 00 82 00 01] # if ( gprm(0) == gprm(1) ) then { Set gprm(4) =(mov) sprm(2:sub-picture stream number) } //OLD
[71 20 00 04 65 6E 00 01] # if ( gprm(0) == gprm(1) ) then { Set gprm(4) =(mov) 25966 "en" } //NEW
_______________________________________________________________
[61 00 00 02 00 92 00 00] # Set gprm(2) =(mov) sprm(18: preferred sub-picture language) //OLD
[71 00 00 02 65 6E 00 00] # Set gprm(2) =(mov) 25966 "en" //NEW
_______________________________________________________________

[61 20 00 03 00 92 00 01] # if ( gprm(0) == gprm(1) ) then { Set gprm(3) =(mov) sprm(18: preferred sub-picture language) } //OLD
[71 20 00 03 65 6E 00 01] # if ( gprm(0) == gprm(1) ) then { Set gprm(3) =(mov) 25966 "en" } //NEW



hmmm...don't know if the 25966 "en" applies to these SPRMs but I think you know if they do.

sprm(17: preferred audio language extension)
sprm(19: preferred sub-picture language extension)

_______________________
Maybe a log on searched items?

e.g. Search item = "sprm(2:"

Found 2 commands.

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

********** pre commands:
[61 00 00 02 00 82 00 00] 3 Set gprm(2) =(mov) sprm(2:sub-picture stream number)

VTSM 1 / LU 1 (en) / 5 (0:38) 9b.

********** post commands:
[61 00 00 02 00 82 00 00] 5 Set gprm(2) =(mov) sprm(2:sub-picture stream number)
_______________________
PgcEdit's search function is very powerful. I just wish it could better. ;) What's your thoughts on this? Is it possible?

r0lZ
30th September 2004, 08:08
A global search is possible, with output to a log.

But a search and replace is much much more difficult. I need to write a command assembler that translate the textual command to the binary equivalent, to be replaced in the PGC. This is an enormous work, so don't expect this.

A simple search and replace for hex strings is more easy to do.

For example, search for
[61 00 00 0. 00 80 00 00]
and replace with
[71 00 00 0. 65 6E 00 00]
Where the dot match any character in the input string, and do not change the character in the output string.

This means that all lines with
Set gprm(*) =(mov) sprm(0: preferred menu language)
are replaced by
Set gprm(*) =(mov) 25966 "en"
where the * is left untouched.

However, this syntax is not verry user friendly :(

When I will have some time, I'll try do do something like that.

2COOL
2nd October 2004, 05:12
@rolZ

Just to confirm in the readme.txt...

Save DVD: save the IFO files of the DVD, in the original folder. The tables of VTS sectors are updated according to the VOB files contained in the folder at the time of the save operation.
...Save DVD performs a "Get VTS Sectors"?

r0lZ
2nd October 2004, 10:24
...Save DVD performs a "Get VTS Sectors"? Yes.

2COOL
3rd October 2004, 01:18
Originally posted by r0lZ
Yes. Thanks. ;)

r0lZ
4th October 2004, 17:32
PgcEdit v0.3.5 released!

Change log:
0.3.5 (October 4, 2004)
A. The menu buttons informations are now available also for Mac OS X users.
E. Blank Out all PGCs in Domain: added a confirmation dialog when overwriting the backup of the VOB file. Tooltips added for all options.
E. The PGC selector may now be placed on any side of the main window. The PGC labels are now more legible.
E. Tools configuration: Added argument substitution %n (Number of TitleSets)
E. New option "Use file browser instead of folder browser for Open/Save folder operations?"
F. Fixed a big bug with TTN number: was always the PGC number. The Title's entry PGC number were therefore also wrong. The TTN numbers are now correctly retrieved from the VTS_PTT_SRPT tables.
F. Open DVD: It is now possible to open a DVD located in a directory even if a VIDEO_TS subdir exist in this directory. The VIDEO_TS directory is now automatically selected only if there is no VIDEO_TS.IFO in the parent.
F. Set DVD-Text General Name: maximum string length bug hopefully fixed.
F. The total time of a multi-angle PGC is now calculated for Angle 1 only.
F. Command Editor CSetCLnk and CSetLnk bug fixed: When the IF 2nd operand is a value AND the IF checkbox is off, the Set's Value option was disabled.
F. Missing file in the source archive added.

Mac OSX users should refer to the homepage for installation instructions (Thanks to Damien).

Also, on the homepage is a new HTML version of 2COOL's guide "How to Completely Blank Out a Titleset (VTS) Using PgcEdit", and a new "PgcEdit Anleitung" by Tobi. Thank you, folks!

voo_doo99
4th October 2004, 18:35
Originally posted by r0lZ
PgcEdit v0.3.5 released!


http://www.dvdshrink.info/images/smiles/thumb_up.gif http://www.dvdshrink.info/images/smiles/eusa_dance.gif http://www.dvdshrink.info/images/smiles/eusa_clap.gif

OK, I like this 1-UP showmanship! :D

P.S. The PGC Selector looks great, and the Info dump is just awesome. Thanks. :)

2COOL
5th October 2004, 00:38
@rolZ

PgcEdit justs keeps getting better and better! Great Job!:D Though I kind of wished that there was a PGC text dump for this on a next version. ;)

http://img56.exs.cx/img56/9668/example6.jpg

r0lZ
5th October 2004, 01:28
@2COOL

Sorry, I forgot about it. I will try to make a new release quickly...

2COOL
5th October 2004, 01:44
Originally posted by r0lZ
@2COOL

Sorry, I forgot about it. I will try to make a new release quickly... Cool!

BTW, anyway of cleaning up the commands by excluding the " "?

[71 00 00 06 03 E8 00 00] 1 Set gprm(6) =(mov) 1000 ".è"
[71 00 00 06 00 01 00 00] 2 Set gprm(6) =(mov) 1 ".."
[71 00 00 04 00 01 00 00] 3 Set gprm(4) =(mov) 1 ".."

2COOL
6th October 2004, 03:30
@rolZ

I have been using the search field for quite some time now. I find myself always having to manually delete my previous search item or write over them. We need some kind of clear button or right-click option to clear. At the same time, a paste option too. Been using Ctrl+V alot. Can you have them in a future version?

ffroms
6th October 2004, 11:54
Hi r0lZ!

Thank you again for this great work.
Some time ago I asked about some type of playback option, something like debug that you can trace the way DVD is playing through programs. Then it wasn't possible 'couse then there was no menu buttons but now...? Is there any chance of that?

FFS

r0lZ
6th October 2004, 11:58
Originally posted by 2COOL
BTW, anyway of cleaning up the commands by excluding the " "?
Why do you want that? I think it is valuable to see the ascii translation for situations like this:
[61 00 00 00 00 90 00 00] 1 Set gprm(0) =(mov) sprm(16: preferred audio language)
[20 A6 00 00 66 72 08 01] 2 if ( gprm(0) == 26226 "fr" ) then { LinkPGN Program 1, button 2 (2048) }
I can actually check if the code is in the valid range to be a language code and display it only in that case, but it may be strange to see the codes in some circumstances, and not in the others.

r0lZ
6th October 2004, 11:59
Originally posted by 2COOL
@rolZ

I have been using the search field for quite some time now. I find myself always having to manually delete my previous search item or write over them. We need some kind of clear button or right-click option to clear. At the same time, a paste option too. Been using Ctrl+V alot. Can you have them in a future version? Of course. It's easy :)
BTW, you may already use Control-k to erase the field.

[EDIT:] Added the following popup menu in the future v0.3.6:

Restore Default (Ctrl-Z)
Copy (Ctrl-C)
Paste (Ctrl-V)
Clear (Ctrl-K) (this is the default option, under the mouse pointer)

I have also added the same menu, without the first option, in the search field of the text viewer.

r0lZ
6th October 2004, 12:01
Originally posted by ffroms
Hi r0lZ!

Thank you again for this great work.
Some time ago I asked about some type of playback option, something like debug that you can trace the way DVD is playing through programs. Then it wasn't possible 'couse then there was no menu buttons but now...? Is there any chance of that?

FFS The Trace function is still a work in progress. Maybe I'll post a beta Trace in some time...

voo_doo99
6th October 2004, 16:58
Originally posted by r0lZ
[61 00 00 00 00 90 00 00] 1 Set gprm(0) =(mov) sprm(16: preferred audio language)
[20 A6 00 00 66 72 08 01] 2 if ( gprm(0) == 26226 "fr" ) then { LinkPGN Program 1, button 2 (2048) }
I can actually check if the code is in the valid range to be a language code and display it only in that case, ...
I vote for this as the non-language codes come up just too often and very distracting. :cool:

r0lZ
6th October 2004, 17:40
OK!

Extract of the version history of v0.3.6:

E. In the disassembly of integer values, the ASCII equivalent of the value
is now displayed only if it is a valid language code. (No more "..")

Example:[53 00 66 72 00 00 00 00] 1 (SetGPRMMD) Set gprm(0) in register mode =(mov) 26226 ("fr")
[71 A0 01 00 90 00 65 6E] 2 if ( gprm(1) == 25966 ("en") ) then { Set gprm(0) =(mov) 36864 }

2COOL
7th October 2004, 00:51
@r0lZ

Thanks for the future features! Since you were cleaning up the code, how about putting a space between : and p?

If I copied and posted commands like below, I get the :p.
e.g.

[61 00 00 00 00 80 00 00] 1 Set gprm(0) =(mov) sprm(0:preferred menu language)

With a space in-between, it looks better like this.


[61 00 00 00 00 80 00 00] 1 Set gprm(0) =(mov) sprm(0: preferred menu language)

r0lZ
7th October 2004, 01:19
OK! But it's a bug in the forum! :angry: Smileys should not be displayed between [code] marks...

2COOL
7th October 2004, 01:24
Have a :D day!

r0lZ
7th October 2004, 01:27
Found a better solution: capitalization.

sprm(0:Preferred menu language)
sprm(1:Audio stream number)
sprm(2:Sub-picture stream number)
sprm(3:Angle number)
sprm(4:Title number in volume)
sprm(5:Title number in VTS)
sprm(6:PGC number)
sprm(7:Chapter number)
sprm(8:Highlighted button number)
sprm(9:Navigation timer)
sprm(10:PGC jump for nav timer)
sprm(11:Karaoke audio mixing mode)
sprm(12:Parental management country code)
sprm(13:Parental level)
sprm(14:Video preference and current mode)
sprm(15:Player audio capabilities)
sprm(16:Preferred audio language)
sprm(17:Preferred audio language extension)
sprm(18:Preferred sub-picture language)
sprm(19:Preferred sub-picture language extension)
sprm(20:Player region code)
sprm(21:Reserved)
sprm(22:Reserved)
sprm(23:Reserved for extended playback mode)

2COOL
7th October 2004, 01:31
That works too. Speaking of capitalization for the anal retentive people out there...

Since gprm and sprm are acronyms, shouldn't they be GPRM and SPRM?

No big deal for me though. It's just your personal touch. ;)

2COOL
7th October 2004, 01:37
One big glitch I have with the search field and I probably would hear you say that it's a tcl/tk bug but when I copy a command (right click) and paste it in the search, I get { }.

{20 01 00 00 00 00 00 0D}

You can't search for this unless it's 20 01 00 00 00 00 00 0D or [20 01 00 00 00 00 00 0D]

Update:

If I go to my Command Editor, click on command button, and select
Copy Ctrl-C

I now get this in my search field when pasting. This works but you gotta do extra steps. :(

20 01 00 00 00 00 00 0D

r0lZ
7th October 2004, 09:16
Since gprm and sprm are acronyms, shouldn't they be GPRM and SPRM?Yes, but I prefer to leave them in lower case: it's more legible.


About the copy:
When you copy/paste in the main window, you are actually copying/pasting a Tcl/Tk list of lines. The { } are special marks needed by Tcl/Tk to identify the beginning and end of each element in the list.

For example, if you copy 3 lines at once, this is what is placed in the clipboard:

{00 A1 00 00 00 01 00 11} {00 A1 00 00 00 02 00 12} {00 A1 00 00 00 03 00 13}

This text only format is handy: you may transfer lines of code easily through a forum, mail etc...


When you are in the command editor, only one line can be copied/pasted at a time, and so the {} are not needed:

00 A1 00 00 00 01 00 11

Maybe I can add a check when a copy is done, and use the Tcl list syntax only when more than one line is copied. So you will not have the {} anymore when you copy just one line. This may work, but I must check it...

[EDIT:] Done.
History extract:
E. The Copy and Cut buttons in the main window are now placing the command
in the clipboard without the "{" and "}" characters if only one command
is copied/cutted. Handy to paste the hex codes in the search field.

babyken
7th October 2004, 13:36
Hope add PGC simulation play with realtime GPRM SPRM view!:D :D

when use Title menu (VTST) can't analyze PGCedit? BUG?

r0lZ
7th October 2004, 13:50
Welcome to the forum, babyken!

Originally posted by babyken
Hope add PGC simulation play with realtime GPRM SPRM view!:D :D I am working at a Trace function for PgcEdit. This function will do exactly that, and more...

when use Title menu (VTST) can't analyze PGCedit? BUG? What do you mean?

babyken
7th October 2004, 15:15
Originally posted by r0lZ

I am working at a Trace function for PgcEdit. This function will do exactly that, and more...


I think is a good news :D


http://211.155.27.177/PGCedit.gif

r0lZ
7th October 2004, 16:19
I see.

You have a menu in the Title domain.
It is possible to add buttons on a Title, to use it as a menu. This technique, called BOV (Button Over Video), is used for example to display the white rabbit in The Matrix.
PgcEdit currently doesn't search for buttons in the Title's VOBs. Sorry. :(

Note that the display "VTS 1,1 TTN 1 (0:00) Title 1" is correct. This is really the Title 1, even if it is used as a menu.

2COOL
8th October 2004, 01:12
@r0lZ

Request to widen your search to include button commands. ;)

Off Topic:

I was just thinking about the logical flow of command navigation.
We pretty much have all been raised on IfoEdit's PGC Command Table layout as below.

******* pre commands
******* post commands
******* cell commands

But under normal navigation conditions, I think it should've been laid out like this.

******* pre commands
******* cell commands
******* post commands

Just providing food for thoughts. :)

r0lZ
8th October 2004, 01:23
******* pre commands
******* cell commands
******* post commands

That's better, indeed. However, in the IFO, the order of the commands is pre/post/cell.
Seems difficult to change the habitudes now.

babyken
8th October 2004, 02:27
Originally posted by r0lZ

Note that the display "VTS 1,1 TTN 1 (0:00) Title 1" is correct. This is really the Title 1, even if it is used as a menu.

I know :D but is n0 perfect.:(

2COOL
8th October 2004, 02:47
Originally posted by babyken
I know :D but is n0 perfect.:( Is there any tool out there that is "truly" perfect? It's like searching for the holy grail. :(

I hope in time r0lZ will figure out how to work with BOVs but I feel it's going to take him more than a while.

voo_doo99
8th October 2004, 17:29
Originally posted by r0lZ
... However, in the IFO, the order of the commands is pre/post/cell.
Seems difficult to change the habitudes now.

Exactemente! :cool:. Please, I just started to enjoy the synergy of PgcEdit and IFOedit. Having to adjust to a change in command display order would be really painful! :(

2COOL
8th October 2004, 19:08
Originally posted by voo_doo99
Exactemente! :cool:. Please, I just started to enjoy the synergy of PgcEdit and IFOedit. Having to adjust to a change in command display order would be really painful! :( Oh, I wasn't implying on changing the paradigm. It was just a spontaneous off-topic thought. Funny though, once you are aware of it, you tend to notice it more when you follow navigations. Well, that's just talking for me. :p

2COOL
13th October 2004, 05:24
@r0lZ

I have an error to report when I edit the command as follows.
list element in quotes followed by """ instead of space I was just playing around with the commands when I got it.

OLD:

[20 A5 00 09 C0 01 00 01] 15 if ( gprm(9) == 49153 "À." ) then { LinkPTT Chapter 1 }

NEW:

[20 A1 00 09 C0 01 00 0D] 15 if ( gprm(9) == 49153 "À." ) then { LinkTailPGC }
____________________________________________
Error Details:

list element in quotes followed by """ instead of space
list element in quotes followed by """ instead of space
while executing
"lindex $cmd 1"
invoked from within
"if $jumpfound {
if {$targetpgc == -1} {
set err true
} else {
if {$targetsection != "na"} {
if {$targetsection == "pre"} {
set targ..."
(procedure "highlight_jump_cmd" line 189)
invoked from within
"highlight_jump_cmd $currenttype $currentindex $cmd $linenum $jump true"
(procedure "highlight_jump" line 11)
invoked from within
"highlight_jump $idx false"
(procedure "::main::action_Edit_Cmd" line 24)
invoked from within
"::main::action_Edit_Cmd"
(command bound to event)
____________________________________________


Also, when I save the error log, it defaults to saving to my movie folder. Ideally, IMO, it should default saving to my backup folder. but then again, we have that option
Create backup when a DVD is opened for the first time? to contend with. :( So, this would be a bad idea.

Update: maybe not. If you could put a check to see if a pgcedit backup folder exists, open backup folder.

blutach
13th October 2004, 08:38
@r0lz
The Tools menu is wonderful - launching others editors and the like.

Is there a way to get the child process (eg IFOEdit) to automatically load the IFOs that you were working on when launching the process as a function of PGCEdit?

This would be very useful.

Am I just lazy? If so, disregard this posting.
If it is already implemented, call me dopey and help please!

Knocks
13th October 2004, 09:12
I discovered PgcEdit today and it made my day. Finally a painless and free way to disable intros. Thank you so much for making this program!

2COOL
13th October 2004, 10:56
Originally posted by blutach
Is there a way to get the child process (eg IFOEdit) to automatically load the IFOs that you were working on when launching the process as a function of PGCEdit?
If it is already implemented, call me dopey and help please! Uhhh, dopey? :p:p I think I got it figured out for getting IfoEdit to open up a IFO.

____________________________________________________
1. Go to Tools > Configure tools.
____________________________________________________
2. With IfoEdit selected, click on Edit button.
____________________________________________________
3. In Arguments field, input "%p\%i" (with quotes too).
____________________________________________________
4. OK to set.
____________________________________________________
5. Click on Test button to see if it works.
____________________________________________________
6. If it does, click on Save button.
____________________________________________________

So whatever PGC you have highlighted in your PGC Selection, that's the IFO that IfoEdit will open up for you. :D

Update: If you add DVD Shrink.exe, you can use the same arguments as above.

@r0lZ

I've read your Tool Argument Notes and even though this says this, ...
The filenames must be enclosed in double quotes. Example: "%p\%i"... it still works without the quotes.

r0lZ
13th October 2004, 11:35
@2COOL

list element in quotes followed by """ instead of spaceI will have a look at this error.
[EDIT:] I can't reproduce the error. Could you be more precise? What are you doing exactly? And, please, send me the IFOs...
[EDIT2:] You're right. I was using the new 0.3.6 version (still a beta). This problem is already fixed in this version.

Also, when I save the error log, it defaults to saving to my movie folder. Ideally, IMO, it should default saving to my backup folder.I cannot change that easily. The error GUI is managed internally by Tcl/Tk. It is possible to replace it with another one, but the advantege is verry small.

r0lZ
13th October 2004, 11:45
Originally posted by blutach
@r0lz
The Tools menu is wonderful - launching others editors and the like.

Is there a way to get the child process (eg IFOEdit) to automatically load the IFOs that you were working on when launching the process as a function of PGCEdit?

This would be very useful.

Am I just lazy? If so, disregard this posting.
If it is already implemented, call me dopey and help please! If the application you launch has a command line option allowing to pass a filename to the app, it is possible.

For IfoEdit (and most application), you need to put "%p\%i" (with the quotes) in the argument field of the Tool Configuration GUI.
%p will be replaced by the directory name, and %i by the current IFO filename.
If you prefer to load VIDEO_TS.IFO in IfoEdit (regardless of the PGC currently selected in PgcEdit), then use "%p\VIDEO_TS.IFO"

Hint: Do a "Get VTS Sectors" in IfoEdit to load all the DVD files.

Look here (http://forum.doom9.org/showthread.php?s=&threadid=82724&perpage=20&pagenumber=2#post548810) for more infos...

r0lZ
13th October 2004, 12:11
@2COOL
Sorry, I have replied to blutach before I saw your mini guide. Well done, as usual. ;)
Originally posted by 2COOL ... it still works without the quotes.
Without the quotes, it works only if there are no spaces in the pathname.

Update: If you add DVD Shrink.exe, you can use the same arguments as above.For DVDShrink, it is best to use "%p\VIDEO_TS.IFO", or DVDShrink will open only the current titleset's VOB files.

blutach
13th October 2004, 12:22
@2cool and r0lZ,

The reason I asked is that I had already done those things (as outlined in the help file for PGCEdit) but to no avail. I'll try again.

@2cool - do you need to have the PGC highlighted?? I'll try that.

(Signed Dopey) :D

blutach
13th October 2004, 12:35
Screen shot follows

Help!

r0lZ
13th October 2004, 12:38
do you need to have the PGC highlighted?? I'll try that.If you use "%p\%i", the filename passed is the IFO of the currently selected PGC.

If you have trouble to launch an app, you should enable the "Ask confirmation before launching tool" option. You will see the command line used to call the tool in the dialog. You should see something like this:
Command line:
"C:\Program Files\IfoEdit\IfoEdit.exe" "C:\rip\MyDVD\VIDEO_TS\VTS_01_0.IFO"

blutach
13th October 2004, 12:42
@r0lZ/2COOL

IFOEdit launches OK (it always did) but still no launch of the IFOs.

Screen shot follows. (The path to IFOEdit is a long one but is OK).

Any further suggestions?

2COOL
13th October 2004, 12:57
Originally posted by blutach
Screen shot follows

Help! Try using ImageShack (http://imageshack.us/index.php). It's free.

blutach
13th October 2004, 13:09
Thnx 2COOL. See enclosed (hopefully, they will show). Sorry abt multiple posts :confused:

http://img50.exs.cx/img50/1296/NewBitmapImage1.gif

http://img73.exs.cx/img73/6784/2ndGIF.gif


Regards and thanks

blutach
13th October 2004, 13:26
@r0lZ - This is NOT your problem. It is Derrow's!!!!

If IFOEdit is maximised (which I usually have it), it just opens "blank" after being called from PGCEdit (ie. as if the parameters have not been parsed).

HOWEVER, if IFOEdit is not maximised - just a regular window - then no problems!!! The IFO is parsed over and opens. Weird, non:confused: :confused: :confused:

And yes, I usually use Get VTS Sectors to then open all the IFOs:)

Someone who knows how to cross-post - or who knows Derrow well - may like to bring this to his attention (or maybe it's a Windows XP thing - let's hope so, so we can blame MS and let Derrow off the hook!!)

Thanks for taking the time with me.

Regards

r0lZ
13th October 2004, 13:39
Yeah! I know this problem with IfoEdit. Also, there is a similar problem if you quit the IfoEdit playback with the close button of the video window.

2COOL
13th October 2004, 13:59
Another error! You can't import more than 1 VTST Titles.

can't read "::ttns(2,2)": no such element in array
can't read "::ttns(2,2)": no such element in array
while executing
"set :: pgcs([get_int data $t_idx 1],$::ttns([get_int data $t_idx 1],[get_int data [expr $t_idx+1] 1]),Title) $t"
(procedure "::utils::import_VTST" line 145)
invoked from within
"::utils::import_VTST"
(menu invoke)

voo_doo99
13th October 2004, 17:26
@r0lZ

I have a couple of requests for the Command listing pane: :)

- Can the hex codes be optionally hidden?. Your super Command Editor is only one click away, the codes is only taking spaces away from those long command scripts.
- And some command scripts are extra long, can a tool tip be implemented to show the whole length without me having to scroll right and back left all the time?

You probably have a lot on your list, but if there is time ..:D
Thanks.

r0lZ
13th October 2004, 17:43
Originally posted by voo_doo99
@r0lZ

I have a couple of requests for the Command listing pane: :)

- Can the hex codes be optionally hidden?. Your super Command Editor is only one click away, the codes is only taking spaces away from those long command scripts.

Unfortunately no. The method I use is to retrieve the commands in the listbox when I need them. And I can only parse hex codes.

- And some command scripts are extra long, can a tool tip be implemented to show the whole length without me having to scroll right and back left all the time? I must be able to know when the command is not displayed completely, and it's not so easy... If I find a solution, I will add the tooltips.

2COOL
13th October 2004, 17:44
@voo_doo99

Originally posted by voo_doo99
- Can the hex codes be optionally hidden?. Your super Command Editor is only one click away, the codes is only taking spaces away from those long command scripts.
- And some command scripts are extra long, can a tool tip be implemented to show the whole length without me having to scroll right and back left all the time?



In v0.3.5, you now have the option to move your PGC Selector to any side of the window.

Change log:
0.3.5 (October 4, 2004)

E. The PGC selector may now be placed on any side of the main window. The PGC labels are now more legible.

Go to View > PGC Selector side. If you select Top or Bottom, you'll have enough room to see hex and long commands. ;)

voo_doo99
13th October 2004, 21:58
Originally posted by 2COOL
In v0.3.5, you now have the option to move your PGC Selector to any side of the window.

Go to View > PGC Selector side. If you select Top or Bottom, you'll have enough room to see hex and long commands. ;)
Thanks for the tip 2COOL. Top placement helped but not optimal, still hoping r0lZ will find a tool tip solution :p.

Just checked out the debut of your new ( PgcEdit Guides ) (http://forum.doom9.org/showthread.php?s=&postid=244793#post244793). Wow, they are gorgeous. http://www.dvdshrink.info/images/smiles/thumb_up.gif http://www.dvdshrink.info/images/smiles/eusa_dance.gif http://www.dvdshrink.info/images/smiles/eusa_clap.gif
Lotsaworks! 2C:cool::cool:L, you've outdone your self.:D

2COOL
13th October 2004, 22:09
Originally posted by voo_doo99
Just checked out the debut of your new ( PgcEdit Guides ) (http://forum.doom9.org/showthread.php?s=&postid=244793#post244793). Wow, they are gorgeous. http://www.dvdshrink.info/images/smiles/thumb_up.gif http://www.dvdshrink.info/images/smiles/eusa_dance.gif http://www.dvdshrink.info/images/smiles/eusa_clap.gif
Lotsaworks! 2C:cool::cool:L, you've outdone your self.:D Thanks! You know, I really take pride on my new Removing Language Selection and Aspect Ratio Menus guide. I totally used a new set of tools. :) I know someday someone is going to automate the whole thing with one tool just by clicking on the menu button which has the command for a new cell command.

jeanl
13th October 2004, 22:14
I know someday someone is going to automate the whole thing with one tool just by clicking on the menu button which has the command for a new cell command.
That someone might just be r0lZ! He's already adapted quite a few of your solutions in pgcedit!
;)
Jeanl

2COOL
13th October 2004, 22:17
He's almost there! If only PgcEdit could blank a cell. ;) If he could get that to happen and also providing the menu background, my retirement of my guide would be sooo sweeet! :)

jeanl
13th October 2004, 22:26
He's almost there! If only PgcEdit could blank a cell. If he could get that to happen and also providing the menu background, my retirement of my guide would be sooo sweeet!
OK here's an idea: What you're asking for is currently a combination of vobblanker (which can blank just about anything! and also show menu background (I think)), and pgcedit. Imagine if pgcedit could invoque vobblanker, telling it to blank this cell in this pgc in this vts(m)... That would already make it soooo much easier. I'm sure jsoto could provide that as command-line arguments.

On the other hand, do you know whether DVDRemake can do this sort of things very easily? I'm wondering what the point is to bang our heads on all these things, if there are programs for less than $40 which can do them in a breeze. I haven't tried DVDremake though, so I don't know how easy it is (but hey, where's the fun in that? ;))

I think the command-line argument would be great! But that would require good coordination between jsoto and r0lZ... Not impossible though...
Jean

2COOL
13th October 2004, 22:34
Originally posted by jeanl
I think the command-line argument would be great! But that would require good coordination between jsoto and r0lZ... Not impossible though...It's not the first time great minds came together for a cause. LIGHTNING UK! (DVD Decrypter) and Coujo (ImgTool Classic) is a great example. :) http://forum.doom9.org/showthread.php?s=&threadid=63102&highlight=coujo

jeanl
13th October 2004, 22:37
Hey 2COOL, you want to ask them?
:)
jeanl

2COOL
13th October 2004, 22:39
jsoto's online right now in the Development Forum. I give you the honors. ;)

UPDATE: He's here now. :)I wonder who he's sending a PM to ATM?

r0lZ
14th October 2004, 00:40
Hey, mes demoiselles! Don't dream too much.
I have alot of projects for PgcEdit, but I can't do everything at once...
jsoto is already helping me. And VOBBlanker has alerady a INI file option. But why do you want to include this wonderful tool in PgcEdit? The GUI is pretty well done, and I can't see what I may improve.
However, I agree that a simple blank cell feature is welcome in PgcEdit. jsoto has already fixed a bug in BlankVOB, and I will probably be able to add this feature...
But for now, I want to complete the Trace, then the edition of the menu buttons (thanks to jsoto), and then..., ... maybe... ... if i have some time..., some more functions.

Kaimaster
14th October 2004, 17:07
Hi

Is it possible to remove unwanted Titles or PGC's? If so, how?

PGC Edit's the best. Keep up the great work.

Thanks

km

jeanl
14th October 2004, 17:37
I guess you missed this:
http://forum.doom9.org/showthread.php?s=&postid=244793#post244793
2COOL has written a few really cool guides for pgcedit, some of which to do exactly what you ask.
Jeanl

Kaimaster
15th October 2004, 06:53
Thanx 4 the reply.

I had a look at all those guides, but they only BLANK out the PGC's and Titles. In other words, they get replaced by a blank frame for Titles. This means that you'll have a few blank VOB files sitting on your DVD that's not needed at all and PGC's not used.

Scenaria: I create a new DVD with PGC Edit and add 2 Titles. Title 2 is wrong and I need to replace it or I don't want it anymore. Now the only thing to do is to blank it out right? Now I add the correct Title, but now I have 3 Titles. The only way I get past this, is to close PGC Edit, start it up again and create a New DVD.

Wouldn't it be cool to be able to delete it instead of starting over?


Thanx

km

blutach
15th October 2004, 07:23
You really are a perfectionist Kaimaster. Those blanks take up a measly 10KB (plus the associated IFO and BUP) and you can disable the playback with PGCEdit's killplayback function anyway.

r0lZ
15th October 2004, 09:45
@Kaimaster

I have tried to wrote a function to delete an arbitrary PGC, in the title or menu domain, or the whole titleset. This is really not a piece of cake. There are many tables and parameters to update, in the VTS and VMG IFOs. All references to the deleted PGCs must be safely removed. Furthermore, and this is the big problem, all references to PGCs or titlesets following the removed one must be updated.

I may write more easily a function to completely remove the LAST titleset of the DVD (VTSM and VTST), but here again there are difficulties. (For example, it is possible that one Title number in the deleted VTS is not the last one in the VMG_TT_SRPT table: I must therefore update all the JumpTT targets.)

If you really want to cleanup totally your DVD of unwanted titlesets, you should use the New DVD and the Import functions, and modify the references in the commands yourself. That's what you suggested...

sweetness
18th October 2004, 16:07
Hi r0lZ, i'm having some problems with Pgcedits macros. the import title closing clip and the import title intro clip i get errors, but the import first-play (start up) clip works fine. what i did was create a movie only backup with dvdshrink in re-author mode then tried to import the clips. here are the two error messages i get when i try to use the marcos.

invalid command name "set_menu_type"
invalid command name "set_menu_type"
while executing
"set_menu_type 0 1 1 0 "
(procedure "::macros::import_title_intro_clip" line 126)
invoked from within
"::macros::import_title_intro_clip"
(menu invoke)

and to other one is the same except of this line.

(procedure "::macros::import_title_closing_clip" line 273)

any ideas? thanks

r0lZ
18th October 2004, 16:30
Hi sweetness,

Bug found and fixed. A new version will be available soon...

r0lZ
20th October 2004, 14:00
PgcEdit v0.3.6 released.

Download (http://home.tiscali.be/debie.roland/pgcedit/)

Added: Added the "PGCs params and Cell table" menu to dump all PGCs.
Added the "Remove Parental Managment" utility.
Thanks to jsoto, The VOB/Cell ID remapper (in the PGC Editor window, VOB/Cell ID buttons) has now the ability to append a new blank cell to the VOB. Handy to blank out a specific cell. Currently for Windows only.
Enhancements: Changed the "Info/PGC commands" to "Info/PGC". Now, dump also the PGC parameters and the Cell Table.
"Find Unused GPRMs" now search also for GPRMs in the menu button cmds.
In the disassembly of integer values, the ASCII equivalent of the value is now displayed only if it is a valid language code. (No more "..")
The first column of the Cell Table in the PGC Editor is now the Number of Buttons for a Menu PGC (and still the Chapter Number for a Title).
New popup menu on the Search fields of the main window and the text viewer, to clear, copy and paste in the search field.
The Copy and Cut buttons in the main window are now placing the command in the clipboard without the "{" and "}" characters if only one command is copied/cutted. Handy to paste the hex codes in the search field.
Command Editor: When pasting in the hexadecimal field, the command is now automatically validated, and transferred in the GUI.
The number of buttons shown in the PGC labels is now "?b." if the VOB file is missing or not readable. Was "0b." before.
Now, the "Cell Type Flags" editor doesn't allow to select an Angle Type if the Angle Block flag is not checked.
"Kill PGC Playback" changes now also all Link to Cell, PG or PTT pre commands to GOTOs (only if the Highlight Button parameter is not used.)
Documentation updated (and english doc corrected.)
Bug fixes: "Kill PGC Playback" will now remove the post commands after a Kill if the total number of commands exceeds the fatal limit of 128.
"Import First-Play Clip" and "Import Title's Intro Clip" bugs fixed.

maksa
20th October 2004, 14:24
I'll check Parental MAnagement Removal tonight. Did you do all of it or just removal of PGC_MAIT TAble?

Regards,
Maksa

r0lZ
20th October 2004, 14:31
This utility will remove the parental managment:
delete the VMG_PTL_MAIT table, reset all Parental ID
masks in the VMG_TT_SRPT and the VTS_PGCITI tables,
and change the SetTmpPML commands to GOTOs.

The DVD will therefore ignore the parental level
of the player.

Are you sure ?

...
You will never be prompted for a password anymore!

To be sure that the Parental level is never used in the DVD,
you should search for any occurence of sprm(13:Parental level)
and change the sprm 13 in the command by the constant value 15.
(The search field is alerady initialized with the string "sprm(13:")
For example, change "Set gprm(4) =(mov) sprm(13:Parental level)"
to "Set gprm(4) =(mov) 15".

OK

maksa
20th October 2004, 15:50
Thanks a lot... didn't catch that one before.

jeanl
20th October 2004, 17:12
r0lZ, thanks for this new release! :)
It sounds like pgcedit's Kill Playback macro is now the most advanced around, as it now also handles cases (pointed out by 2COOL) where playback previously still occured. This is really cool.
Can't wait to play with it!
Jeanl

r0lZ
20th October 2004, 17:25
It sounds like pgcedit's Kill Playback macro is now the most advanced around, as it now also handles cases (pointed out by 2COOL) where playback previously still occured. This is really cool.Yes, thanks to jsoto!
However, though it is theorically possible to blank or skip any playback with PgcEdit, the case of a menu with buttons is not yet automated. You have still to follow the 2COOL's guide (http://home.tiscali.be/debie.roland/pgcedit/third_party/2cool/remove_language_aspect_ratio_menus/remove_language_and_aspect_ratio_menus_intro.htm) to get rid of them.
Maybe I'll write a macro to automatize that...

jeanl
20th October 2004, 17:32
However, though it is theorically possible to blank or skip any playback with PgcEdit, the case of a menu with buttons is not yet automated. You have still to follow the 2COOL's guide to get rid of them.
Now, THAT would be a real breakthrough, because the procedure is pretty involved, but pretty neat too!
Jeanl

jsoto
20th October 2004, 18:16
@r0lZ
It sounds like pgcedit's Kill Playback macro is now the most advanced around, as it now also handles cases (pointed out by 2COOL) where playback previously still occured. This is really cool.
Yes, thanks to jsoto!
Are you taking about this? "Kill PGC Playback" changes now also all Link to Cell, PG or PTT pre commands to GOTOs (only if the Highlight Button parameter is not used.) If yes, don't give me any credit. You have pointed me in this direction before... VM commands management is your business. :)

jsoto

r0lZ
20th October 2004, 19:11
No, I think at BlankCell.exe. It adds a blank cell to any VOB. You know that: it's your job.
It is therefore now possible to exchange any cell with a blank one. This step was missing to complete the 2COOL's guide with PgcEdit alone.

Thanks again, jsoto!

2COOL
20th October 2004, 20:08
Originally posted by r0lZ
This step was missing to complete the 2COOL's guide with PgcEdit alone. C My thanks to you too jsoto!

blutach
20th October 2004, 22:31
PGCEdit just keeps getting better and better.

Thanks r0lZ

From your biggest fan

2COOL
20th October 2004, 22:34
Anyone notice how clean the commands are now? :D

2COOL
20th October 2004, 23:37
Originally posted by blutach
PGCEdit just keeps getting better and better. Since vStrip has CLI commands, I think you can incorporate it into PgcEdit for stripping out Audio and Subpictures. I hope you can understand this guide (http://www.doom9.org/vstrip.htm). This would take PgcEdit closer to matching IfoEdit. What do you think?

jeanl
20th October 2004, 23:42
Originally posted by 2COOL
Since vStrip has CLI commands, I think you can incorporate it into PgcEdit for stripping out Audio and Subpictures. I hope you can understand this guide (http://www.doom9.org/vstrip.htm). This would take PgcEdit closer to matching IfoEdit. What do you think?
what about the fact that pgcedit is multi-platform :(?
No, but seriously, I'm not familiar with vstrip. What would having vstrip functionality in pgcedit enable?
Jeanl

jsoto
21st October 2004, 00:11
I think vStrip is not able to do audio/subs stripping..., am I wrong?

I believe it is a ripper+demuxer. Stripping is a feature close to muxing, because you need to readjust all the internal VOB pointers.

jsoto

r0lZ
21st October 2004, 09:57
I don't know vstrip too well. Of course, it is possible to add a Windows-only GUI frontend to vstrip in PgcEdit, but I need to study it to know if it is possible to integrate it in a more useful way.

What would having vstrip functionality in pgcedit enable?
Good question.

Kilyan
21st October 2004, 10:08
Hi!

Is there a way to edit the menu(s), so that the subpic turns off let's say 4 sec before the end of the menu (the subpicture doesn't starts with the menu, but 5 sec after. DVD compiled with Maestro), I mean making it invisible and inoperable with pgcedit?

Thanks

Cela
21st October 2004, 10:54
Originally posted by r0lZ
Thanks to jsoto, The VOB/Cell ID remapper (in the PGC Editor window, VOB/Cell ID buttons) has now the ability to append a new blank cell to the VOB. Handy to blank out a specific cell. Thank you for that great program!

Allow me to report a small problem. When I tried to append a new blank cell to the last chapter, like I normally do with jsoto's AddChapter, it did not append but it replaced the last chapter.

Example: let the last cell originally be 1/31
'Create a new blank VOB Cell' tells me: 'A new blank cell will be appended ...and Cell ID will be assigned to Cell 32 of current PGC'.
I do not get the expected result like from AddChapter
...
1/30
1/31
2/1

but I get
...
1/30
2/1
and that means 1/31 is not appended to but is replaced?

What am I doing wrong? Please help.

Regards,
Cela

r0lZ
21st October 2004, 10:57
Originally posted by Kilyan
Hi!

Is there a way to edit the menu(s), so that the subpic turns off let's say 4 sec before the end of the menu (the subpicture doesn't starts with the menu, but 5 sec after. DVD compiled with Maestro), I mean making it invisible and inoperable with pgcedit?

Thanks
I'm not sure to understand what you want to do.


If you want to remove the button highlights, you may try this:
- Double click on the menu PGC in the PGC selector pane to open the PGC Editor window.
- In the Sub-picture Streams section, click on the subpic 1 button.
- Select Disable
- You may have to change the Cell's Still Time duration to 0 in the Cells list, too.
- Accept and Save DVD.
Note: Not sure if it works! You will probably not be able to select any button in the menu.


If you want to change the starting or ending time of the highlight, you have to use VobEdit. Not easy with an animated menu!

1. Get LBA number with PgcEdit.
- Load the DVD in PgcEdit.
- In the PGC selector pane, right click on the PGC with the menu, and select Show Menu Buttons.
- Hold your mouse over the topmost button of the window (the button showing the PGC label and VOB/Cell IDs). A tooltip will appear, with the LBA number of the cell in the VOB.
- Note this number
- Also, note the number of the button you want to be automatically selected when the menu will be played.
- Quit PgcEdit.

2. Change values with VobEdit.
- Open your menu VOB in VobEdit.
- Enable the Button checkbox.
- Scroll to the LBA number noted in part 1, and select it in the left pane.
- In the right pane, copy the Highlight start time value to the Highlight end time (at offsets 008f and 0093). Or maybe you can set both to -1 (not tested)
- Then, change the force action button number (at offset 00a2) to the number of the button you want to be automatically selected (noted in part 1)
- You may need to repeat the edits for all NAV Packs of the cell, but sometimes changing only the first NAV pack is sufficient.


Check carefully all situations before burning (for example, press FF when in your menu). There may be side effects around...

r0lZ
21st October 2004, 11:09
Originally posted by Cela
When I tried to append a new blank cell to the last chapter, like I normally do with jsoto's AddChapter, it did not append but it replaced the last chapter. Normal. The function you are using is a Cell Remapper, not another AddChapter. With this function, you can assign another VOB/Cell ID to any cell of the PGC. In the last version, I added the ability to create a new blank cell, and remap the currently selected cell to this blank one.
The main purpose of this addition is to blank out a specific cell.

Currently, PgcEdit is not able to add a new cell in the cell list. This is what you want. Sorry :(

Note: If you want a blank chapter only to be able to skip to the end of the title with the next chapter button, you should try the "Enable Navigation Buttons" utility.

maksa
21st October 2004, 15:18
Roiz, once again excellent work. New PgcEdit PM Removal macro works as described. Tried last night and it did what is promised. But disk wouldn't work with PowerDVD at G level. I had to go and fin sprm(13) and replace it with (mov)15. After thet everything OK. Anywas, great automation.
Thanks again,
Maksa

Kilyan
21st October 2004, 15:24
Thanks r0lZ!

I' ll try that.
" If you want to change the starting or ending time of the highlight, you have to use VobEdit. Not easy with an animated menu!"
That's not totally my problem, I mean the buttons totally disappears from the animated menu before it ends.
The starting time is can be easely done in maestro but no way to define an ending time (the button can be seen till the end of the animated menu). My original dvd has only animated menus, which work as follow:
1. animated menu starts, no buttons shown and nothing selectable.
2. after 5 sec all buttons appear and selectable and can be activated.
3. 5 sec before the end of the animated menu, all the buttons disappear and so nothing is selectable.
This menus has 2 cell, 2. cell defining the beginning of the apparition of the buttons.
I want to reproduce number 3. the way they did it on the original.

So I hope with your second guess and walkthrough about my problem will be solved.
If you think it's not the right way, please reply.
Thanks.

Mega-Splat
21st October 2004, 15:57
OK, I've got PGCEdit v0.3.4 and it was properly installed into WinXP Home (SP1). Now I'm trying to uninstall it via PGCEdit's own uninstall option and I'm getting this error window
"Error: can't read "env(HOME)": no such variable"
and here's the info straight out of the error's text box:

can't read "env(HOME)": no such variable
can't read "env(HOME)": no such variable
while executing
"file join $env(HOME) "Application Data/PgcEdit""
(procedure "::winshellext::uninstallPgcEdit" line 30)
invoked from within
"::winshellext::uninstallPgcEdit"
(menu invoke)



So, how do I uninstall this puppy?

r0lZ
21st October 2004, 17:13
@Mega-Splat
This is a bug.

You will need to delete the files manually.
- Delete the PgcEdit's install directory (with PgcEdit.exe and a bin subdirectory).
- Delete the shortcuts pointing to PgcEdit if you created some (in the startup menu, the QuickLaunch menu, the desktop...)
- Delete the configuration directory C:\Documents and settings\<YOUR_USER_NAME>\Application Data\PgcEdit
That's all.

Or wait for the next version. The bug will be fixed.

Mega-Splat
21st October 2004, 21:28
Thanks, bro. It's done and the latest version is now installed. Cheers!

Kilyan
22nd October 2004, 02:25
Originally posted by r0lZ

If you want to change the starting or ending time of the highlight, you have to use VobEdit. Not easy with an animated menu!

1. Get LBA number with PgcEdit.
- Load the DVD in PgcEdit.
- In the PGC selector pane, right click on the PGC with the menu, and select Show Menu Buttons.
- Hold your mouse over the topmost button of the window (the button showing the PGC label and VOB/Cell IDs). A tooltip will appear, with the LBA number of the cell in the VOB.
- Note this number
- Also, note the number of the button you want to be automatically selected when the menu will be played.
- Quit PgcEdit.

2. Change values with VobEdit.
- Open your menu VOB in VobEdit.
- Enable the Button checkbox.
- Scroll to the LBA number noted in part 1, and select it in the left pane.
- In the right pane, copy the Highlight start time value to the Highlight end time (at offsets 008f and 0093). Or maybe you can set both to -1 (not tested)
- Then, change the force action button number (at offset 00a2) to the number of the button you want to be automatically selected (noted in part 1)
- You may need to repeat the edits for all NAV Packs of the cell, but sometimes changing only the first NAV pack is sufficient.


Check carefully all situations before burning (for example, press FF when in your menu). There may be side effects around...


I tried out. Doesn't seem to work.
I edited the menu vobpacks and changed the original "-1" value of highlight end time to the same as highlight start time.
Also tried other values but nothing seenes to work, the buttons are still there 5 sec before the end of the animated menu.
Tried button selection end time too, with no luck.

I want to disable the buttons before the end of the menu, so that they can't be seen and activated.
The menu is 30 sec long. The highlight start is set to 5:00 sec, and I would like them off at 26:00 sec.
Any ideas?

Thanks

2COOL
22nd October 2004, 04:56
Originally posted by r0lZ
@Mega-Splat
This is a bug.

You will need to delete the files manually.
- Delete the PgcEdit's install directory (with PgcEdit.exe and a bin subdirectory).
- Delete the shortcuts pointing to PgcEdit if you created some (in the startup menu, the QuickLaunch menu, the desktop...)
- Delete the configuration directory C:\Documents and settings\<YOUR_USER_NAME>\Application Data\PgcEdit
That's all.

Or wait for the next version. The bug will be fixed. I was going to post this bug earlier but Mega-Splat beat me to it. Anyways, there are also instances of "PgcEdit" in the registry if you do a search for it. If you're daring and want to wipe out PgcEdit off your HD like it never existed, then you'll have to search and delete. As a pre-caution, all I have to say is to save your registry files before doing any editing.

r0lZ
22nd October 2004, 09:05
PgcEdit don't change directly the registry, except if you used Options -> Install -> Associate PgcEdit...
But thoses modifs are deleted when you uninstall PgcEdit. (The bug comes after this part).
However, Windows adds also some infos about every executable in the registry, but this is not under PgcEdit's control, so the uninstall will not remove them. This is harmless, however.

Cela
22nd October 2004, 10:29
Originally posted by r0lZ
Normal. The function you are using is a Cell Remapper, not another AddChapter...Now I understand.
Please consider to revise the texts. IMHO the wording is somehow misleading. English is not my native language but when I read 'append' it sounds to me like 'add'. But at the end I get a 'replace'?

I guess it is _how_ you do it: You add/append a new cell after the existing cell and change the pointers so that the new cell is used instead of the old cell, thus functionally replacing it.
(Is the old, unused cell still there or deleted?)

Why not include jsoto's AddChapter in PgcEdit? Would be another jewel in the crown.

Regards,
Cela

r0lZ
22nd October 2004, 10:59
Originally posted by Cela
when I read 'append' it sounds to me like 'add'. But at the end I get a 'replace'?

I guess it is _how_ you do it: You add/append a new cell after the existing cell and change the pointers so that the new cell is used instead of the old cell, thus functionally replacing it.
(Is the old, unused cell still there or deleted?)
That's right. And no, the old cell is not deleted, and will probably be 'unreferenced' so you may strip it safely (or compress it at the highest level with DVDShrink.)

Why not include jsoto's AddChapter in PgcEdit? Would be another jewel in the crown.
You may already add any tool you want in the Tool menu.
But AddChapter has no CLI support, so it is not possible to use it 'transparently' from within PgcEdit. I may however use jsoto's BlankCell (a modified, CLI-only version of BlankVob) to add an 'Add Chapter' feature in PgcEdit. But for now, I prefer to concentrate on new, unique features. AddChapter exists: use it!

2COOL
23rd October 2004, 04:19
Request:

Instead of blanking cells at a cell level, how about at a PGC level? Here's my visualization.

http://img54.exs.cx/img54/2931/BlankCells.png

The Blank Cell(s) button would be disabled until a check is made on the right. No action will be made until button is pressed and you'll have a dialog, not corrected though, with info as below. You know what I'm getting at.

http://img55.exs.cx/img55/9049/dialog.png

This would be useful on blanking specific cells in one process. All cells selected in this PGC would be referenced to just one new blank cell. What do you think?

BTW, thanks for the new Info dumps! :D

blutach
23rd October 2004, 04:33
@2COOL

Oh yeah!

blutach
23rd October 2004, 05:32
Thanks for the guide 2COOL. Another beauty.

One thing I did a bit differently, however, which I found worked, was not to post the button command in as a cell command but as the last pre command (item 12 page 2 of the guide (http://home.tiscali.be/debie.roland/pgcedit/third_party/2cool/remove_language_aspect_ratio_menus/remove_language_and_aspect_ratio_menus_2.htm#Top)). This way, the cell doesn't play at all - it just takes you to the PGCN that you want the default button to go to.

There is also no real need to blank the cell afterwards (page 3), but I did a strip of the VobID with IfoEdit afterwards anyway - call me a purist :).

Anyway, this worked for me.

What do you think?

Regards

2COOL
23rd October 2004, 06:17
@blutach

I replied to your post in its appropriate thread (http://forum.doom9.org/showthread.php?s=&postid=560863#post560863). ;)

r0lZ
23rd October 2004, 08:36
Originally posted by 2COOL
Request:

Instead of blanking cells at a cell level, how about at a PGC level? Here's my visualization.

The Blank Cell(s) button would be disabled until a check is made on the right. No action will be made until button is pressed and you'll have a dialog, not corrected though, with info as below. You know what I'm getting at.

This would be useful on blanking specific cells in one process. All cells selected in this PGC would be referenced to just one new blank cell. What do you think? That's feasible, but you can already do that with a few mouse clicks.

I have planned to revamp totally this part of the interface. IMHO, it will be better to have two completely different GUIs: one for the PGC header, streams lists and color lookup table. The other one with the Cell table. With this new interface, you will be able to multi-select any number of cells, and process them as a whole, to add, remove or move up/down the program and chapter entries, or to remap or blank the cells.

However, I will have a look at the code. If your suggestion is easy to program, I will implement it.

Or I may add an external function, working at the PGC level, to blank (or remap) ALL cells of the PGC in one operation.

Cela
23rd October 2004, 13:50
Commands or macro for VTS-chain needed - Call for help:

Given three VTST from DVD-lab Pro with 'File > Attach External VTS' attached to a dummy VTS1 (blank VOB):
VTS2 with 40 chapters
VTS3 with 33 chapters
VTS4 with 41 chapters

Wanted to step forward and backward from chapter to chapter with the 'next chapter' and with the 'previous chapter' button of the remote control as if the logical chain of the concatination of all chapters of the three VTS belonged to a virtual single VTS. An innocent wish but complicated to express in english and impossible for me to accomplish.

Forward Chain:
Using the 'next chapter button' jump from the current chapter to the next chapter until the last chapter of the current VTS is reached and then jump to the first chapter of the next VTS...
Menu VMGM PGC2 ->
-> VTS2, PGC1, Chapter1 ! -> 'next chapter button'
-> VTS2, PGC1, Chapter2
...
-> VTS2, PGC1, Chapter39
-> VTS2, PGC1, Chapter40 ! last chapter of VTS2

-> VTS3, PGC1, Chapter1 ! first chapter of VTS3
-> VTS3, PGC1, Chapter2
...
-> VTS3, PGC1, Chapter32
-> VTS3, PGC1, Chapter33 ! last chapter of VTS3

-> VTS4, PGC1, Chapter1 ! first chapter of VTS4
-> VTS4, PGC1, Chapter2
...
-> VTS4, PGC1, Chapter40
-> VTS4, PGC1, Chapter41 ! last chapter of VTS4

-> back to Menu VMGM PGC2
Backward Chain:
Using the 'previous chapter button' jump from the current chapter to the previous chapter until the first chapter of the current VTS is reached and then jump to the last chapter of the previous VTS...

<- back to Menu VMGM PGC2
<- VTS2, PGC1, Chapter1 ! first chapter of VTS2
<- VTS2, PGC1, Chapter2
...
<- VTS2, PGC1, Chapter39
<- VTS2, PGC1, Chapter40 ! last chapter of VTS2

<- VTS3, PGC1, Chapter1 ! first chapter of VTS3
<- VTS3, PGC1, Chapter2
...
<- VTS3, PGC1, Chapter32
<- VTS3, PGC1, Chapter33 ! last chapter of VTS3

<- VTS4, PGC1, Chapter1 ! first chapter of VTS4
<- VTS4, PGC1, Chapter2
...
<- VTS4, PGC1, Chapter40
<- VTS4, PGC1, Chapter41 ! <- 'previous chapter button'
I managed to do the forward chain, but I am unable to do the backward chain. Help needed. Thanks.

2COOL
24th October 2004, 02:08
@Cela

Originally posted by Cela

Backward Chain:
Using the 'previous chapter button' jump from the current chapter to the previous chapter until the first chapter of the current VTS is reached and then jump to the last chapter of the previous VTS...

I managed to do the forward chain, but I am unable to do the backward chain. Help needed. Thanks. [/B]To the best of my knowledge, this is not possible.

@r0lZ

A DVD can have more than one PGC holding the same title (Non_sequential_PGC Titles). In PgcEdit, you only have one VTST defined while another with the same title, showing nothing (undefined). It is possible to get the PGC's title number from VTs_PGCITI.

r0lZ
24th October 2004, 07:34
@2COOL
A DVD can have more than one PGC holding the same title (Non_sequential_PGC Titles). In PgcEdit, you only have one VTST defined while another with the same title, showing nothing (undefined). It is possible to get the PGC's title number from VTs_PGCITI.I know. I made it this way deliberately. The Title label identifies the entry point of the title. I use this info for the highlight/jump to target features.

Note that you can find the other PGCs belonging to the same title by looking at the TTN number: all PGCs with the same TTN number are different parts of the same non-sequential title.

BTW, I can't imagine a good reason to spread a title over several PGCs. Do you?

Cela
25th October 2004, 11:17
To the best of my knowledge, this is not possible....and when the BEST says it is not possible, then its hopeless.

But as you say: "Without vision, we are blind to opportunity."

Can we find a workaround?

DVBlab's 'bridge element' is a first approximation to a solution. Here you jump from 'first chapter of current VTS' to 'FIRST chapter of previous VTS'!
Which is not yet the natural, logical sequence in the film.

So, if its possible to jump to the 'FIRST chapter of previous VTS', isn't it possible to put there a precommand that tells to jump on to the LAST chapter. (The number of the LAST chapter could be edited manually with PgcEdit). Probably a free GPRM is needed which could trigger the jump to the LAST chapter. It should be ON when the pending user action is a 'previous chapter button' click. Unfortunately, I am a simple user and my knowledge is too limited to activly seek a solution.

Now a reason for such an example. Why do I bother you with this example? I simply want to be able to browse through a film in the natural, logical order - even when the film has to be segmented.

Imagine there is a film which would need 114 chapters (major scene changes), too many for a single VTS.
Since it consists of three major parts, I would like to segment it into three segments (if that is not possible, I will have to be content with two segments):
segment 1: let original chapters 001 - 040 become VTS2 with ch. 1-40 (call it A1 - A40)
segment 2: let original chapters 041 - 073 become VTS3 with ch. B1 - B33
segment 3: let original chapters 074 - 114 become VTS4 with ch. C1 - C41

a schematic graphic could be like this:

!01____....______40_41____...______73_74____..._____114! original Film
-------------------------------------------------------------------
!A1_A2_..._A39_A40!B1_B2_..._B32_B33!C1_C2_..._C40_C41! segmented into three parts
-------------------------------------------------------------------
!_____VTS2_______!_____VTS3_______!_____VTS4_______!


In the original film there is no problem to browse forwards and backwards with the appropriate chapter buttons.

But how to browse ...
from original 'chapter 41' -> 'chapter 40'
that is from 'VTS3 chapter 1' -> 'VTS2 chapter 40'
or generally from 'FIRST chapter of VTS3' -> 'LAST chapter of VTS2'
more generally from 'first chapter of current VTS' -> 'last chapter of previous VTS' with the 'previous chapter button'?
... that is the question.

With my limited knowledge I cannot find a solution!
But I'm sure, you can.

Cela

2COOL
27th October 2004, 00:39
@r0lZ

You have lots of discrepancies in PgcEdit! :eek:

I don't think you can set the highlighted button with a SPRM value. This is in regards to http://www.dvd-replica.com/DVD/sethlbtn.php You can only used a GPRM or 6-bit button value.

From http://www.dvd-replica.com/DVD/cmpgprmops.php

A compare operation compares the contents of a specified GPRM to another GPRM, SPRM or a constant value.I don't think you can use a SPRM to compare with another GPRM, SPRM, or a constant value. The first value must always be a GPRM. Show me a DVD that has a If-SPRM command as I have check through 5 DVDs so far and none have them. With this said, you have to redo alot of dialogs with these If-SPRM commands. :(

In SetCLnk, I don't think you can assign a SPRM value to a GPRM. I can't confirm for CSetLnk though.

In SetAMXMD dialog, I don't think you can set SPRM 11 the way it's set up. In fact, I think your command editing dialog for this command is wrong. here (http://www.dvd-replica.com/DVD/setamxmd.php?p=34). It should be setting channel mixing flags.

In SetGPRMMD, I don't think you can assign a SPRM value to a GPRM.

When using RND with GPRM, you can't use zero as the seed value. In fact, when I inputted this command I got an error when doing a PGC dump after.
[78 00 00 00 00 00 00 00] # Set gprm(0) ?=(rnd) 0
can't read "::menus(0,1,2,numcells)": no such element in array

Hmmm....using a in-place NOP command, I selected Numerically > 40-D0: Set > A_____CSetCLnk. Keep doing this with the others in the same list and look at the hex command. It doesn't update correctly. Is it just me?

Why is that when I set a GPRM and then do a LinkPGCN, I don't have the option to highlight a button? All the other link commands do.:confused: It should be in the specs. [Edit] Hmmm...maybe we can't really do it and dvd-replica.com is wrong. It's not the first time that site's wrong.

Also you got Number of PGCs at 65535? Seems kind of high. Hmmm....here's mpucoder input on number of PGCs per IFO, http://forum.doom9.org/showthread.php?s=&postid=371189#post371189.

And another thing, if inputting a 0 or blank into PGCN results in an illegal command, why even let it be inputted. You have filtered out other character besides 0 to 65535. Same goes for LinkPGN, LinkPTT, and LinkCN.

Not a discrepancy, but in the NOP command dialog, why even bother enabling the "IF" checkbox is you state that using it is useless.

Try these commands in PGC command editor.

{68 00 00 00 00 00 00 00} // RND
{69 01 00 00 00 00 00 00} // AND
{6A 01 00 00 00 00 00 00} // OR
{6B 01 00 00 00 00 00 00} // XOR

If you toggle the R And, the LinkNoLink command still remains in the code even if you don't have it checked.

Can you prove me wrong with justifications? I have been reading my book, DVD Authoring and Production by Ralph LaBarge, and it also backs up what I report. There may be more if I do more research.


UPDATE:More errors found!

There might be case that it is possible that an error occurs through the executioin of a navigation command. The DVD Specs requires the player to perform the following actions when an error condition occurs.

If a GPRM is divided or mod by zero, PgcEdit reports an error.

[77 00 00 00 00 00 00 00] # Set gprm(0) %=(mod) 0
[76 00 00 00 00 00 00 00] # Set gprm(0) /=(div) 0
Error:divide by zero
According to my book, if this is command is used, the target GPRM will be set to 65,535.

divide by zero
divide by zero
while executing
"expr $op1 / $val"
("6" arm line 2)
invoked from within
"switch $operand {
1 { ;# = SET
return $val
}
2 { ;# <-> SWAP !!! NOT SWAPPED: actually, this function allow only to return ONE value!
retu..."
(procedure "operation_result" line 2)
invoked from within
"operation_result $op1 $operand $val"
("7" arm line 25)
invoked from within
"switch $cmdtype {
0 {
# flow control commands
switch [::disasm::get_nibble $hex 1 1] {
0 {
# NOP
}
1 {
# Goto
set n..."
(procedure "trace_disasm" line 16)
invoked from within
"trace_disasm"
("default" arm line 14)
invoked from within
"switch $cmdtype {
"* pre" {
incr idx
::main::set_listbox_selection $idx
}
"* post" {
incr idx
::main::set_listbox_selection $idx
}..."
(procedure "exec_current_line" line 11)
invoked from within
"exec_current_line"
invoked from within
"if {$idx == "-"} {
::main::set_listbox_selection end
set idx [lindex [::main::get_selection_indexes] 0]
bell
} elseif $::tr::now_playin..."
(procedure "step" line 5)
invoked from within
"step "
(procedure "::tr::dvd_trace" line 280)
invoked from within
"::tr::dvd_trace"
(menu invoke)

Also if the navigation command results in an overflow, then the target GPRM will be set to 65,535. If the overflow occurred while a GPRM was in counter mode, then the target GPRM will be set to zero.

If a navigation command results in an underflow, then the target GPRM will be set to zero.

2COOL
27th October 2004, 01:58
Suggestion:

When using Set commands with

ADD
SUB
MUL
DIV
MOD
RND
SWP
AND
OR
XOR

.., a disclaimer to state that these commands cannot be used if the target GPRM is in counter mode.

r0lZ
27th October 2004, 08:28
Originally posted by 2COOL
@r0lZ

You have lots of discrepancies in PgcEdit! :eek:
[list=1]
I don't think you can set the highlighted button with a SPRM value. This is in regards to http://www.dvd-replica.com/DVD/sethlbtn.php You can only used a GPRM or 6-bit button value.[/list=1] From MPUCoder's site:
The SetHL_BTNN command sets the selected (highlighted) button number (SPRM 8).
The indirect form sets SPRM 8 to the value in register (GPRM or SPRM) "SS" (byte 5).
The direct form sets SPRM 8 to "SSSS" (bytes 4&5).
I will try to do some tests to confirm...

[EDIT] Tested with IfoEdit, WinDVD, Sony and Kiss: it works perfectly! :)

r0lZ
27th October 2004, 08:49
Originally posted by 2COOL
2. From http://www.dvd-replica.com/DVD/cmpgprmops.php

I don't think you can use a SPRM to compare with another GPRM, SPRM, or a constant value. The first value must always be a GPRM. Show me a DVD that has a If-SPRM command as I have check through 5 DVDs so far and none have them. With this said, you have to redo alot of dialogs with these If-SPRM commands. :(
Again, this is not what is explained on the MPUCoder's site. But it's not verry clear...

Tested with IfoEdit, WinDVD, Sony and Kiss: it works perfectly! :)

EDIT: I was wrong! Fixed in PgcEdit 0.4.7.

r0lZ
27th October 2004, 09:54
3. In SetCLnk, I don't think you can assign a SPRM value to a GPRM. I can't confirm for CSetLnk though.

MPUCoder's site:
The SetCLnk command sets the destination register "R" (byte 1 lower nibble) to the result of the operation "J", listed below. A compare is then performed, and the link executed if the result of the compare is true.
The indirect form uses GPRM or SPRM denoted by "SS" (byte 3) as the source, as allowed by the operation.
The direct form uses the constant "SSSS" (bytes 2&3) as the source value, if allowed by the operation.
Tested with IfoEdit, WinDVD, Sony and Kiss: it works perfectly! :)

r0lZ
27th October 2004, 10:19
4. In SetAMXMD dialog, I don't think you can set SPRM 11 the way it's set up. In fact, I think your command editing dialog for this command is wrong. here. It should be setting channel mixing flags.
That's almost true. For this command, the PgcEdit's interface is somewhat limitted.

You can use a GPRM or SPRM as the source for the operation. The GUI is correct on this point.

You can use a constant value as well, but only some values are legal. Only bits 2-4 and 10-12 are meaningful. Bits 0, 1, 5-9 and 13-15 must be set to 0. This is why the maximum value allowed in the GUI is 7196 (ie 0x1C1C, meaning all legal bits set.) However, it is possible to enter an illegal value here (for example: 1, meaning bit 0 set, is illegal, but can be entered).

Ideally, I should replace the source value field by 6 checkboxes. It's on my TODO list for a while. But it's not easy to do (I use the same GUI for all sources allowing to input a value, a GPRM or a SPRM.) For now, you have to calculate yourself the correct value to use.

Since this command is rarely used, changing the GUI is not a high priority TODO item for me. Sorry. :(

r0lZ
27th October 2004, 10:53
5. In SetGPRMMD, I don't think you can assign a SPRM value to a GPRM. Again, from MPUCoder's site:The indirect form uses the value in the register (GPRM or SPRM) indicated by "SS" (byte 3).However, you are right! Using [43 00 00 88 00 8F 00 00] 3 (SetGPRMMD) Set gprm(15) in counter mode =(mov) sprm(8:Highlighted button number) will set the value of gprm(8) in gprm(15). (Tested on my Sony player and IfoEdit.)

I must fix this bug... :(

r0lZ
27th October 2004, 11:30
6. When using RND with GPRM, you can't use zero as the seed value. In fact, when I inputted this command I got an error when doing a PGC dump after.
[78 00 00 00 00 00 00 00] # Set gprm(0) ?=(rnd) 0can't read "::menus(0,1,2,numcells)": no such element in arrayThe source value is not used as the random generator's seed. MPUCoder:set destination GPRM to a random value between 1 and the source value
Obviously, it is meaningless to use a value of 0 or 1 here. But using 0 is not illegal. :)

Again, tested on all my players: surprise: the command[78 00 00 00 00 00 00 00] 1 Set gprm(0) ?=(rnd) 0gives 1 on all software players I have tested, including the Kiss standalone (which is in fact a Linux PC in a settop box).
But my Sony gives 0! :confused:

I may change the minimum to 1 in the GUI, but I'm not sure since it is apparently allowed to use 0 (with unpredictable results, but it is what you want when using a random generator, no? :p)

BTW, the error message you got is not related to this. Can you reproduce the problem?

r0lZ
27th October 2004, 12:22
7. Hmmm....using a in-place NOP command, I selected Numerically > 40-D0: Set > A_____CSetCLnk. Keep doing this with the others in the same list and look at the hex command. It doesn't update correctly. Is it just me?Well. It's a little strange, but you must understand how it works.
The commands in this group (all *Set* commands) are duplicated in the 'Numerically' menu because there are actually two codes for each command: one code for the indirect Set (where the source is a GPRM or a SPRM), the other for the direct set (source is a constant value).
But both menu entries are calling the same command in the GUI. I don't change automatically the source type (GPRM/SPRM <-> value), because you can do that yourself, with the radio buttons in the GUI, and changing that without an explicit user action may be disturbing.

However, this behavior can be modified. Let me know if you want the source mode automatically updated...

2COOL
27th October 2004, 12:29
Originally posted by 2COOL
I don't think you can set the highlighted button with a SPRM value. This is in regards to http://www.dvd-replica.com/DVD/sethlbtn.php You can only used a GPRM or 6-bit button value.
Tested with IfoEdit, WinDVD, Sony and Kiss: it works perfectly!What about the other 23 SPRMs besides SPRM (8)?

r0lZ
27th October 2004, 12:50
8. Why is that when I set a GPRM and then do a LinkPGCN, I don't have the option to highlight a button? All the other link commands do.:confused: It should be in the specs. [Edit] Hmmm...maybe we can't really do it and dvd-replica.com is wrong. It's not the first time that site's wrong.It is not possible to have both a PGC value and a button number: the value is stored in bytes 6 and 7, and the button number in byte 6. Since the PGC number may be higher than 1023, it will overwrite the button number.
This is why the highlight button parameter is not supported by the standard.


Also you got Number of PGCs at 65535? Seems kind of high. Hmmm....here's mpucoder input on number of PGCs per IFO, http://forum.doom9.org/showthread.php?s=&postid=371189#post371189.Right. I will change the max to 32767.


And another thing, if inputting a 0 or blank into PGCN results in an illegal command, why even let it be inputted. You have filtered out other character besides 0 to 65535. Same goes for LinkPGN, LinkPTT, and LinkCN.You must remove the last character in the field to be able to type a different value.
Also, you must type 0 alone in the field to input an hexadecimal or octal number (ie 0x10 or 012).
So, there are 4 cases where the input field may be filled with illegal characters: "0" (when the minimum is 1), "", "0x" and "0X". In these situations, the field's value is assumed to be 0. This is why the generated command is illegal. The pink background is there to invite the user to continue to type... I can't do more.

r0lZ
27th October 2004, 12:58
Originally posted by 2COOL
What about the other 23 SPRMs besides SPRM (8)?
It works. But I must admit that it is not verry useful! And it is illegal to set the highlighted button to a number which is not a multiple of 1024. So, using a SPRM as the source will probably have unpredictable results, and is probably never used. But it works, and therefore PgcEdit must support it (or you will have surprises when entering the command editor with such a command.)

r0lZ
27th October 2004, 13:02
9. Not a discrepancy, but in the NOP command dialog, why even bother enabling the "IF" checkbox is you state that using it is useless.For the same reason: it works! If you have a command like this one[00 A0 00 00 00 00 00 00] 1 if ( gprm(0) == 0 ) then { NOP }I must show the IF condition in the GUI, or the command will not be translated correctly.

r0lZ
27th October 2004, 13:13
10. Try these commands in PGC command editor.

{68 00 00 00 00 00 00 00} // RND
{69 01 00 00 00 00 00 00} // AND
{6A 01 00 00 00 00 00 00} // OR
{6B 01 00 00 00 00 00 00} // XOR

If you toggle the R And, the LinkNoLink command still remains in the code even if you don't have it checked.Right. Strange problem! I don't understand how it may be related to the operator! I'll try to fix that.

r0lZ
27th October 2004, 13:20
More errors found!

There might be case that it is possible that an error occurs through the executioin of a navigation command. The DVD Specs requires the player to perform the following actions when an error condition occurs.

If a GPRM is divided or mod by zero, PgcEdit reports an error.

[77 00 00 00 00 00 00 00] # Set gprm(0) %=(mod) 0
[76 00 00 00 00 00 00 00] # Set gprm(0) /=(div) 0

According to my book, if this is command is used, the target GPRM will be set to 65,535.

Also if the navigation command results in an overflow, then the target GPRM will be set to 65,535. If the overflow occurred while a GPRM was in counter mode, then the target GPRM will be set to zero.

If a navigation command results in an underflow, then the target GPRM will be set to zero.
Interesting. However, the last sentence contradict the previous one. Could you be more precise?

Of course, I will fix the divide by 0 bug...

r0lZ
27th October 2004, 13:25
Originally posted by 2COOL
Suggestion:

When using Set commands with

ADD
SUB
MUL
DIV
MOD
RND
SWP
AND
OR
XOR

.., a disclaimer to state that these commands cannot be used if the target GPRM is in counter mode. How do you set a GPRM in counter mode AND with any of the operator above? SetGPRMMD don't allow to use them. And any other Set* command will reset the GPRM to register mode, no? [ETIT:] Wrong! see my next post below (http://forum.doom9.org/showthread.php?s=&postid=562697#post562997)...


Thanks for your inquiries, 2COOL! I really need serious beta testers like you! ;)

mpucoder
27th October 2004, 14:49
Looks like a lot has happened in the last 2 hours to clear things up.

I just confirmed a couple things with Scenarist.
1) goto, break, and SetTmpPML are restricted to pre/post commands (but not NOP, which is, technically, in the goto group)
2) SetGPRMMD source can be either a GPRM or a constant, but not an SPRM

So i'll be changing the descriptions of those, and adding a note that once a register is in counter mode only the MOV operator is allowed.

I just read Ralph's description of overflow several times. I think the difficulty with his explanation is that the 2 sentences are unrelated, but appear in the same paragraph. Overflow as the result of an arithmetic operation results in the register being set to its maximum value (65535). BUT registers in counter mode when incrementing from 65535 will wrap around to 0.

Obviously if you want to perform an arithmetic operation on a register in counter mode you must first take it out of counter mode. That could result in 3 commands. If you need to perform an operation on the initial value of the counter then do it before setting counter mode. Then set the register to counter mode using itself as the source value.

Pressing a button signals the end of the program, so if the button command does not transfer control the post commands will execute.

2COOL
27th October 2004, 21:05
@r0lZ

Another bug (http://forum.doom9.org/showthread.php?s=&postid=562887#post562887)! ;)

2COOL
27th October 2004, 22:20
In reference to Question 1 (http://forum.doom9.org/showthread.php?s=&postid=562497#post562497).

Originally posted by r0lZ
It works. But I must admit that it is not verry useful! And it is illegal to set the highlighted button to a number which is not a multiple of 1024. So, using a SPRM as the source will probably have unpredictable results, and is probably never used. But it works, and therefore PgcEdit must support it (or you will have surprises when entering the command editor with such a command.)
Yes, it does work according to the DVD specs. :( Just another "legal" setup for failure in my opinion. :devil:

2COOL
27th October 2004, 22:32
Originally posted by 2COOL
2. From http://www.dvd-replica.com/DVD/cmpgprmops.php

I don't think you can use a SPRM to compare with another GPRM, SPRM, or a constant value. The first value must always be a GPRM. Show me a DVD that has a If-SPRM command as I have check through 5 DVDs so far and none have them. With this said, you have to redo alot of dialogs with these If-SPRM commands.
Originally posted by r0lZ
Again, this is not what is explained on the MPUCoder's site. But it's not verry clear...

Tested with IfoEdit, WinDVD, Sony and Kiss: it works perfectly! :) Well I've found some If-SPRM commands that are legal.

[00 A1 00 80 65 6E 00 0A] 1 if ( sprm(0:Preferred menu language) == 25966 ("en") ) then { Goto line 10 }
[00 A1 00 81 65 6E 00 0C] 2 if ( sprm(1:Audio stream number) == 25966 ("en") ) then { Goto line 14 }
[00 A1 00 82 65 6E 00 0B] 3 if ( sprm(2:Sub-picture stream number) == 25966 ("en") ) then { Goto line 18 }

It's just that it goes against Ralph LaBarge's book! :angry:

Maybe mpucoder can have a final say on this.

mpucoder
27th October 2004, 22:48
Both right.
Here's the problem - the "compare group" that Ralph refers to is what is known as the class 3 commands, those from 80 to DF. The "GoTo" group can indeed compare a GPRM or SPRM to a GPRM, SPRM, or constant.

2COOL
27th October 2004, 22:55
Originally posted by mpucoder
the "compare group" that Ralph refers to is what is known as the class 3 commands, those from 80 to DF.So if I do have a class 3 command, I "CAN'T" compare a SPRM to a GPRM, SPRM, or constant? Just asking a yes/no question.

mpucoder
27th October 2004, 23:07
As the book states, one operand must be a GPRM (look at byte 1 of a class 3, the upper nibble is the compare operation code, the lower nibble the register number - there's only room for 0-15). The other operand may be GPRM, SPRM, or constant.

So, your statement is almost correct. You can compare an SPRM to a GPRM, it's just that you must reverse the comparison to place the GPRM on the left.

2COOL
27th October 2004, 23:12
So these are legal?

[20 24 00 81 00 00 00 05] if ( sprm(1:Audio stream number) == gprm(0) ) then { LinkPGCN PGC 5 }

[D9 26 03 FF 81 00 10 00] if ( sprm(1:Audio stream number) == gprm(0) ) then { (CSetLnk) Set gprm(6) &=(and) 1023 } ; LinkNoLink, button 4 (4096)

2COOL
28th October 2004, 00:05
@Cela

Originally posted by Cela

Backward Chain:
Using the 'previous chapter button' jump from the current chapter to the previous chapter until the first chapter of the current VTS is reached and then jump to the last chapter of the previous VTS...

I managed to do the forward chain, but I am unable to do the backward chain. Help needed. Thanks.

Originally posted by 2COOL
To the best of my knowledge, this is not possible.I take it all back! It is possible! I have worked with a reauthored DVD Shrink test backup and I can now jump from chapter 1 of VTS_02 (Title 2) to last chapter of VTS_01 (Title 1). In fact, I can jump to any chapter of previous Title. :D:D

And I only added a couple of commands! It was so easy! I'll write a guide when I get the time. Sweeeeet!

Thanks for stimulating my mind Cela!:p

jeanl
28th October 2004, 00:17
2COOL,
tell us in a nutshell, I'm curious... ;)
Jeanl

2COOL
28th October 2004, 00:42
Originally posted by jeanl
2COOL,
tell us in a nutshell, I'm curious... ;)
Jeanl Wellll...the first two steps you need to do first is to create a new PGC for each Title and set each Title's Previous PGCN # to the new PGC, which is 2. ;)

It's going to be off-topic for this thread so I'll open up a new one when the time comes.

jeanl
28th October 2004, 01:12
Wellll...the first two steps you need to do first is to create a new PGC for each Title and set each Title's Previous PGCN # to the new PGC, which is 2.
ok I got it, then you use the precommand of that PGC to bounce to the other title (via the VMGM probably)... Looking forward to your guide!
Jeanl.

r0lZ
28th October 2004, 01:16
@mpucoder
once a register is in counter mode only the MOV operator is allowed.
...
Obviously if you want to perform an arithmetic operation on a register in counter mode you must first take it out of counter mode. That could result in 3 commands. If you need to perform an operation on the initial value of the counter then do it before setting counter mode. Then set the register to counter mode using itself as the source value.
Do you mean that setting a value in a GPRM in counter mode with, for example, a Set command do not automatically reset it to register mode? So, you have to do something like this:# stop counter
[43 00 00 00 00 00 00 00] 1 (SetGPRMMD) Set gprm(0) in register mode =(mov) gprm(0)
# Do operation
[73 00 00 00 00 0A 00 00] 2 Set gprm(0) +=(add) 10
# Restart counter
[43 00 00 00 00 80 00 00] 3 (SetGPRMMD) Set gprm(0) in counter mode =(mov) gprm(0)

BTW, when does the counter 'naturally' stop? When the current domain is exitted?


[EDIT:] OK, I have done some experiments. A GPRM in counter mode will never stop, unless you set it back to register mode with a SetGPRMMD command.

once a register is in counter mode only the MOV operator is allowed.Are you sure? I've tested this with IfoEdit's DVD Play... and it works. You can actually do arithmetic operations on a GPRM in counter mode! Line 2 above works perfectly alone.
Tested on my Sony: it works too!


In case of an overflow when doing an operation on a GPRM, my Sony player force the result of the operation to 65535 (or 0), as stated.
Also, it sets the result of a division by 0 to 65535 (in both direct and indirect modes). Good.

But it's not the case of the software players: when an overflow occur when doing an addition, the value returned is actually the result of the additon ORed with 65535. For example, with IfoEdit, after executing those instructions [71 00 00 0F FF FA 00 00] 1 Set gprm(15) =(mov) 65530
[73 00 00 0F 00 14 00 00] 2 Set gprm(15) +=(add) 20 the final value is 14, ie. (0xFFFA + 0x0014) & 0xFFFF = 0x0001000E & 0x0000FFFF = 0x000E

In case of a division by a value 0 (in direct mode), IfoEdit display the "Illegal command" dialog and Exit. If the division by 0 occur in an indirect Set (ie. the source is a GPRM initialized to 0), then IfoEdit crash. Same is true for all software players. (I think that all soft players are using the same codec, installed by WinDVD.)

Cela
28th October 2004, 07:42
Originally posted by 2COOL ... And I only added a couple of commands! It was so easy! I'll write a guide when I get the time. Sweeeeet!...I'm looking forward to your new guide and I hope r0lZ will automate your solution in Pgcedit.
I have posted the result of my experiments, an amateur solution, based on a VIDEO_TS which was created with 'attached vts' using DVD-lab PRO, in the DVD-lab PRO forum http://www.mmbforums.com/modules.php?name=Forums&file=viewtopic&t=8185.

@r0lz
I think it is not off topic if you get inspired to provide a 'Utility' or 'Macro'. ;)

Another inspiration:
DVD-lab can attach only 3 VTS's. How can I attach an additional VTS with Pgcedit? ;)
Please have a look at the scenario of my example in DVD-lab PRO forum and you will see what I mean.

Cela

r0lZ
28th October 2004, 11:06
Originally posted by Cela @r0lz
I think it is not off topic if you get inspired to provide a 'Utility' or 'Macro'. ;)

Another inspiration:
DVD-lab can attach only 3 VTS's. How can I attach an additional VTS with Pgcedit? ;)
Please have a look at the scenario of my example in DVD-lab PRO forum and you will see what I mean.

Cela I may write a macro for this kind of manip. But later... :( I have too many work to do for now (with the trace function, the edition of menu buttons commands, bug fixes etc...)

You can Import a VTS with PgcEdit using several methods. File -> Import VTST Titles
This will import a titleset from another DVD. The commands are not modified, so you will need to edit them, and add a jump somewhere in your original FP-PGC or VMGM to call the imported title(s).
Note that the menus of the imported titleset are not automatically imported. If you want to import them as well, you have to import the title(s) first, then select the new VTS and use Utilities -> Import Menu.
Macros -> Import First-Play (startup) Clip
In addition to the VTS import, this macro will modify the original DVD commands to let the first title of the imported VTS play when you insert the DVD. When the clip has finished playing, the FP-PGC will continue with the original commands. The imported title will be played only once, even if the FP-PGC is called again later.
Macros -> Import Title's Intro Clip
You have to select an existing title before calling this macro. The new VTS is imported, and the original DVD commands are modified to let the first imported title play automatically before the selected title is played.
Macros -> Import Title's Closing Clip
Same as above, but the imported title is played after the selected title.

I wrote those macros to be able to add a still frame (for example 'Insert disk 2 to continue') at almost any point of the playback. But you can use them also to import an animated title, or a complete titleset with several titles.

2COOL
28th October 2004, 18:29
Why doesn't Paste Replace or Ctrl+V work correctly?

Here's my original command

********** pre commands:
[71 00 00 00 00 00 00 00] 1 Set gprm(0) =(mov) 0

Here's my replacement commands

********** pre commands:
[00 A1 00 01 00 01 00 03] 1 if ( gprm(1) == 1 ) then { Goto line 3 }
[00 02 00 00 00 00 00 00] 2 Break
[71 06 00 01 00 00 00 06] 3 Set gprm(1) =(mov) 0 ; LinkPGN Program 6

If I select my original command and do a Copy > Paste Replace, I get this.

********** pre commands:
[00 A1 00 01 00 01 00 05] 1 if ( gprm(1) == 1 ) then { Goto line 5 } :(
[00 02 00 00 00 00 00 00] 2 Break
[71 06 00 01 00 00 00 06] 3 Set gprm(1) =(mov) 0 ; LinkPGN Program 6

If I delete my original command and to a Paste before or Paste After, everything is correct.

r0lZ
28th October 2004, 18:39
Right. It's another bug... :(

2COOL
28th October 2004, 18:47
And another one.

If I add a new PGC, my VTS_PGCITI is a little messed up for my new VTS_PGC_#. Here I added a second. My Category Parental ID mask should be zero.


Number of VTS_PGCI_SRP 2
End byte of VTS_PGCI_SRP table 717

VTS_PGC_1: Category mask 129
details:
entry PGC: yes
Title number: 1
VTS_PGC_1: Category 0
VTS_PGC_1: Category Parental ID mask 0
VTS_PGC_1: VTS_PGCI start byte 24

VTS_PGC_2: Category mask 0
details:
entry PGC: no
Title number: 0
VTS_PGC_2: Category 0
VTS_PGC_2: Category Parental ID mask 1542 :(
VTS_PGC_2: VTS_PGCI start byte 466

BTW, can we have a Title 0? I had burnt my backup with this and I didn't have a problems on my finicky Sony standalone. But I did have problems with PowerDVD. There may be more factors to consider though that I haven't found yet on PowerDVD's matter. :(

Cela
28th October 2004, 21:15
Originally posted by r0lz
You can Import a VTS with PgcEdit using several methods...
File -> Import VTST Titles...Thank you very much for that good advice. I just succeeded to do what DVD-lab PRO did not allow me to do: to produce a VIDEO_TS with 4 (FOUR) attached VTS (VTS2 ... VTS5) by 'Import VTST Titles' in PgcEdit of the fourth Movie segment.

Then I started to explore the wonders of Scratchbook. By copying the commands to the Scratchbook I managed to make sort of a template for more of these 'up to Four segment movies'. Any extension to more segments is straight forward. And I sucessfully used that Scratchbook template for another DVD. This time everything was merely a matter of copy & paste of the right lines of commands. With PgcEdit it is so easy! :)

Wish:
Here, a possibility of optical segmentation of the commands in the Scratchbook (without affecting the goto line numbers) - similar to how I edited it into the 'Scratchbook Copy as text' below - would be very helpful.
r0lz, when you have some spare time, provide the possbilty to add a pseudo-command 'Comment' please which only appears in the Scratchbook and in the text listing but not on the DVD.

Now my template for 'Up to Four Segment movies' as an example:


{71 00 00 01 00 00 00 00} {00 00 00 00 00 00 00 00} {71 00 00 01 00 00 00 00} {00 00 00 00 00 00 00 00} {00 00 00 00 00 00 00 00} {00 00 00 00 00 00 00 00} {00 00 00 00 00 00 00 00} {00 00 00 00 00 00 00 00} {30 02 00 00 00 02 00 00} {00 00 00 00 00 00 00 00} {20 04 00 00 00 00 00 02} {00 00 00 00 00 00 00 00} {00 00 00 00 00 00 00 00} {00 B1 00 01 00 03 00 03} {71 06 00 01 00 02 00 27} {00 B1 00 01 00 02 00 05} {30 08 00 02 01 C0 00 00} {71 00 00 01 00 02 00 00} {00 00 00 00 00 00 00 00} {30 08 00 04 01 C0 00 00} {00 00 00 00 00 00 00 00} {00 00 00 00 00 00 00 00} {00 B1 00 01 00 04 00 03} {71 06 00 01 00 03 00 27} {00 B1 00 01 00 03 00 05} {30 08 00 03 01 C0 00 00} {71 00 00 01 00 03 00 00} {00 00 00 00 00 00 00 00} {30 08 00 05 01 C0 00 00} {00 00 00 00 00 00 00 00} {00 00 00 00 00 00 00 00} {00 B1 00 01 00 05 00 03} {71 06 00 01 00 04 00 27} {00 B1 00 01 00 04 00 05} {30 08 00 04 01 C0 00 00} {71 00 00 01 00 04 00 00} {00 00 00 00 00 00 00 00} {30 08 00 06 01 C0 00 00} {00 00 00 00 00 00 00 00} {00 00 00 00 00 00 00 00} {00 B1 00 01 00 06 00 03} {71 06 00 01 00 05 00 27} {00 B1 00 01 00 05 00 05} {30 08 00 05 01 C0 00 00} {71 00 00 01 00 05 00 00} {00 00 00 00 00 00 00 00} {30 08 00 07 01 C0 00 00} {00 00 00 00 00 00 00 00} {00 00 00 00 00 00 00 00}


------- Scratchbook Copy as text: Begin --------------------------------------

[------ comment --------] VMG , First-Play
[71 00 00 01 00 00 00 00] 1 Set gprm(1) =(mov) 0
[00 00 00 00 00 00 00 00] 2 NOP
[------ comment --------] VMGM PGC2
[71 00 00 01 00 00 00 00] 3 Set gprm(1) =(mov) 0
[00 00 00 00 00 00 00 00] 4 NOP
[------ comment --------] VMGM PGC2 Menu buttons
[00 00 00 00 00 00 00 00] 5 NOP
[00 00 00 00 00 00 00 00] 6 NOP
[00 00 00 00 00 00 00 00] 7 NOP
[00 00 00 00 00 00 00 00] 8 NOP
[------ comment --------] VMGM PGC3 Bridge forward to Title vts
[30 02 00 00 00 02 00 00] 9 (JumpTT) Jump to Title 2
[00 00 00 00 00 00 00 00] 10 NOP
[------ comment --------] VMGM PGC3 Bridge backward to Menu
[20 04 00 00 00 00 00 02] 11 LinkPGCN PGC 2
[00 00 00 00 00 00 00 00] 12 NOP
[00 00 00 00 00 00 00 00] 13 NOP
[------ comment --------] VTS2 Pre commands for Movie segment 1
[00 B1 00 01 00 03 00 03] 14 if ( gprm(1) != 3 ) then { Goto line 3 }
[71 06 00 01 00 02 00 27] 15 Set gprm(1) =(mov) 2 ; LinkPGN Program 39
[00 B1 00 01 00 02 00 05] 16 if ( gprm(1) != 2 ) then { Goto line 5 }
[30 08 00 02 01 C0 00 00] 17 (CallSS) Call the VMGM PGC 2, resume cell 1
[71 00 00 01 00 02 00 00] 18 Set gprm(1) =(mov) 2
[00 00 00 00 00 00 00 00] 19 NOP
[------ comment --------] VTS2 Post commands
[30 08 00 04 01 C0 00 00] 20 (CallSS) Call the VMGM PGC 4, resume cell 1
[00 00 00 00 00 00 00 00] 21 NOP
[00 00 00 00 00 00 00 00] 22 NOP
[------ comment --------] VTS3 Pre commands for Movie segment 2
[00 B1 00 01 00 04 00 03] 23 if ( gprm(1) != 4 ) then { Goto line 3 }
[71 06 00 01 00 03 00 27] 24 Set gprm(1) =(mov) 3 ; LinkPGN Program 39
[00 B1 00 01 00 03 00 05] 25 if ( gprm(1) != 3 ) then { Goto line 5 }
[30 08 00 03 01 C0 00 00] 26 (CallSS) Call the VMGM PGC 3, resume cell 1
[71 00 00 01 00 03 00 00] 27 Set gprm(1) =(mov) 3
[00 00 00 00 00 00 00 00] 28 NOP
[------ comment --------] VTS3 Post commands
[30 08 00 05 01 C0 00 00] 29 (CallSS) Call the VMGM PGC 5, resume cell 1
[00 00 00 00 00 00 00 00] 30 NOP
[00 00 00 00 00 00 00 00] 31 NOP
[------ comment --------] VTS4 Pre commands for Movie segment 3
[00 B1 00 01 00 05 00 03] 32 if ( gprm(1) != 5 ) then { Goto line 3 }
[71 06 00 01 00 04 00 27] 33 Set gprm(1) =(mov) 4 ; LinkPGN Program 39
[00 B1 00 01 00 04 00 05] 34 if ( gprm(1) != 4 ) then { Goto line 5 }
[30 08 00 04 01 C0 00 00] 35 (CallSS) Call the VMGM PGC 4, resume cell 1
[71 00 00 01 00 04 00 00] 36 Set gprm(1) =(mov) 4
[00 00 00 00 00 00 00 00] 37 NOP
[------ comment --------] VTS4 Post commands
[30 08 00 06 01 C0 00 00] 38 (CallSS) Call the VMGM PGC 6, resume cell 1
[00 00 00 00 00 00 00 00] 39 NOP
[00 00 00 00 00 00 00 00] 40 NOP
[------ comment --------] VTS5 Pre commands for Movie segment 4
[00 B1 00 01 00 06 00 03] 41 if ( gprm(1) != 6 ) then { Goto line 3 }
[71 06 00 01 00 05 00 27] 42 Set gprm(1) =(mov) 5 ; LinkPGN Program 39
[00 B1 00 01 00 05 00 05] 43 if ( gprm(1) != 5 ) then { Goto line 5 }
[30 08 00 05 01 C0 00 00] 44 (CallSS) Call the VMGM PGC 5, resume cell 1
[71 00 00 01 00 05 00 00] 45 Set gprm(1) =(mov) 5
[00 00 00 00 00 00 00 00] 46 NOP
[------ comment --------] VTS5 Post commands
[30 08 00 07 01 C0 00 00] 47 (CallSS) Call the VMGM PGC 7, resume cell 1
[00 00 00 00 00 00 00 00] 48 NOP
[00 00 00 00 00 00 00 00] 49 NOP

------- Scratchbook Copy as text: End ----------------------------------------


PgcEdit is really an extraordinary program of an outstanding programmer!!! :)

I am deeply impressed and ever so grateful.

Cela

r0lZ
29th October 2004, 01:28
Originally posted by 2COOL
And another one.

If I add a new PGC, my VTS_PGCITI is a little messed up for my new VTS_PGC_#. Here I added a second. My Category Parental ID mask should be zero.


Number of VTS_PGCI_SRP 2
End byte of VTS_PGCI_SRP table 717

VTS_PGC_1: Category mask 129
details:
entry PGC: yes
Title number: 1
VTS_PGC_1: Category 0
VTS_PGC_1: Category Parental ID mask 0
VTS_PGC_1: VTS_PGCI start byte 24

VTS_PGC_2: Category mask 0
details:
entry PGC: no
Title number: 0
VTS_PGC_2: Category 0
VTS_PGC_2: Category Parental ID mask 1542 :(
VTS_PGC_2: VTS_PGCI start byte 466

BTW, can we have a Title 0? I had burnt my backup with this and I didn't have a problems on my finicky Sony standalone. But I did have problems with PowerDVD. There may be more factors to consider though that I haven't found yet on PowerDVD's matter. :( Yep. Noted.

And no, a Title 0 is illegal. Add PGC is not intended to be used in the Title domain. It will create a dummy PGC in the title domain. This is absolutely illegal. And it doesn't update the VMG_TT_SRPT table.
However, I leaved this option, because IfoEdit is not able to add a new PGC, and a 'creative' user may find it useful. If you use it, you need to update all the tables yourself, using IfoEdit.

r0lZ
29th October 2004, 01:56
@Cela
Thanks for your kind support.

I'm affraid your wish will be verry difficult to implement. The way the commands are managed internally is highly dependant on the position of the lines in the listbox.

Also, it is not possible to store the comments in the IFOs: you will loose all your comments when you save the DVD. Of course, it is possible to store them in the scratchbook file, but this will require a special treatment to filter out the comments when doing -for example- a cut and paste.

My advice: use a simple text file with all comments and explanations you want, and include the blocks of commands you need to copy/paste later in raw form. You can copy and paste between notepad and the main window directly. Example:VMG , First-Play
1 Set gprm(1) =(mov) 0
2 NOP
{71 00 00 01 00 00 00 00} {00 00 00 00 00 00 00 00}

VMGM PGC2
3 Set gprm(1) =(mov) 0
4 NOP
{71 00 00 01 00 00 00 00} {00 00 00 00 00 00 00 00}
...

You may also use the Import/Export PGC functions if you often need to replace all commands of a PGC with a predefined set of commands.

2COOL
29th October 2004, 03:53
Originally posted by r0lZ

Add PGC is not intended to be used in the Title domain. It will create a dummy PGC in the title domain. This is absolutely illegal.I know that dummy pgcs are supposed to be legally used in the First Play PGC, VMG, and Titleset Menu Domain but with what I see with testing with 2 software players and 2 standalones so far, an illegal dummy pgc in the Title domain seems to be "legal". Of course I have given you actual bug scenarios to challenged PgcEdit's and the DVD specs and you said to some of them that they work. Sometimes, I take myself out of the paradigm of what is supposed to be wrong all the time, is actually right when doing the right tests. Maybe...just maybe...dummy pgcs in the Title Domain can work. Like my signature says "Without vision, we are blind to opportunity."

Originally posted by 2COOL

BTW, can we have a Title 0? I had burnt my backup with this and I didn't have a problems on my finicky Sony standalone. But I did have problems with PowerDVD. There may be more factors to consider though that I haven't found yet on PowerDVD's matter. I have done some edits and have gotten PowerDVD to work now with it's previous chapter skip button! :D:D

In my previous post I gave this discrepancy when adding a New PGC.

BEFORE:


Number of VTS_PGCI_SRP 2
End byte of VTS_PGCI_SRP table 717

VTS_PGC_1: Category mask 129
details:
entry PGC: yes
Title number: 1
VTS_PGC_1: Category 0
VTS_PGC_1: Category Parental ID mask 0
VTS_PGC_1: VTS_PGCI start byte 24

VTS_PGC_2: Category mask 0 :(
details:
entry PGC: no
Title number: 0 :(
VTS_PGC_2: Category 0
VTS_PGC_2: Category Parental ID mask 1542 :(
VTS_PGC_2: VTS_PGCI start byte 466

Originally posted by r0lZ

And no, a Title 0 is illegal.I agree. So I went and change my PGC 2's Category Mask to 1, which gave me a Title of 1. I also zeroed out my Category Parental ID mask.

AFTER:


Number of VTS_PGCI_SRP 2
End byte of VTS_PGCI_SRP table 717

VTS_PGC_1: Category mask 129
details:
entry PGC: yes
Title number: 1
VTS_PGC_1: Category 0
VTS_PGC_1: Category Parental ID mask 0
VTS_PGC_1: VTS_PGCI start byte 24

VTS_PGC_2: Category mask 1 :D
details:
entry PGC: no
Title number: 1 :D
VTS_PGC_2: Category 0
VTS_PGC_2: Category Parental ID mask 0 :D
VTS_PGC_2: VTS_PGCI start byte 466

Now, here's my VTS Overviews

BEFORE:

PGC_2 (program chain): [Title(TTN): 0] [00:00:00.00 / 30 fps] (Programs: 0) (Cells: 0)

AFTER:

PGC_2 (program chain): [Title(TTN): 1] [00:00:00.00 / 30 fps] (Programs: 0) (Cells: 0)

Originally posted by r0lZ

And it doesn't update the VMG_TT_SRPT table.I have some leftover IFOs on my HD and one of them had multi-PGCs with holding the same Titles. But looking in their VMG_TT_SRPT table, they aren't listed.

Again, I have tested my edited files with new PGCs added and previously, they played fine except for PowerDVD. :( With the edits above, PowerDVD is very happy. ;)

Originally posted by r0lZ

and a 'creative' user may find it useful.That be me! :D

Before I forget, can you implement the changes to your code when adding a new PGC in the Title Domain for

Category mask = 1
Category Parental ID mask = 0

It would save me time in editing in IfoEdit. ;)

Cela
29th October 2004, 10:18
@r0lZ
Thank you for your friendly and helpful responses. :) I know you are very busy and I do not want to stress your patience. That said, let me please make a last suggestion for the time being for the wonderfully useful Scratchbook.

When adding a block of commands to the scratchbook the 'Goto line numbers' are maintained correctly (that is ok and very useful), but the scratchbook linenumbers do not match (that is a little confusing at first sight).

[00 B1 00 01 00 03 00 03] 14 if ( gprm(1) != 3 ) then { Goto line 3 }
[71 06 00 01 00 02 00 27] 15 Set gprm(1) =(mov) 2 ; LinkPGN Program 39
[00 B1 00 01 00 02 00 05] 16 if ( gprm(1) != 2 ) then { Goto line 5 }
[30 08 00 02 01 C0 00 00] 17 (CallSS) Call the VMGM PGC 2, resume cell 1
[71 00 00 01 00 02 00 00] 18 Set gprm(1) =(mov) 2
[00 00 00 00 00 00 00 00] 19 NOP But when another command block is inserted before that block, then all the 'Goto line numbers' get incremented. That will lead to problems when the Command block is copied back into the vts section.

'Code Sections' for the Scratchbook could be a practical solution.
* Maintain 'Code Sections' with consistent 'Goto line numbers'.
* Each Code section is independent from all others.
* Each Code sectin can be imported and exported to a file independently.
* Import and Export of complete Scratchbook (as now) with all Code sections together should be also supported.
* 'Comments' in Code Sections to improve readability.

Above Example as Code section:

[- Code section - Begin ]
[------ comment --------] VTS2 Pre commands for Movie segment 1
[00 B1 00 01 00 03 00 03] 01 if ( gprm(1) != 3 ) then { Goto line 3 }
[71 06 00 01 00 02 00 27] 02 Set gprm(1) =(mov) 2 ; LinkPGN Program 39
[00 B1 00 01 00 02 00 05] 03 if ( gprm(1) != 2 ) then { Goto line 5 }
[30 08 00 02 01 C0 00 00] 04 (CallSS) Call the VMGM PGC 2, resume cell 1
[71 00 00 01 00 02 00 00] 05 Set gprm(1) =(mov) 2
[00 00 00 00 00 00 00 00] 06 NOP
[- Code section - End --] Agreed, Comments would be only for the Scratchbook and not to be transferred into the Ifo.

I will try out your advices over the weekend. Import/Export PGC functions were already on my study timetable.
Before knowing it better, I guess, I would prefer not to import directly into the ifos but would want to import via the Scratchbook (Code sections in the Scratchbook could be helpful). Then I would want to sort out and edit the commands in the Scratchbook. When I have verified in the Scratchbook that all looks ok, I would be ready to finally copy to the ifo part. With direct import I am too afraid to mess up the ifo part.

Thank you very much. :)

Cela

r0lZ
29th October 2004, 11:07
Originally posted by Cela
When adding a block of commands to the scratchbook the 'Goto line numbers' are maintained correctly (that is ok and very useful), but the scratchbook linenumbers do not match (that is a little confusing at first sight).

But when another command block is inserted before that block, then all the 'Goto line numbers' get incremented. That will lead to problems when the Command block is copied back into the vts section.

'Code Sections' for the Scratchbook could be a practical solution.
* Maintain 'Code Sections' with consistent 'Goto line numbers'.
* Each Code section is independent from all others.
* Each Code sectin can be imported and exported to a file independently.
* Import and Export of complete Scratchbook (as now) with all Code sections together should be also supported.
* 'Comments' in Code Sections to improve readability.
The renumbering feature works also on the scratchbook. If you want to insert/delete lines without the renumber feature, you have to toggle the Renumber GOTOs option.

As I explained before, it is verry difficult to modify the scratchbook behavior. In fact, when I programmed the edit functions, I had a problem: if no DVD is loaded, the edit buttons and menu must be disabled. But I find it easier to add a special command buffer to be able to use the edit functions at any time, without the need to verify that a PGC is currently displayed. I realized that it was useful to use this buffer as an user accessible scratchbook.
Therefore, with the exception of the "*** scratchbook commands:" label, the scratchbook must be exactly like a real PGC's command buffer. Modifying this would require a complete rewrite of the main editor. Sorry.

r0lZ
29th October 2004, 11:14
@2COOL
The Category Parental ID mask not being set to 0 when creating a dummy PGC in the Title domain is a bug. This problem is fixed now, and the Category mask is set to 1, as you requested.

BTW, do you know exactly how a multi-pgc title is supposed to work? For example, after the playback of the first PGC, I don't know if the next PGC is played automatically, or if you need to jump to it explicitly with a post or cell command.


A new version of PgcEdit, with fixes for all problems/bugs you discovered, will be available soon...

mpucoder
29th October 2004, 12:33
If you jump the playback will pause. The right way is to link the PGCs with the "next" and "prev" links (offsets 0x9C and 0x9E)

Dimad
29th October 2004, 14:13
@mpucoder

Can Next, Prev and GoUp links refer to any PGC in the domain? I guess there was a discussion somewhere here that they must refer only to PGCs within same title - which seems strange.

Can they be used in menus? Probbaly yes as LinkNextPGC and others are allowed there.

r0lZ
29th October 2004, 15:57
@mpucoder
If you jump the playback will pause. The right way is to link the PGCs with the "next" and "prev" links (offsets 0x9C and 0x9E)OK.

But what about a PGC with both a next link AND post or cell commands? Does the post commands take precedence?

And if a single-PGC Title has a next link, but no post commands, does the playback continue with the next link, or Exit?

@Dimad
Can Next, Prev and GoUp links refer to any PGC in the domain?Good question. I will check this with my Sony.

GoUp is often used in menus, and almost never in titles. So, I suppose that Next and Prev are allowed anywhere.

mpucoder
29th October 2004, 16:24
Within the title domain Next, Prev, and GoUp are restricted to the same title. A player probably would continue, but change the title number on the front panel display.
The links can be used in menu domains, and can link to any PGC within the domain.

Here's a few tidbits I just learned from playing with Scenarist.
1) A menu (not a sub-menu, but the one with bit 7 set saying it is the entry) cannot have a Prev link. But a title entry PGC can, meaning you could start a title and back up into hidden material.
2) Menues also have a special value for the GoUp link of 65535 (0xFFFF) that means "resume" (the same as executing an RSM)

Next link vs Post command vs cell command - depends on how you get there. If the user hits the next button while viewing the last program of a PGC it will advance to the next PGC without executing the cell or post commands. But if the PGC runs out, the commands will execute and take precedence. Cell commands are executed at the end of the cell, so would take precedence over any post commands.

The only place a next link can point in a single PGC title is to itself. This is legal, and results in endless looping.

There are 2 ways to exit, explicitly with the exit command, or implicitly if there is nothing else to do.

r0lZ
29th October 2004, 18:11
Within the title domain Next, Prev, and GoUp are restricted to the same title. A player probably would continue, but change the title number on the front panel display. When playing with IfoEdit's preview, I've found that it is possible to jump to any PGC in the same domain. I will try to confirm this with my standalone.

1) A menu (not a sub-menu, but the one with bit 7 set saying it is the entry) cannot have a Prev link. But a title entry PGC can, meaning you could start a title and back up into hidden material.
2) Menues also have a special value for the GoUp link of 65535 (0xFFFF) that means "resume" (the same as executing an RSM) Verry interesting!

If the user hits the next button while viewing the last program of a PGC it will advance to the next PGC without executing the cell or post commands. But if the PGC runs out, the commands will execute and take precedence. There is one exception to this: if the next link of a PGC point to itself, the post commands will execute when the next button is pressed while viewing the last program.
The only place a next link can point in a single PGC title is to itself. This is legal, and results in endless looping. ...unless a post command will jump elsewhere.

2COOL
29th October 2004, 19:24
Originally posted by r0lZ
@2COOL
The Category Parental ID mask not being set to 0 when creating a dummy PGC in the Title domain is a bug. This problem is fixed now, and the Category mask is set to 1, as you requested.Thanks!;)

BTW, do you know exactly how a multi-pgc title is supposed to work?
For example, after the playback of the first PGC, I don't know if the next PGC is played automatically, or if you need to jump to it explicitly with a post or cell command.My new PGC 2 was a non-entry PGC and it's Pre commands didn't execute. In fact after the normal play of last chapter of PGC 1, it went into its own Post commands afterwards. I would've known if PGC 2 would be used since I would be jumping to somewhere else.

A new version of PgcEdit, with fixes for all problems/bugs you discovered, will be available soon... C

I'm going to ask a stupid question since I couldn't find any good references. But, what's the clarifications between a entry PGC and a non-entry PGC? If it's flagged as non-entry, you can't access it?

2COOL
29th October 2004, 19:31
Originally posted by mpucoder
Within the title domain Next, Prev, and GoUp are restricted to the same title. Nice to hear some good news on a Friday morning.

@r0lZ

I was thinking...instead of New PGC...it should be Add dummy PGC? I mean the new PGC doesn't have video or audio content, right?

mpucoder
29th October 2004, 20:40
The PGC flagged as entry is the one entered when a jump is made to a title, ie it's the starting point for that title.

2COOL
29th October 2004, 21:57
Originally posted by mpucoder
The PGC flagged as entry is the one entered when a jump is made to a title, ie it's the starting point for that title. I see now. If I had multi-PGCs with the same Title, only one of them will be flagged as entry. Or else, if you had a Jump to Title command, it would be confused on which PGC to jump to. Thanks mpucoder!

@r0lZ

Is this (http://forum.doom9.org/showthread.php?s=&postid=560844#post560844) still possible?

2COOL
29th October 2004, 23:36
@r0lZ

I think your disclaimer on dummy PGCs in Title Domain when doing New PGC should be rewritten. They are OK if used in multiple PGC with same Titles and set to non-entry. I hope I read the previous posts right.

Also,
Should I create the following PGC?
VTST 1, TTN 2This PGC is does not apply to what's shown in PGC Selection afterwards.

dave2003
31st October 2004, 01:23
Originally posted by r0lZ
Hi everybody.
PgcEdit v0.3 is released.

Very nice! Thanks!

Cela
31st October 2004, 21:57
How can I edit (add, replace, modify, delete) menu button commands?

Please excuse me, I must have missed or overlooked that issue. I still do it with DvdReMake Pro which means timeconsuming exporting all VOBs after each edit step.

Regards
Cela

2COOL
31st October 2004, 22:14
Originally posted by Cela
How can I edit (add, replace, modify, delete) menu button commands?You can't do it with PgcEdit but I have faith in r0lZ that one day, he'll learn how to implement that. PgcEdit has progressed wonderfully. If only we can get full previewing capabilities.

I still do it with DvdReMake Pro which means timeconsuming exporting all VOBs after each edit step."timeconsuming"? You should've been there back in the days before MenuEdit came around and we all had to do it manually. It was worse working with motion menus that had all those hundreds and hundreds of nav packs!

r0lZ
31st October 2004, 22:42
#Cela
How can I edit (add, replace, modify, delete) menu button commands? Menu commands edition is planned for a future release. I just need some time...

@2COOL
"timeconsuming"? You should've been there back in the days before MenuEdit came around and we all had to do it manually. It was worse working with motion menus that had all those hundreds and hundreds of nav packs!BTW, Have you noticed that most of the time it is sufficient to change the parameters in the first NAV pack?

2COOL
31st October 2004, 22:55
Originally posted by r0lZ
@2COOL
BTW, Have you noticed that most of the time it is sufficient to change the parameters in the first NAV pack? I wish we HAD that tip back then. I was still a newbie. :(

CoNS
1st November 2004, 08:51
Originally posted by Cela
I still do it with DvdReMake Pro which means timeconsuming exporting all VOBs after each edit step.With MenuEdit, which Dimad made before DvdReMake Pro, you edit the files as they are, without exporting to new vobs afterwards. For the same reason I use MenuEdit instead of DvdReMake Pro for hiding menu buttons etc.

Cela
1st November 2004, 10:22
@r0lZ, 2COOL, CoNS

"...timeconsuming..." - yes, compared with PgcEdit ;)

Thanks for your patient help. :)

Another - (for this week the last, I promise!) - newbie question:
How can I replace the VTS vobs of, let's say, VTS3 by a 'Insert Disk 2' vob, preferably keeping the Pre and Post commands (navigation structure) of the original VIDEO_TS.

Last night I wanted to split a VIDEO_TS which i authored with DVdD-lab for DL burning into two parts for Single Layer DVD burning. Being too tired to have an idea, I had to give up. And this morning, still too uninspired to have an idea.

Regards,
Cela

r0lZ
1st November 2004, 12:12
How can I replace the VTS vobs of, let's say, VTS3 by a 'Insert Disk 2' vob, preferably keeping the Pre and Post commands (navigation structure) of the original VIDEO_TS. Try a Blank Out All VTST Titles, and select the option Replace all Titles by an Imoprted Clip.
Note that this function will replace ALL titles of the current VTS.

r0lZ
1st November 2004, 12:25
PgcEdit v0.3.7 released.

version history: A. Blanking a cell (in VOB/Cell ID remapper) works now for all platforms.
A. It is now possible to enter an ASCII string (for example a language code) in any numeric field of the Command Editor by prefixing the string with ' (single quote character, aka apostrophe). Example: 'en = 25966
E. PGC Editor: GoUp (Return) value can now be Resume (0xFFFF) for a Menu PGC.
E. "Enable Navigation Buttons" has now an option to enable the GoUp (Return) button to resume to the Title domain from any non-dummy Menu PGC.
E. Calls Cross References: now display also the PrevPGC, NextPGC and GoUpPGC links, but do not display anymore the calls to the same PGC. The Unreferenced PGCs list is therefore more accurate.
E. Disassembly: New error messages:[list=1] Set gprm(n) ?=(rnd) <ILLEGAL VALUE 0 FOR ?=(RND) OPERATOR>
Set gprm(n) /=(div) <ILLEGAL VALUE 0 FOR /=(DIV) OPERATOR>
Set gprm(n) %=(mod) <ILLEGAL VALUE 0 FOR %=(MOD) OPERATOR>
(SetAMXMD) Set Karaoke Audio Mixing Mode =(mov) <ILLEGAL VALUE 1...>
(SetGPRMMD) Set gprm(n) =(mov) <ILLEGAL SPRM OPERAND sprm(n)>[/list=1] E. The value field of SetAMXMD is now replaced by 6 checkboxes in the GUI.
E. Selecting an item in the Command Editor menu "Numerically -> 40-D0: Set" now update the value/GPRM/SPRM radiobuttons automatically in the GUI.
F. As the SetGPRMMD source operand may not be a SPRM, the SPRM option has been removed from the Command Editor GUI.
F. 'Blank all PGCs in Domain' now correctly update the video, audio and subpic attributes in VMGM_MAT/VTSI_MAT/VMG_VTS_ATRT tables.
F. 'Blank all PGCs in Domain' (when blanking w/o kill playback): the video was sometimes unplayable. Now fixed (thanks to jsoto)
F. Command Editor: The maximum number of PGCs is now 32767. (Was 65535)
F. Set used with AND, OR, XOR or RND was unable to disable the LinkNoLink.
F. GOTOs in pasted lines with Paste Replace were renumbered in some cases.
F. New PGC: When creating a new PGC in the Title domain, the VTS_PGCI table is now correctly updated.
F. Target highlighting and "Jump To Target", when used in a multi-PGC title, were unable to find the target of JumpVTS_PTT and LinkPTT if the chapter was in another PGC belonging to the same Title.
F. Error launching PgcEdit when the TEMP directory is not writable trapped.
F. Error in the Uninstall procedure fixed.
Note: most of the bug fixed in this release were discovered by 2COOL. See this post, above (http://forum.doom9.org/showthread.php?s=&threadid=79853&perpage=20&pagenumber=12#post562497).
2COOL, thanks for this, and for your new guide (http://home.tiscali.be/debie.roland/pgcedit/third_party/2cool/previous_chapter/intro.htm)!

blutach
2nd November 2004, 00:14
@r0lz - Thanks, thanks and more thanks! PgcEdit just keeps getting better and better!!

@2COOL - Real nice guide (as usual :))- I guess it can be used for "flippers", as well as episodic DVDs. In these cases, I have been using Nero Recode's Merge Titles function followed by IfoEdit's Create IFOs function, which builds a new chapter table. I have found this to work very well. Your thoughts?

blutach
2nd November 2004, 00:15
@r0lz - Why would anyone want to uninstall PgcEdit :D :D :D

2COOL
2nd November 2004, 00:45
Originally posted by blutach
@2COOL - Real nice guide (as usual :))- I guess it can be used for "flippers", as well as episodic DVDs. In these cases, I have been using Nero Recode's Merge Titles function followed by IfoEdit's Create IFOs function, which builds a new chapter table. I have found this to work very well. Your thoughts? It works but not free. ;) Besides, I was just providing another optional undocumented method with post DVD Shrink re-authoring.

CoNS
2nd November 2004, 08:49
Originally posted by r0lZ
PgcEdit v0.3.7 released.Yeah, baby, yeah!! :D KUTGW - it's a great proggy, simply awesome

2COOL
2nd November 2004, 20:28
@jeanl

From the Voblanker thread...

Originally posted by 2COOL
@jeanl

I guess I'll be using TSB for the time being until PgcEdit and VobBlanker get fixed on this matter.

PgcEdit v0.3.7 released.

version history: F. 'Blank all PGCs in Domain' now correctly update the video, audio and subpic attributes in VMGM_MAT/VTSI_MAT/VMG_VTS_ATRT tables.

PgcEdit 0.3.7 can now remove the stream attributes when blanking so that's it for TitleSet blanker for me. :) I agree. The good thing about TSB is that for the backup ~ files feature. I just wish they could be put into a backup folder instead on the same folder with the movie. Well, I can live without it.

r0lZ
2nd November 2004, 20:38
The good thing about TSB is that for the backup ~ files feature. I just wish they could be put into a backup folder instead on the same folder with the movie. That's exactly what PgcEdit do. Or do you want another backup when balnking?

2COOL
2nd November 2004, 20:42
Originally posted by r0lZ
That's exactly what PgcEdit do. Or do you want another backup when balnking? I ws referring to TSB but no, I'm satisfied with PgcEdit's backup setup for the moment.

BTW, got any hints of new macros on the near future?

jeanl
2nd November 2004, 21:17
PgcEdit 0.3.7 can now remove the stream attributes when blanking so that's it for TitleSet blanker for me. I agree. The good thing about TSB is that for the backup ~ files feature. I just wish they could be put into a backup folder instead on the same folder with the movie. Well, I can live without it.

OK, now I feel like I have to justified my preference for titlesetblanker... ;)
Here's why I tend to use it first (well, anytime I need to blank a whole titleset, which is actually 99% of the time).

- The UI is extremely simple
- You mark all the VTS and VTSM you want to blank, click blank done: everything is done in one shot. That's a big plus. In PgcEdit, you have to do it VTS by VTS, but other than that, it's pretty quick. In vobblanker, it's one order of magnitude slower, because you have to pay attention to which VTS you "process" and which you "skip" and you have to copy everything you skipped into the destination folder by hand. Here, I'm talking about "quick" processing (no VOB reading/writing, just overwriting).

Oh and I don't mind the backup files being in the same directory, cause I destroy them when I'm done. What's the problem with that anyway? When you want to calculate the total size???

I haven't run into any problem with titlesetblanker, but I understand that they do exist. In my optimism, I'm guessing I'll never run into any problem, until the day comes when I do, and then I guess I'll switch to PgcEdit!!!!

I use PgcEdit for a bunch of other stuff, like skipping stuff that's in a titleset I want to keep, bypassing unwanted menus, and setting default subtitles/audio tracks. And I love it! But for quickly blanking whole titlesets, I think I'll stick to TSB for now...

Jeanl

blutach
2nd November 2004, 21:34
Guess I better add my 2 cents worth since this is a forum and we are all friends :)

Originally posted by jeanl
OK, now I feel like I have to justified my preference for titlesetblanker... ;)
Here's why I tend to use it first (well, anytime I need to blank a whole titleset, which is actually 99% of the time).

- The UI is extremely simple ... So is PgcEdit!!!

Originally posted by jeanl
- You mark all the VTS and VTSM you want to blank, click blank done: everything is done in one shot. That's a big plus. In PgcEdit, you have to do it VTS by VTS, but other than that, it's pretty quick. In vobblanker, it's one order of magnitude slower, because you have to pay attention to which VTS you "process" and which you "skip" and you have to copy everything you skipped into the destination folder by hand. Here, I'm talking about "quick" processing (no VOB reading/writing, just overwriting). Agreed, but the extra control you get doing things one at a time is better IMHO. And no-one can say that having the VOBs in a "backup folder" is a bad thing...just in case (I usually end up with 4 or 5 backup folders so I can "rollback" in case I make an error - which is a lot of the time :D

And, of course, with VobBlanker, you get the great ability of processing cell by cell. This is fantastic control over the DVD.

PgcEdit & VobBlanker 4 me. (Maybe we should open a poll?)

Regards

blutach
2nd November 2004, 21:37
Originally posted by 2COOL
It works but not free. ;) Besides, I was just providing another optional undocumented method with post DVD Shrink re-authoring. I suspect (but have never tried it) that DVD Shrink can do it (the merge titles bit), too.

Takes nothing away from your guide, tho, which I'm sure I will use.

Regards

blutach
2nd November 2004, 21:42
Originally posted by CoNS
Yeah, baby, yeah!! :D KUTGW - it's a great proggy, simply awesome Aaahhh, yes, figured it out ... "Keep Up The Good Work". Am not an "acronymer"

And yes r0lZ - KUTGW, I second CoNS's thoughts.

Regards

r0lZ
2nd November 2004, 22:44
@2COOLBTW, got any hints of new macros on the near future? Sorry, I will not add new macros (except perhaps verry simple ones) in the near future. As I said elsewhere, I want now to stabilize completely the current version, complete the Trace (almost done), and implement button commands edition before. That's a lot of work!

@blutachAnd, of course, with VobBlanker, you get the great ability of processing cell by cell. This is fantastic control over the DVD. It's possible also with PgcEdit. In the cells table, click on the VOB/Cell ID button of the cell you want to blank out, and select Create a new blank VOB cell. But VobBlanker is still more powerfull: PgcEdit do not replace the old cell by a blank one; it just add a blank cell to the VOB, and assign it to the current PGC cell.

Also, DVDShrink is now able to replace a PGC with a still frame. Honestly, I think it is the best solution, when you need to shrink the DVD. It's easy, and you have full preview capabilities.

jeanl
2nd November 2004, 22:48
Originally posted by r0lZ

Also, DVDShrink is now able to replace a PGC with a still frame. Honestly, I think it is the best solution, when you need to shrink the DVD. It's easy, and you have full preview capabilities.
Sorry about my ignorance, is that in full-backup mode or in re-author mode?
Jeanl

r0lZ
2nd November 2004, 22:54
Both. Just select 'still image' in the compression tab.
Wou need v3.2 for this.

jeanl
2nd November 2004, 23:01
oh OK, I've seen that, but it does not let you adjust the still time, does it? What I used to end up with was a still frame for up to a minute, depending on the original length. Was I doing something wrong?
Jeanl
P.S. Getting slightly off topic here. Sorry about that...

r0lZ
2nd November 2004, 23:06
No, you're right. But your title is blanked. You can then use PgcEdit to Kill playback...

jeanl
2nd November 2004, 23:11
Originally posted by r0lZ
No, you're right. But your title is blanked. You can then use PgcEdit to Kill playback...

Oh, Ok, I see what you mean. I never thought of doing it that way. That's another solution for when you want to blank something that's in the same VTS as something you want to keep.
Thanks!
Jeanl

blutach
2nd November 2004, 23:19
Originally posted by r0lZ
@blutach It's possible also with PgcEdit. In the cells table, click on the VOB/Cell ID button of the cell you want to blank out, and select Create a new blank VOB cell. But VobBlanker is still more powerfull: PgcEdit do not replace the old cell by a blank one; it just add a blank cell to the VOB, and assign it to the current PGC cell.

Also, DVDShrink is now able to replace a PGC with a still frame. Honestly, I think it is the best solution, when you need to shrink the DVD. It's easy, and you have full preview capabilities. Thanks for bring that to my attention r0lz. However, sometimes I need to cut the PGC midway, not simply blank it (the credits come part-way into the PGC) This is where VobBlanker comes into its own, I think.

Regards

jeanl
2nd November 2004, 23:25
Originally posted by blutach
Thanks for bring that to my attention r0lz. However, sometimes I need to cut the PGC midway, not simply blank it (the credits come part-way into the PGC) This is where VobBlanker comes into its own, I think.

Regards
AH! There's another way to do that!
Vobblanker is great for the preview, but slooooow because it needs to rewrite the whole VOB file. if you don't care about saving space (and you're just doing that because you don't like credits or logos) then you can go in IFOEdit and change the start sector and/or end sector for the PGC in question, using the frame numbers you get from the vobblanker preview. That's instantanous. I do that all the time, with great results.
If you want to reclaim the disc space, then yes vobblanker is the way to go!
Jeanl

r0lZ
2nd November 2004, 23:30
you can go in IFOEdit and change the start sector and/or end sector for the PGC in question, using the frame numbers you get from the vobblanker preview. Are you sure you can do that safely? My Sony usually hangs when playing such modified PGCs.

jeanl
2nd November 2004, 23:37
Originally posted by r0lZ
Are you sure you can do that safely? My Sony usually hangs when playing such modified PGCs.
I've never had any problem, but my settop player is a sampo and it might be that it's pretty forgiving.
What's wrong with doing that anyway? Why would it make the player hang? Is there some other place that must be modified if you do that?
I'm not setting the length to 0, mind you. I'm just removing a few seconds from the playback, usually the first seconds or the last ones.

I wouldn't be surprised, given the redundant jungle nature of the DVD spec, that if you modify the start/end sectors in one place, you also need to do that somewhere else, but I must say I don't know much about that... Can someone confirm that? (that it's not "dangerous"/illegal to modify the start/end sectors of a PGC in IFOEdit, - I'm guessing as long as the resulting length is longer than .4s?)

Jeanl

r0lZ
2nd November 2004, 23:48
What's wrong with doing that anyway? Why would it make the player hang? Unfortunately, my player doesn't explain why it doesn't like that! ;) But it doensn't.
I guess it may be because you are not jumping straight to the beginning of a cell, or because the time references are wrong...

What is particularly disturbing is that the player accepts that sometimes, and sometimes not! :confused:

blutach
3rd November 2004, 00:09
@jean

I'm a space saver:) That way, I can get best quality when transcoding.

jsoto
3rd November 2004, 09:34
, that if you modify the start/end sectors in one place, you also need to do that somewhere else, but I must say I don't know much about that... Can someone confirm that? (that it's not "dangerous"/illegal to modify the start/end sectors of a PGC in IFOEdit, - I'm guessing as long as the resulting length is longer than .4s?)
Yes, start/end sectors of a Cell information is duplicated in the IFO:
A) In the playback table (Beware, the same cell can be more than one time in different playback tables)
B) In VTS_C_ADT table.

So you should modify at least two tables. And, to be absolutely sure, and to "support" an IFOEdit's mock's strip, all the nav packs of the rest of the Cell (the unused part) should be changed to an unused VID/CID.

And, finally, the Elapsed Times/PTSs/SRC values in the VOB of the modified PGC will be not consecutive, and, let's say, incoherent. So if you are "cutting" the last part of a PGC probably it works fine, but I'm sure you will have problems if you "cut" a Cell in the middle of a PGC (BTW, PTS/SRC values are one of the TODO "bugs" in VobBlanker)

Summarizing, IMHO it is not a good/safe practice...

jsoto

jeanl
3rd November 2004, 18:45
Thanks for the clarification jsoto. I was afraid of that. As a rule, it looks like anytime you'd think there's an easy solution to a simple problem, the DVD specs comes back at you!
Jeanl

northwind
4th November 2004, 02:26
In a number of newer movies I have (ex: Breaking all rules) I have noticed that leaving out the F B I warnings and the ever growing list of warnings and disclaimers (which is why I copy some of my DVDs) will cause the resulting DVD to be useless.
My player is a Panasonic F65, but I also have a GoVideo to check on.

Anyway....

If I use PGCEdits kill playback function or use DVDRemake's blanking then the player will start loading and then execute an exit.
In PGCEdit it is enough to change/add or delete any command in the executed parts of the VMG-PGCs.

In the mentioned DVD, FP will call a VMG which will do a jump to a VTST to play the studio splash. Then the VMG is called from that VTST to continue. Even this first call is not done. Nothing shows on the screen. Weird.

I done a number of experiments on that one. I only found two ways out of it. Three if you count in writing a new menu system for the DVD.
Not kidding - I've done that a few times.

1) use the DVDRemake to replace the warning and disclaimer screens with a black screen. This works most of the times, but not always.

2) use IFO edit to edit the play-time to 0. (Playback time = 192; start segment = end segment). I have only tried that once, being with the mentioned movie and positive result.
That is when I noticed that 0.3.7 was out. Downloaded it and kill-playback still killed the playback of the whole disk.

Any similar experiences?

jeanl
4th November 2004, 02:42
Northwind,

This is very strange.
Did you make sure you didn't kill playback on a PGC with buttons? That would surely screw up playback. Also, did you check whether there were cell commands in the PGC you killed? These are 2 cases where I could see why there would be problems. If not, that's really strange.

I think it would help us (r0lZ in particuler) if you posted the PGCs in question before and after you kill playback, for example, the one you describe that jumps from the FP to the splash then to the VMG and the title. It should be easy to the guys here to detect if anything went wrong.

It is my understanding that if you don't have buttons nor cell commands in anything you blank, then playback should be identical to the original playback, except that the video does not play. In other words, the same commands should be executed, in the original or blanked version.
Can you check that there were indeed no cell commands and no buttons?

@r0lZ,
Here's another example where the TRACE function would be invaluable (I know, I don't need to convince you!!!! ;) )


Jeanl.

northwind
4th November 2004, 03:59
Hi JeanL,

No problem - I can do that.
Note that I don't think it is an error in PGCEdit, rather I think somebody here found a loophole in the DVD-spec. Of course I am not sure.
Also note that neither PGCEdit nor DVDRemake nor IFOEdit can keep this DVD playing if you use their kill-playback functions (or that which corrosponds to it). I have to go in and edit the playback time and start/end sector in IFOEdit.

Note: the screens to blank are located in VMG-2, VMG-3, VMG-5, VMG-6 and VTST-5,PGC1.

Here are the virgin PGCs:

VMG , First-Play PGC - Chapters: n/a, Programs: n/a, Cells: n/a

********** pre commands:
[30 06 00 01 00 C0 00 00] 1 (JumpSS) Jump to VMGM PGC 1
********** post commands:
********** cell commands:


Playback time: 00:00:00.00 (at 30 fps)
Playback mode: sequential
PUOs: 0 (0x00000000)
NextPGCN: 0
PrevPGCN: 0
GoUpPGCN: 0
PGC Still Time: 0

VMGM , LU 1 (en) , 1 (0:05) 0b. - Chapters: n/a, Programs: 2, Cells: 2

********** pre commands:
[71 00 00 00 10 00 00 00] 1 Set gprm(0) =(mov) 4096
[71 00 00 0A 00 00 00 00] 2 Set gprm(10) =(mov) 0
[71 00 00 0B 00 00 00 00] 3 Set gprm(11) =(mov) 0
[61 00 00 09 00 90 00 00] 4 Set gprm(9) =(mov) sprm(16:Preferred audio language)
[00 A1 00 09 65 6E 00 08] 5 if ( gprm(9) == 25966 ("en") ) then { Goto line 8 }
[00 A1 00 09 66 72 00 0C] 6 if ( gprm(9) == 26226 ("fr") ) then { Goto line 12 }
[00 01 00 00 00 00 00 0F] 7 Goto line 15
[71 00 00 09 00 00 00 00] 8 Set gprm(9) =(mov) 0
[75 00 00 09 01 00 00 00] 9 Set gprm(9) *=(mul) 256
[63 00 00 0A 00 09 00 00] 10 Set gprm(10) +=(add) gprm(9)
[00 01 00 00 00 00 00 0F] 11 Goto line 15
[71 00 00 09 00 01 00 00] 12 Set gprm(9) =(mov) 1
[75 00 00 09 01 00 00 00] 13 Set gprm(9) *=(mul) 256
[63 00 00 0A 00 09 00 00] 14 Set gprm(10) +=(add) gprm(9)
[61 00 00 09 00 92 00 00] 15 Set gprm(9) =(mov) sprm(18:Preferred sub-picture language)
[00 A1 00 09 65 6E 00 15] 16 if ( gprm(9) == 25966 ("en") ) then { Goto line 21 }
[00 A1 00 09 66 72 00 18] 17 if ( gprm(9) == 26226 ("fr") ) then { Goto line 24 }
[71 00 00 09 00 00 00 00] 18 Set gprm(9) =(mov) 0
[63 00 00 0A 00 09 00 00] 19 Set gprm(10) +=(add) gprm(9)
[00 01 00 00 00 00 00 1A] 20 Goto line 26
[71 00 00 09 00 00 00 00] 21 Set gprm(9) =(mov) 0
[63 00 00 0A 00 09 00 00] 22 Set gprm(10) +=(add) gprm(9)
[00 01 00 00 00 00 00 1A] 23 Goto line 26
[71 00 00 09 00 01 00 00] 24 Set gprm(9) =(mov) 1
[63 00 00 0A 00 09 00 00] 25 Set gprm(10) +=(add) gprm(9)
[71 00 00 0E 10 03 00 00] 26 Set gprm(14) =(mov) 4099
[30 02 00 00 00 03 00 00] 27 (JumpTT) Jump to Title 3
********** post commands:
[71 00 00 0E 10 03 00 00] 1 Set gprm(14) =(mov) 4099
[30 02 00 00 00 03 00 00] 2 (JumpTT) Jump to Title 3
********** cell commands:
[20 01 00 00 00 00 00 0D] 1 LinkTailPGC

********** menu buttons commands:


Playback time: 00:00:05.00 (at 30 fps)
Playback mode: sequential
PUOs: 0 (0x00000000)
NextPGCN: 0
PrevPGCN: 0
GoUpPGCN: 0
PGC Still Time: 0
Audio stream 1 status: 0x00008000 (stream=0)

But- Prog. Cell Type Layer Res- Still Cell Playback End Entry First Last Last VOB Cell
tons Flags Break tric- Timel Cmd. Time Time VOBU ILVU VOBU VOBU ID ID
ted. sector End Start End

0 1 1 2 yes no 0 0 00:00:03.20 00:00:03.20 0 0 112 139 1 1
0 2 2 8 no no 0 1 00:00:01.10 00:00:05.00 140 0 172 189 1 2



VTST 5 , 1 TTN 1 (0:15) Title 3 - Chapters: 2, Programs: 2, Cells: 2

********** pre commands:
[71 00 00 0E 20 03 00 00] 1 Set gprm(14) =(mov) 8195
[00 02 00 00 00 00 00 00] 2 Break
********** post commands:
[30 08 00 00 01 83 00 00] 1 (CallSS) Call the VTSM Root menu of the current VTS, resume cell 1
********** cell commands:


Playback time: 00:00:15.00 (at 30 fps)
Playback mode: sequential
PUOs: 0 (0x00000000)
NextPGCN: 0
PrevPGCN: 0
GoUpPGCN: 0
PGC Still Time: 0
Audio stream 1 status: 0x00008000 (stream=0)

Chap. Prog. Cell Type Layer Res- Still Cell Playback End Entry First Last Last VOB Cell
(PTT) Flags Break tric- Timel Cmd. Time Time VOBU ILVU VOBU VOBU ID ID
ted. sector End Start End

1 1 1 2 yes no 0 0 00:00:13.20 00:00:13.20 0 0 4636 4661 1 1
2 2 2 8 no no 0 0 00:00:01.10 00:00:15.00 4662 0 4695 4715 1 2


At this point you get the main menu system called which resides in VTS-3.
In the end this menu system will call VMG-2 to a) show the rating screen, b) show the FBI warning, c) the other warnings and d) the disclaimer for views and expressions. Then the movie is called.

[Rating screen]
VMGM , LU 1 (en) , 2 (0:07) 0b. - Chapters: n/a, Programs: 2, Cells: 2

********** pre commands:
[00 A1 00 09 20 03 00 24] 1 if ( gprm(9) == 8195 ) then { Goto line 36 }
[61 00 00 09 00 0E 00 00] 2 Set gprm(9) =(mov) gprm(14)
[79 00 00 09 F0 00 00 00] 3 Set gprm(9) &=(and) 61440
[00 A1 00 09 20 00 00 1B] 4 if ( gprm(9) == 8192 ) then { Goto line 27 }
[00 A1 00 09 50 00 00 24] 5 if ( gprm(9) == 20480 ) then { Goto line 36 }
[00 A1 00 09 30 00 00 1F] 6 if ( gprm(9) == 12288 ) then { Goto line 31 }
[00 A1 00 09 40 00 00 1A] 7 if ( gprm(9) == 16384 ) then { Goto line 26 }
[00 A1 00 09 60 00 00 18] 8 if ( gprm(9) == 24576 ) then { Goto line 24 }
[61 00 00 09 00 81 00 00] 9 Set gprm(9) =(mov) sprm(1:Audio stream number)
[79 00 00 09 00 0F 00 00] 10 Set gprm(9) &=(and) 15
[79 00 00 0A F0 FF 00 00] 11 Set gprm(10) &=(and) 61695
[75 00 00 09 01 00 00 00] 12 Set gprm(9) *=(mul) 256
[63 00 00 0A 00 09 00 00] 13 Set gprm(10) +=(add) gprm(9)
[61 00 00 09 00 82 00 00] 14 Set gprm(9) =(mov) sprm(2:Sub-picture stream number)
[79 00 00 09 00 7F 00 00] 15 Set gprm(9) &=(and) 127
[79 00 00 0A FF 00 00 00] 16 Set gprm(10) &=(and) 65280
[63 00 00 0A 00 09 00 00] 17 Set gprm(10) +=(add) gprm(9)
[00 A1 00 0E 10 04 00 26] 18 if ( gprm(14) == 4100 ) then { Goto line 38 }
[00 A1 00 0E 10 05 00 27] 19 if ( gprm(14) == 4101 ) then { Goto line 39 }
[00 A1 00 0E 10 06 00 28] 20 if ( gprm(14) == 4102 ) then { Goto line 40 }
[00 A1 00 0E 10 07 00 29] 21 if ( gprm(14) == 4103 ) then { Goto line 41 }
[71 00 00 0D 00 01 00 00] 22 Set gprm(13) =(mov) 1
[00 02 00 00 00 00 00 00] 23 Break
[79 00 00 0E 0F FF 00 00] 24 Set gprm(14) &=(and) 4095
[73 00 00 0E 20 00 00 00] 25 Set gprm(14) +=(add) 8192
[30 06 00 01 03 83 00 00] 26 (JumpSS) Jump to VTSM 3, Root menu (TTN 1)
[61 00 00 09 00 00 00 00] 27 Set gprm(9) =(mov) gprm(0)
[79 00 00 09 00 0F 00 00] 28 Set gprm(9) &=(and) 15
[00 A1 00 09 00 02 00 25] 29 if ( gprm(9) == 2 ) then { Goto line 37 }
[00 01 00 00 00 00 00 24] 30 Goto line 36
[61 00 00 09 00 00 00 00] 31 Set gprm(9) =(mov) gprm(0)
[79 00 00 09 00 0F 00 00] 32 Set gprm(9) &=(and) 15
[00 A1 00 09 00 01 00 24] 33 if ( gprm(9) == 1 ) then { Goto line 36 }
[00 A1 00 09 00 02 00 25] 34 if ( gprm(9) == 2 ) then { Goto line 37 }
[30 06 00 01 03 83 00 00] 35 (JumpSS) Jump to VTSM 3, Root menu (TTN 1)
[30 02 00 00 00 01 00 00] 36 (JumpTT) Jump to Title 1
[30 02 00 00 00 02 00 00] 37 (JumpTT) Jump to Title 2
[30 02 00 00 00 04 00 00] 38 (JumpTT) Jump to Title 4
[30 02 00 00 00 05 00 00] 39 (JumpTT) Jump to Title 5
[30 02 00 00 00 06 00 00] 40 (JumpTT) Jump to Title 6
[30 02 00 00 00 07 00 00] 41 (JumpTT) Jump to Title 7
[00 02 00 00 00 00 00 00] 42 Break
********** post commands:
[20 04 00 00 00 00 00 03] 1 LinkPGCN PGC 3
********** cell commands:
[20 01 00 00 00 00 00 0D] 1 LinkTailPGC

********** menu buttons commands:


Playback time: 00:00:07.00 (at 30 fps)
Playback mode: sequential
PUOs: 0 (0x00000000)
NextPGCN: 0
PrevPGCN: 0
GoUpPGCN: 0
PGC Still Time: 0
Audio stream 1 status: 0x00008000 (stream=0)

But- Prog. Cell Type Layer Res- Still Cell Playback End Entry First Last Last VOB Cell
tons Flags Break tric- Timel Cmd. Time Time VOBU ILVU VOBU VOBU ID ID
ted. sector End Start End

0 1 1 2 yes no 0 0 00:00:05.20 00:00:05.20 190 0 711 871 2 1
0 2 2 8 no no 0 1 00:00:01.10 00:00:07.00 872 0 890 918 2 2



[FBI warning screen]
VMGM , LU 1 (en) , 3 (0:17) 0b. - Chapters: n/a, Programs: 2, Cells: 2

********** pre commands:
[61 00 00 09 00 00 00 00] 1 Set gprm(9) =(mov) gprm(0)
[79 00 00 09 00 0F 00 00] 2 Set gprm(9) &=(and) 15
[00 A1 00 09 00 01 00 05] 3 if ( gprm(9) == 1 ) then { Goto line 5 }
[20 A4 00 09 00 02 00 04] 4 if ( gprm(9) == 2 ) then { LinkPGCN PGC 4 }
[00 02 00 00 00 00 00 00] 5 Break
********** post commands:
[20 04 00 00 00 00 00 05] 1 LinkPGCN PGC 5
********** cell commands:
[20 01 00 00 00 00 00 0D] 1 LinkTailPGC

********** menu buttons commands:


Playback time: 00:00:17.10 (at 30 fps)
Playback mode: sequential
PUOs: 0 (0x00000000)
NextPGCN: 0
PrevPGCN: 0
GoUpPGCN: 0
PGC Still Time: 0
Audio stream 1 status: 0x00008000 (stream=0)

But- Prog. Cell Type Layer Res- Still Cell Playback End Entry First Last Last VOB Cell
tons Flags Break tric- Timel Cmd. Time Time VOBU ILVU VOBU VOBU ID ID
ted. sector End Start End

0 1 1 2 yes no 0 0 00:00:16.00 00:00:16.00 919 0 4643 4678 3 1
0 2 2 8 no no 0 1 00:00:01.10 00:00:17.10 4679 0 4698 4728 3 2



[Disclaimer screen]
VMGM , LU 1 (en) , 5 (0:06) 0b. - Chapters: n/a, Programs: 2, Cells: 2

********** pre commands:
[00 02 00 00 00 00 00 00] 1 Break
********** post commands:
[20 04 00 00 00 00 00 06] 1 LinkPGCN PGC 6
********** cell commands:
[20 01 00 00 00 00 00 0D] 1 LinkTailPGC

********** menu buttons commands:


Playback time: 00:00:06.10 (at 30 fps)
Playback mode: sequential
PUOs: 0 (0x00000000)
NextPGCN: 0
PrevPGCN: 0
GoUpPGCN: 0
PGC Still Time: 0
Audio stream 1 status: 0x00008000 (stream=0)
Subpic stream 1 status: 0x80000000 (streams for 4:3=0, wide=0, letterbox=0, pan&scan=0)

But- Prog. Cell Type Layer Res- Still Cell Playback End Entry First Last Last VOB Cell
tons Flags Break tric- Timel Cmd. Time Time VOBU ILVU VOBU VOBU ID ID
ted. sector End Start End

0 1 1 2 yes no 0 0 00:00:05.00 00:00:05.00 8237 0 8415 8431 5 1
0 2 2 8 no no 0 1 00:00:01.10 00:00:06.10 8432 0 8451 8481 5 2



[Disclaimer screen 2]
VMGM , LU 1 (en) , 6 (0:06) 0b. - Chapters: n/a, Programs: 2, Cells: 2

********** pre commands:
[00 02 00 00 00 00 00 00] 1 Break
********** post commands:
[71 00 00 0E 11 11 00 00] 1 Set gprm(14) =(mov) 4369
[61 00 00 09 00 00 00 00] 2 Set gprm(9) =(mov) gprm(0)
[79 00 00 09 00 0F 00 00] 3 Set gprm(9) &=(and) 15
[00 A1 00 09 00 01 00 07] 4 if ( gprm(9) == 1 ) then { Goto line 7 }
[00 A1 00 09 00 02 00 08] 5 if ( gprm(9) == 2 ) then { Goto line 8 }
[30 06 00 01 03 83 00 00] 6 (JumpSS) Jump to VTSM 3, Root menu (TTN 1)
[30 02 00 00 00 01 00 00] 7 (JumpTT) Jump to Title 1
[30 02 00 00 00 02 00 00] 8 (JumpTT) Jump to Title 2
********** cell commands:
[20 01 00 00 00 00 00 0D] 1 LinkTailPGC

********** menu buttons commands:


Playback time: 00:00:06.10 (at 30 fps)
Playback mode: sequential
PUOs: 0 (0x00000000)
NextPGCN: 0
PrevPGCN: 0
GoUpPGCN: 0
PGC Still Time: 0
Audio stream 1 status: 0x00008000 (stream=0)
Subpic stream 1 status: 0x80000000 (streams for 4:3=0, wide=0, letterbox=0, pan&scan=0)

But- Prog. Cell Type Layer Res- Still Cell Playback End Entry First Last Last VOB Cell
tons Flags Break tric- Timel Cmd. Time Time VOBU ILVU VOBU VOBU ID ID
ted. sector End Start End

0 1 1 2 yes no 0 0 00:00:05.00 00:00:05.00 8482 0 8660 8678 6 1
0 2 2 8 no no 0 1 00:00:01.10 00:00:06.10 8679 0 8699 8732 6 2


Pheww.
Too long - next post

northwind
4th November 2004, 04:00
Now the obvious shortcut is line 23 in VMG-2
Replacing this with a JumpTT to title 1.
Doing that leaves the DVD useless.
It will not even play the the studio splash screen (title 3 in VTS-5) even if this is called way earlier. Go figure.

IFOedit delete playback button - same result.
PGCEdit kill playback on any of the VMGs mentioned above will render the result a dud.
I don't even ask PGCEdit to alter the anything but the PGC:

VMGM , LU 1 (en) , 2 (0:07) 0b. - Chapters: n/a, Programs: 2, Cells: 2

********** pre commands:
[00 A1 00 09 20 03 00 24] 1 if ( gprm(9) == 8195 ) then { Goto line 36 }
[61 00 00 09 00 0E 00 00] 2 Set gprm(9) =(mov) gprm(14)
[79 00 00 09 F0 00 00 00] 3 Set gprm(9) &=(and) 61440
[00 A1 00 09 20 00 00 1B] 4 if ( gprm(9) == 8192 ) then { Goto line 27 }
[00 A1 00 09 50 00 00 24] 5 if ( gprm(9) == 20480 ) then { Goto line 36 }
[00 A1 00 09 30 00 00 1F] 6 if ( gprm(9) == 12288 ) then { Goto line 31 }
[00 A1 00 09 40 00 00 1A] 7 if ( gprm(9) == 16384 ) then { Goto line 26 }
[00 A1 00 09 60 00 00 18] 8 if ( gprm(9) == 24576 ) then { Goto line 24 }
[61 00 00 09 00 81 00 00] 9 Set gprm(9) =(mov) sprm(1:Audio stream number)
[79 00 00 09 00 0F 00 00] 10 Set gprm(9) &=(and) 15
[79 00 00 0A F0 FF 00 00] 11 Set gprm(10) &=(and) 61695
[75 00 00 09 01 00 00 00] 12 Set gprm(9) *=(mul) 256
[63 00 00 0A 00 09 00 00] 13 Set gprm(10) +=(add) gprm(9)
[61 00 00 09 00 82 00 00] 14 Set gprm(9) =(mov) sprm(2:Sub-picture stream number)
[79 00 00 09 00 7F 00 00] 15 Set gprm(9) &=(and) 127
[79 00 00 0A FF 00 00 00] 16 Set gprm(10) &=(and) 65280
[63 00 00 0A 00 09 00 00] 17 Set gprm(10) +=(add) gprm(9)
[00 A1 00 0E 10 04 00 26] 18 if ( gprm(14) == 4100 ) then { Goto line 38 }
[00 A1 00 0E 10 05 00 27] 19 if ( gprm(14) == 4101 ) then { Goto line 39 }
[00 A1 00 0E 10 06 00 28] 20 if ( gprm(14) == 4102 ) then { Goto line 40 }
[00 A1 00 0E 10 07 00 29] 21 if ( gprm(14) == 4103 ) then { Goto line 41 }
[71 00 00 0D 00 01 00 00] 22 Set gprm(13) =(mov) 1
[00 01 00 00 00 00 00 2B] 23 Goto line 43
[79 00 00 0E 0F FF 00 00] 24 Set gprm(14) &=(and) 4095
[73 00 00 0E 20 00 00 00] 25 Set gprm(14) +=(add) 8192
[30 06 00 01 03 83 00 00] 26 (JumpSS) Jump to VTSM 3, Root menu (TTN 1)
[61 00 00 09 00 00 00 00] 27 Set gprm(9) =(mov) gprm(0)
[79 00 00 09 00 0F 00 00] 28 Set gprm(9) &=(and) 15
[00 A1 00 09 00 02 00 25] 29 if ( gprm(9) == 2 ) then { Goto line 37 }
[00 01 00 00 00 00 00 24] 30 Goto line 36
[61 00 00 09 00 00 00 00] 31 Set gprm(9) =(mov) gprm(0)
[79 00 00 09 00 0F 00 00] 32 Set gprm(9) &=(and) 15
[00 A1 00 09 00 01 00 24] 33 if ( gprm(9) == 1 ) then { Goto line 36 }
[00 A1 00 09 00 02 00 25] 34 if ( gprm(9) == 2 ) then { Goto line 37 }
[30 06 00 01 03 83 00 00] 35 (JumpSS) Jump to VTSM 3, Root menu (TTN 1)
[30 02 00 00 00 01 00 00] 36 (JumpTT) Jump to Title 1
[30 02 00 00 00 02 00 00] 37 (JumpTT) Jump to Title 2
[30 02 00 00 00 04 00 00] 38 (JumpTT) Jump to Title 4
[30 02 00 00 00 05 00 00] 39 (JumpTT) Jump to Title 5
[30 02 00 00 00 06 00 00] 40 (JumpTT) Jump to Title 6
[30 02 00 00 00 07 00 00] 41 (JumpTT) Jump to Title 7
[00 01 00 00 00 00 00 2B] 42 Goto line 43
[00 00 00 00 00 00 00 00] 43 NOP
[20 04 00 00 00 00 00 03] 44 LinkPGCN PGC 3
********** post commands:
[20 04 00 00 00 00 00 03] 1 LinkPGCN PGC 3
********** cell commands:
[20 01 00 00 00 00 00 0D] 1 LinkTailPGC

********** menu buttons commands:


Playback time: 00:00:07.00 (at 30 fps)
Playback mode: sequential
PUOs: 0 (0x00000000)
NextPGCN: 0
PrevPGCN: 0
GoUpPGCN: 0
PGC Still Time: 0
Audio stream 1 status: 0x00008000 (stream=0)

But- Prog. Cell Type Layer Res- Still Cell Playback End Entry First Last Last VOB Cell
tons Flags Break tric- Timel Cmd. Time Time VOBU ILVU VOBU VOBU ID ID
ted. sector End Start End

0 1 1 2 yes no 0 0 00:00:05.20 00:00:05.20 190 0 711 871 2 1
0 2 2 8 no no 0 1 00:00:01.10 00:00:07.00 872 0 890 918 2 2


But if you have an explanation - I am listening.

2COOL
4th November 2004, 04:07
@northwind

Do you do any blanking with PgcEdit 0.3.7? Does your DVD work with PgcEdit's Kill PGC Playback without even blanking anything yet?

northwind
4th November 2004, 05:13
Well - I just downloaded the 0.3.7
But yes - I have used PGCEdit to blank out stuff before - and it works well.

I do have a feeling there is more to your question though - can you elaborate?

And again: I really think that it is not related to PGCEdit rather it is a new scheme we haven't seen before. DVDRemake and IFOEdit fails too.
IFOEdit - its delete playback function of course.

2COOL
4th November 2004, 06:15
I think I know what your problem would be. It's these two commands in your VMGM 2.

[Rating screen]
VMGM , LU 1 (en) , 2 (0:07) 0b. - Chapters: n/a, Programs: 2, Cells: 2

********** pre commands:
[61 00 00 09 00 81 00 00] 9 Set gprm(9) =(mov) sprm(1:Audio stream number)
[61 00 00 09 00 82 00 00] 14 Set gprm(9) =(mov) sprm(2:Sub-picture stream number)
When you do PgcEdit's Kill Playback or IfoEdit's Delete playback, they just change the PGC's Command Table. They should not alter your menu's attributes.

VMG Overview:

Video Manager Menu attributes:
Video: MPEG-2 720x480 (NTSC) (NTSC 525/60) (4:3) (not specified perm.display)
Audio 1: Not Specified (Dolby AC-3) 2ch 48Kbps DRC
SubPicture 1: Not Specified (2-bit rle )

When you blank any cells here, the audio and subpicture streams are gone. But, with the audio and subpicture attributes still configured in the IFO, it would create a problem. :(

Now, I can't confirm this right now but if DVD Remake does it's job with blanking, it should REMOVE the audio and subpicture attributes from VMGM MAT table. You should see this afterwards.


VMG Overview:

Video Manager Menu attributes:
Video: MPEG-2 720x480 (NTSC) (NTSC 525/60) (4:3) (not specified perm.display)

Because when you VMGM 2'cell is accessed, it thinks there are still audio and subpicture streams in it.

With these commands, it's looking for non-existant streams to input into gprm(9).

[61 00 00 09 00 81 00 00] 9 Set gprm(9) =(mov) sprm(1:Audio stream number)
[61 00 00 09 00 82 00 00] 14 Set gprm(9) =(mov) sprm(2:Sub-picture stream number)
I brought this matter up recently in this thread (http://forum.doom9.org/showthread.php?s=&postid=451731#post451731).

The updating/removal of the attributes when blanking with PgcEdit has been fixed in 0.3.7.

I knew you were blanking with DVD Remake, but I had to be sure you if you were blanking with PgcEdit in this project. Also, current VobBlanker 1.5.0.7 does not correct the VMGM MAT table yet.

I'd like to confirm my suspicions by asking to do another test. Try blanking out all your VMGM menus with PgcEdit only and test your playback.

northwind
4th November 2004, 07:17
Thanks 2cool. That is an interesting observation.
Unfortunately - no cigar.
I just tried it. After PGCEdits Utilities->blankOutAllPGCsInDomain the DVD is useless.

I am going along the very same lines you are. The DVD spec we know is not the real one. The real one is not available to us.
So there are errors in that spec and those errors can be exploited for things like this.

You mention VMG-2
Well VMG-2 doesn't come into play before the playback breaks.
The sequence is

FP
VMG-1
VTST-5,PGC1 (title 3)
VMG-2
VTSM-3, PGC1 (menu system)
....
VMG-2
VMG-3
VMG-5
VTST-3, PGC1 (main movie, widescreen)

When you alter anything (except IFOEdit manually editing playback time and start/stop sectors of the cells), then title 3 won't even play.
And title-3 is before VMG-2 is ever called the first time.

Spooky isn't it.

I verified the attribute change. It happens as you described.

The test I put together is 180M. I blanked all unused stuff except 1st cell of the main movie to make sure it plays.
The control works flawlessly so the test basis is ok.

I just verified this again - just for the fun of it:
In VMG-2 I changed:
[71 00 00 0D 00 01 00 00] 22 Set gprm(13) =(mov) 1
[00 02 00 00 00 00 00 00] 23 Break
[79 00 00 0E 0F FF 00 00] 24 Set gprm(14) &=(and) 4095
to
[71 00 00 0D 00 01 00 00] 22 Set gprm(13) =(mov) 1
[30 02 00 00 00 01 00 00] 23 (JumpTT) Jump to Title 1
[79 00 00 0E 0F FF 00 00] 24 Set gprm(14) &=(and) 4095

That alone breaks the playback :confused:


Oh - and thanks for your "NTSC land". Neat location. I shamelessly stole it right away.

blutach
4th November 2004, 12:13
Not wanting to interrupt this discussion, only to observe that "PAL Land" IS THE PLACE TO BE!!

LMAO

:D :D :D :cool: :cool: :cool:

jeanl
4th November 2004, 20:02
Originally posted by northwind

I just verified this again - just for the fun of it:
In VMG-2 I changed:
[71 00 00 0D 00 01 00 00] 22 Set gprm(13) =(mov) 1
[00 02 00 00 00 00 00 00] 23 Break
[79 00 00 0E 0F FF 00 00] 24 Set gprm(14) &=(and) 4095
to
[71 00 00 0D 00 01 00 00] 22 Set gprm(13) =(mov) 1
[30 02 00 00 00 01 00 00] 23 (JumpTT) Jump to Title 1
[79 00 00 0E 0F FF 00 00] 24 Set gprm(14) &=(and) 4095

That alone breaks the playback :confused:


northwind, I'm a bit confused... did you expect the change above to work? You're replacing a break (which normally goes to the video, plays it and executes the associated cell commands, then the post commands) by a direct jump to title 1, that's a heck of a change! Normally, after the video you would do LinkPGCN PGC 3, according to the post-command. Instead you jump straight to title 1. This is bound to break because lots of things are happening (registers being setup etc) in PGC3 and in the PGCs you then go into...

Thanks for sending the original and modified commands. I'm also very confused here. In your post showing the modified precommand area (i.e. after kill playback) in VMG-2, I can see that the break has been changed into a goto, which is normal. I would expect that to work normally! But then you say:
Now the obvious shortcut is line 23 in VMG-2
Replacing this with a JumpTT to title 1.
Doing that leaves the DVD useless.
Well, my reaction is the same as above! There's almost NO chance that this would work after you make that change!!!

So, can you clarify? If you just do what 2COOL was asking: blanking out all your VMGM menus with PgcEdit only, but don't change anything else!, does that render the DVD unusable??? If it does, then we have a real problem, because that's supposed to work!
If the DVD plays normally (except you no longer see the video) that's good, and if it breaks after your next modification (the JumpTT command), then that's not surprising, for the reasons I explained above.

So in short, it'd be great if you could confirm that PgcEdit Kill-playback does not break anything by itself, and that it's when you repleace the break by a JumpTT that things break.

Thanks!
Jeanl

northwind
5th November 2004, 02:27
So, can you clarify? If you just do what 2COOL was asking: blanking out all your VMGM menus with PgcEdit only, but don't change anything else!, does that render the DVD unusable??? If it does, then we have a real problem, because that's supposed to work!
Hello JeanL, Sorry for doing multiple things in one post. I can see I should have been more clear on what I was doing.
I started the earlier post with:
Unfortunately - no cigar.
I just tried it. After PGCEdits Utilities->blankOutAllPGCsInDomain the DVD is useless.
I was of course doing exactly what 2cool asked for. The answer to your question is therefore: I tried blanking out all the VMG menues with PGCEdit only (exactly as requested), and it left the DVD useless.

To your question about changing the VMG-2:
Yes of course I expect it to work. It should because all the registers are holding correct values and all that is happening is that title 1 is called after the warning/disclaimer screens. I was just calling it a bit earlier before the screens come into play.

Look - all these changes, both the PGCEdit blanking and the edititing of VMG-2 works using softplayers like PowerDVD and WinDVD.
They just don't work on my settop players (Panasonic and GoVideo).

I appreciate your (all of you) comments. I am not even sure what it is I am looking at here. I just have a feeling that it is an exploit of the DVD spec to make omitting these annoying screens as difficult as possible.

So any suggestion is more than welcome and I will retry/verify/do whatever is called for to figure this one out.

2COOL
5th November 2004, 02:32
@Northwind

Excuse me for my laziness but what is this DVD we are working on here? I assume it's a region 1 DVD. If so, i'll try to look for it.

northwind
5th November 2004, 02:45
It is "Breakin' all the Rules" Region 1 - yes
A screenshot of the Main menu screen is attached to this message for identification. That is if I succeed in attaching the image :cool:

I don't think the attachment went through. Well so be it...

kor-dvd
5th November 2004, 05:49
I downloaded pgcedit from "http://home.tiscali.be/debie.roland/pgcedit/index.html"
when I double-click on this program, It does not operate....
it doesn't show any err message...
What's wrong?

r0lZ
5th November 2004, 05:50
Maybe it's a problem with the new VOB cell not matching the video attributes in the IFOs.

Northwind, could you try to blank out the VMGM with the first option enabled: "Completely remove the menu VOB file". This way, the VOB will never be played anymore.

r0lZ
5th November 2004, 05:58
@kor-dvd

Humm... Difficult to say what's wrong without an error message.
However, it is possible that you got an error when downloading. Try to download it again...

Also, you may try to remove (or rename) the PgcEdit's configuration files, stored in "C:\Documents and Settings\<your login name>\Application Data\PgcEdit".
Note that the directory "Application Data" is hidden. You may have to enable "Show hidden files and folders" in Folder Options, View tab.

kor-dvd
5th November 2004, 06:01
Thank you replay...
I am poor at English, So You misunderstand my intension...
My question is that
I excute "pgcedit.exe" but It's not execute without any error message..
What's wrong with that?

r0lZ
5th November 2004, 06:10
I understand that PgcEdit.exe doesn't start when you double-click on his icon, and you doesn't see any error message. Is it your problem?

If so, try what I have suggested in my previour post: download it again. If it still doesn't start, try to remove the old configuration settings...

Also, you must have premission to write to the folder PgcEdit.exe is installed in, at least the first time you use it.

kor-dvd
5th November 2004, 06:10
I got it....
The reason is that
I am an Korean
So Program path contains Korean character...
then I change Full-path with ASCII So It execute very well...
Thanks r0lZ

r0lZ
5th November 2004, 06:14
Thanks for your answer. It's probably a problem related to Windows in Korean, not to PgcEdit.

jeanl
5th November 2004, 06:37
Northwind:

The sequence is

FP
VMG-1
VTST-5,PGC1 (title 3)
VMG-2
VTSM-3, PGC1 (menu system)
....
VMG-2
VMG-3
VMG-5
VTST-3, PGC1 (main movie, widescreen)


How did you determine the sequence? I looked at your precommand/postcommands and in my humble opinion, it goes to VMG-6 before it goes to VTST-3. That's because you have:

VMGM , LU 1 (en) , 5 (0:06) 0b. - Chapters: n/a, Programs: 2, Cells: 2

********** pre commands:
[00 02 00 00 00 00 00 00] 1 Break
********** post commands:
[20 04 00 00 00 00 00 06] 1 LinkPGCN PGC 6
********** cell commands:
[20 01 00 00 00 00 00 0D] 1 LinkTailPGC


Now if you look at PGC 6, you see:

[71 00 00 0E 11 11 00 00] 1 Set gprm(14) =(mov) 4369
[61 00 00 09 00 00 00 00] 2 Set gprm(9) =(mov) gprm(0)
[79 00 00 09 00 0F 00 00] 3 Set gprm(9) &=(and) 15
[00 A1 00 09 00 01 00 07] 4 if ( gprm(9) == 1 ) then { Goto line 7 }
[00 A1 00 09 00 02 00 08] 5 if ( gprm(9) == 2 ) then { Goto line 8 }
[30 06 00 01 03 83 00 00] 6 (JumpSS) Jump to VTSM 3, Root menu (TTN 1)
[30 02 00 00 00 01 00 00] 7 (JumpTT) Jump to Title 1
[30 02 00 00 00 02 00 00] 8 (JumpTT) Jump to Title 2

There's a couple gprms initialized here, right?
In one of your posts, you said:

I just verified this again - just for the fun of it:
In VMG-2 I changed:
[71 00 00 0D 00 01 00 00] 22 Set gprm(13) =(mov) 1
[00 02 00 00 00 00 00 00] 23 Break
[79 00 00 0E 0F FF 00 00] 24 Set gprm(14) &=(and) 4095
to
[71 00 00 0D 00 01 00 00] 22 Set gprm(13) =(mov) 1
[30 02 00 00 00 01 00 00] 23 (JumpTT) Jump to Title 1
[79 00 00 0E 0F FF 00 00] 24 Set gprm(14) &=(and) 4095

That alone breaks the playback

well, right there you're skipping
VMG-3
VMG-5
VMG-6
and therefore you're skipping the gprm initializations that happen in VMG-6. That's potentially bad. Can you check whether Title 1 uses these gprms (14 and 9) for anything?

What's surprising is that it works in your soft DVD and not on your settop DVD....
Also, could you possibly try something for us:
- Can you try to skip playback without blanking of the PGCs in VMG in pgcedit? (just using the "kill PGC playback" macro? This will not blank anything, and won't change anything in the VOB, it will just modify the pre/post commands.
If we find that this does work (the DVD is playable on your settop players), but a real "blank" (which affects the VOB files) does not, then we know something bad is happening when PgcEdit replaces the VOB by a small blank one...

Thanks for your efforts man, it'd be great if we could get to the bottom of that!!! :)

jeanl

2COOL
5th November 2004, 08:23
@Northwind

Here is the actual navigation sequence from First Play PGC to Main Menu.

First Play PGC

********** pre commands:
[30 06 00 01 00 C0 00 00] 1 (JumpSS) Jump to VMGM PGC 1
________________________________________________________
VMGM , LU 1 (en) , 1 (0:05) 0b. - Chapters: n/a, Programs: 2, Cells: 2

********** pre commands:
[71 00 00 00 10 00 00 00] 1 Set gprm(0) =(mov) 4096
[71 00 00 0A 00 00 00 00] 2 Set gprm(10) =(mov) 0
[71 00 00 0B 00 00 00 00] 3 Set gprm(11) =(mov) 0
[61 00 00 09 00 90 00 00] 4 Set gprm(9) =(mov) sprm(16:Preferred audio language)
[00 A1 00 09 65 6E 00 08] 5 if ( gprm(9) == 25966 ("en") ) then { Goto line 8 }
[00 A1 00 09 66 72 00 0C] 6 if ( gprm(9) == 26226 ("fr") ) then { Goto line 12 }
[00 01 00 00 00 00 00 0F] 7 Goto line 15

[61 00 00 09 00 92 00 00] 15 Set gprm(9) =(mov) sprm(18:Preferred sub-picture language)
[00 A1 00 09 65 6E 00 15] 16 if ( gprm(9) == 25966 ("en") ) then { Goto line 21 }
[00 A1 00 09 66 72 00 18] 17 if ( gprm(9) == 26226 ("fr") ) then { Goto line 24 }
[71 00 00 09 00 00 00 00] 18 Set gprm(9) =(mov) 0
[63 00 00 0A 00 09 00 00] 19 Set gprm(10) +=(add) gprm(9)
[00 01 00 00 00 00 00 1A] 20 Goto line 26

[71 00 00 0E 10 03 00 00] 26 Set gprm(14) =(mov) 4099
[30 02 00 00 00 03 00 00] 27 (JumpTT) Jump to Title 3
________________________________________________________
VTST 5 , 1 TTN 1 (0:15) Title 3 - Chapters: 2, Programs: 2, Cells: 2

********** pre commands:
[71 00 00 0E 20 03 00 00] 1 Set gprm(14) =(mov) 8195
[00 02 00 00 00 00 00 00] 2 Break

Play Columbia Tristar Logo

********** post commands:
[30 08 00 00 01 83 00 00] 1 (CallSS) Call the VTSM Root menu of the current VTS, resume cell 1
________________________________________________________
VTSM 5 , LU 1 (en) , 1 (dummy) RootM - Chapters: n/a, Programs: 0, Cells: 0

********** pre commands:
[71 00 00 07 00 00 00 00] 1 Set gprm(7) =(mov) 0
[71 00 00 08 00 00 00 00] 2 Set gprm(8) =(mov) 0
[71 00 00 0D 00 01 00 00] 3 Set gprm(13) =(mov) 1
[61 00 00 09 00 0C 00 00] 4 Set gprm(9) =(mov) gprm(12)
[71 00 00 0C 00 02 00 00] 5 Set gprm(12) =(mov) 2
[71 A0 0E 0E 50 00 00 00] 6 if ( gprm(14) == 0 ) then { Set gprm(14) =(mov) 20480 }
[30 06 00 02 00 C0 00 00] 7 (JumpSS) Jump to VMGM PGC 2
________________________________________________________
VMGM , LU 1 (en) , 2 (0:07) 0b. - Chapters: n/a, Programs: 2, Cells: 2

********** pre commands:
[00 A1 00 09 20 03 00 24] 1 if ( gprm(9) == 8195 ) then { Goto line 36 }
[61 00 00 09 00 0E 00 00] 2 Set gprm(9) =(mov) gprm(14)
[79 00 00 09 F0 00 00 00] 3 Set gprm(9) &=(and) 61440
[00 A1 00 09 20 00 00 1B] 4 if ( gprm(9) == 8192 ) then { Goto line 27 }

[61 00 00 09 00 00 00 00] 27 Set gprm(9) =(mov) gprm(0)
[79 00 00 09 00 0F 00 00] 28 Set gprm(9) &=(and) 15
[00 A1 00 09 00 02 00 25] 29 if ( gprm(9) == 2 ) then { Goto line 37 }
[00 01 00 00 00 00 00 24] 30 Goto line 36

[30 02 00 00 00 01 00 00] 36 (JumpTT) Jump to Title 1
________________________________________________________
VTST 3 , 1 TTN 1 (1:25:09) Title 1 - Chapters: 28, Programs: 28, Cells: 28

********** pre commands:
[00 A1 00 0E 11 11 00 33] 1 if ( gprm(14) == 4369 ) then { Goto line 51 }
[61 00 00 09 00 0E 00 00] 2 Set gprm(9) =(mov) gprm(14)
[79 00 00 09 F0 00 00 00] 3 Set gprm(9) &=(and) 61440
[00 A1 00 09 20 00 00 41] 4 if ( gprm(9) == 8192 ) then { Goto line 65 }

[30 08 00 00 01 83 00 00] 65 (CallSS) Call the VTSM Root menu of the current VTS, resume cell 1
________________________________________________________
VTSM 3 , LU 1 (en) , 1 (dummy) RootM - Chapters: n/a, Programs: 0, Cells: 0

********** pre commands:
[61 00 00 09 00 0E 00 00] 1 Set gprm(9) =(mov) gprm(14)
[79 00 00 09 F0 00 00 00] 2 Set gprm(9) &=(and) 61440
[00 A1 00 09 20 00 00 25] 3 if ( gprm(9) == 8192 ) then { Goto line 37 }

[61 00 00 02 00 0A 00 00] 37 Set gprm(2) =(mov) gprm(10)
[79 00 00 02 00 7F 00 00] 38 Set gprm(2) &=(and) 127
[41 00 00 00 82 00 00 00] 39 (SetSTN) Set Sub-picture stream = gprm(2)
[61 00 00 03 00 02 00 00] 40 Set gprm(3) =(mov) gprm(2)
[79 00 00 03 00 3F 00 00] 41 Set gprm(3) &=(and) 63
[61 00 00 04 00 0A 00 00] 42 Set gprm(4) =(mov) gprm(10)
[79 00 00 04 0F 00 00 00] 43 Set gprm(4) &=(and) 3840
[76 00 00 04 01 00 00 00] 44 Set gprm(4) /=(div) 256
[79 00 00 04 00 0F 00 00] 45 Set gprm(4) &=(and) 15
[41 00 00 84 00 00 00 00] 46 (SetSTN) Set Audio stream = gprm(4)
[20 04 00 00 00 00 00 04] 47 LinkPGCN PGC 4
________________________________________________________
VTSM 3 , LU 1 (en) , 4 (0:29) 6b. - Chapters: n/a, Programs: 5, Cells: 5

********** pre commands:
[61 00 00 09 00 81 00 00] 1 Set gprm(9) =(mov) sprm(1:Audio stream number)
[79 00 00 09 00 0F 00 00] 2 Set gprm(9) &=(and) 15
[00 E1 00 09 00 01 00 05] 3 if ( gprm(9) <= 1 ) then { Goto line 5 }

[61 00 00 09 00 81 00 00] 5 Set gprm(9) =(mov) sprm(1:Audio stream number)
[79 00 00 09 00 0F 00 00] 6 Set gprm(9) &=(and) 15
[75 00 00 09 01 00 00 00] 7 Set gprm(9) *=(mul) 256
[79 00 00 0B F0 FF 00 00] 8 Set gprm(11) &=(and) 61695
[63 00 00 0B 00 09 00 00] 9 Set gprm(11) +=(add) gprm(9)
[00 A1 00 0E 20 03 00 33] 10 if ( gprm(14) == 8195 ) then { Goto line 51 }

[71 A0 0E 0E 00 00 20 03] 51 if ( gprm(14) == 8195 ) then { Set gprm(14) =(mov) 0 }
[71 A0 0E 0E 00 00 50 00] 52 if ( gprm(14) == 20480 ) then { Set gprm(14) =(mov) 0 }
[71 00 00 08 00 00 00 00] 53 Set gprm(8) =(mov) 0
[71 00 00 0D 00 01 00 00] 54 Set gprm(13) =(mov) 1
[61 00 00 09 00 0A 00 00] 55 Set gprm(9) =(mov) gprm(10)
[79 00 00 09 F0 00 00 00] 56 Set gprm(9) &=(and) 61440
[20 A6 00 09 10 00 04 02] 57 if ( gprm(9) == 4096 ) then { LinkPGN Program 2, button 1 (1024) }
[7A 00 00 0A 10 00 00 00] 58 Set gprm(10) |=(or) 4096
[20 06 00 00 00 00 04 01] 59 LinkPGN Program 1, button 1 (1024)

Main Menu

northwind
5th November 2004, 08:29
Jeanl,

Ha - one day - one day is all it takes to forget what you did. So I just spend an hour before it dawned on me.
You missed the point, but what is worse - so did I and I came up with that stupid example.

Anyway.... let me take it in order:
The sequence: Yes you are right. It is a typo. In my notes it is there. VMG-6 is called before VTST-3,1

The example: That is where I in VMG-2 line 23 replaced a break with a jump to title 1.
It is irrelevant. I could have put a NOP in there.
Title 3 (Studio splash screen; VTST-5,1) is called and should have played regardless because it is called way before VMG-2.
But it never plays. The set-tops stops never showing anything.
That is what I should have pointed out.

Otherwise you are right. I would need to set gprm(14) to 4369 to get title 1 playing. I was pondering that for an hour before it dawned on me that I should still have seen title-3. Duh.
Sorry for that one.



2Cool: Just saw your post - this took some time to go through.
Yes I agree - that is my notes as well.
The jump to title 1 in VMG-2, line 23 is still valid, because it breaks the playing of title-3

jeanl
5th November 2004, 08:34
northwind, 2COOL

Now, I'm really confused. Where are we standing now? I have a hard time deciding if something's wrong with the way PgcEdit kills playback or if northwind did something fishy in addition?
2COOL, you seem to have the DVD, can you replicate the problem?
The reason I'm curious is that it's not the first time we've heard of people having problems with DVDs blanked with PgcEdit or Vobblanker... It'd be cool if we could get to the bottom of that...


:confused:
Jeanl

northwind
5th November 2004, 08:38
Well - I didn't do anything fishy intentionally or knowingly.
I could have two stupid set top players.

Panasonic F65 (5 changer carusel type)
GoVideo (dumm little vhs/dvd combo)

Sajan
5th November 2004, 18:19
Here are some qwestions;)

1. How to add new valid PGC (with new associated blank video)?
2. How to add cell in existing PGC (for further pointing on existing VID/CID or for creating new associated blank video)?
3. How to remove PGC?
4. How to add new title in VMGM?

5. Why I can't jump next PGC from this, only autojump at the playend of it:
----------------------------------------
VMGM , LU 1 (ru) , 3 (0:07) 0b. - Chapters: n/a, Programs: 1, Cells: 1

********** pre commands:
********** post commands:
[20 04 00 00 00 00 00 04] 1 LinkPGCN PGC 4
********** cell commands:
********** menu buttons commands:

Playback time: 00:00:07.25 (at 30 fps)
Playback mode: sequential
PUOs: 16007172 (0x00F44004)
- Title play (0x00000004)
- Menu call - Angle (0x00004000)
- Still off (0x00040000)
- Audio stream change (0x00100000)
- Subpicture stream change (0x00200000)
- Angle change (0x00400000)
- Karaoke audio mix change (0x00800000)
NextPGCN: 0
PrevPGCN: 0
GoUpPGCN: 0
PGC Still Time: 0

But- Prog. Cell Type Layer Res-....Still..Cell
tons..............Flags Break tricted Timel Cmd.
0......1.....1.....2......yes...no.......0.....0
------------------------------------

r0lZ
5th November 2004, 18:54
Originally posted by Sajan
Here are some qwestions;)

1. How to add new valid PGC (with new associated blank video)?
2. How to add cell in existing PGC (for further pointing on existing VID/CID or for creating new associated blank video)?
3. How to remove PGC?
You cannot do that in PgcEdit for now. Maybe later...


4. How to add new title in VMGM? You cannot have a Title in the VMGM domain.
For now, it is only possible to add a dummy PGC to an existing VMGM.
But you can inport a whole VMGM with Import Menu. This will replace the current VMGM, though.


5. Why I can't jump next PGC from this, only autojump at the playend of it:
...
NextPGCN: 0
... I don't understand this request.
To jump to another PGC with the Next Chapter button, you need to set the NextPGCN to the PGC number you want to jump to. Is it what you want?

Sajan
5th November 2004, 19:17
You cannot do that in PgcEdit for now. Maybe later...
By the way, where I can do it, which soft can be helpful?

You cannot have a Title in the VMGM domain.
For now, it is only possible to add a dummy PGC to an existing VMGM.
But you can inport a whole VMGM with Import Menu. This will replace the current VMGM, though.
Sorry, maybe I've said something wrong (sorry for my bad English). I talk about adding Title in common Title Play Map Table and pointing to existing title in VTS.

To jump to another PGC with the Next Chapter button, you need to set the NextPGCN to the PGC number you want to jump to.
I've set it to 4 (next PGC with video), but nothing is changed.
Next button dosn't do anything, just need to wait of playing PGC.

r0lZ
5th November 2004, 20:47
Originally posted by Sajan
I talk about adding Title in common Title Play Map Table and pointing to existing title in VTS. That's not possible for now.
Maybe I will add a Title/Chapter/Program editor later, but don't expect that soon. Sorry.


Next button dosn't do anything, just need to wait of playing PGC. I really don't know. Maybe someone here could explain...

2COOL
5th November 2004, 20:52
@Northwind

Originally posted by northwind
If I use PGCEdits kill playback function or use DVDRemake's blanking then the player will start loading and then execute an exit. I still can't recreate your situation. :( I only used PgcEdit's Kill Playback and I still got my studio splash (Title 3) to display, software or standaone player. It should've worked and it did for me.

I also have a new navigation sequence for your Breakin' All The Rules (R1) DVD. It seems I didn't take into account on your standalone's player's Audio and Subpictures. SPRMs 16 and 18 can only be set by your player and not in the IFOs. I'm highly assuming that both are set to English and also the same for your computer since you reside in NTSC Land. Please check to see your standalone is set to English.

I'm going to post the commands only to the Studio Splash display since you had problems displaying it.

I assumed English for your audio and subpicture language here.

First Play PGC

********** pre commands:
[30 06 00 01 00 C0 00 00] 1 (JumpSS) Jump to VMGM PGC 1
________________________________________________________
VMGM , LU 1 (en) , 1 (0:00) 0b. - Chapters: n/a, Programs: 2, Cells: 2

********** pre commands:
[71 00 00 00 10 00 00 00] 1 Set gprm(0) =(mov) 4096
[71 00 00 0A 00 00 00 00] 2 Set gprm(10) =(mov) 0
[71 00 00 0B 00 00 00 00] 3 Set gprm(11) =(mov) 0
[61 00 00 09 00 90 00 00] 4 Set gprm(9) =(mov) sprm(16:Preferred audio language)
[00 A1 00 09 65 6E 00 08] 5 if ( gprm(9) == 25966 ("en") ) then { Goto line 8 }

[71 00 00 09 00 00 00 00] 8 Set gprm(9) =(mov) 0
[75 00 00 09 01 00 00 00] 9 Set gprm(9) *=(mul) 256
[63 00 00 0A 00 09 00 00] 10 Set gprm(10) +=(add) gprm(9)
[00 01 00 00 00 00 00 0F] 11 Goto line 15

[61 00 00 09 00 92 00 00] 15 Set gprm(9) =(mov) sprm(18:Preferred sub-picture language)
[00 A1 00 09 65 6E 00 15] 16 if ( gprm(9) == 25966 ("en") ) then { Goto line 21 }

[71 00 00 09 00 00 00 00] 21 Set gprm(9) =(mov) 0
[63 00 00 0A 00 09 00 00] 22 Set gprm(10) +=(add) gprm(9)
[00 01 00 00 00 00 00 1A] 23 Goto line 26

[71 00 00 0E 10 03 00 00] 26 Set gprm(14) =(mov) 4099
[30 02 00 00 00 03 00 00] 27 (JumpTT) Jump to Title 3
________________________________________________________
VTST 5 , 1 TTN 1 (0:15) Title 3 - Chapters: 2, Programs: 2, Cells: 2

********** pre commands:
[71 00 00 0E 20 03 00 00] 1 Set gprm(14) =(mov) 8195
[00 02 00 00 00 00 00 00] 2 Break

Play Columbia Tristar LogoPersonally, the people who authored this DVD should have the back of their hands slapped hard!:angry: :angry: What were you guys thinking?

In VMGM PGC 1, there are only 3 GPRMs set: 9,10,14.

[EDIT]Actually, 4 GPRMs: 0,9,10,14.

Upon DVD insert, all gprms are set to 0 (zero). So when it comes time to jump to Title 3 in pre command 27, grpm(9) is still with a value of 0. Basically, all I saw during this PGC was gprm 9 and 10 being input values here and there and resetted to 0. What's does this do for us?! These registers (variables) should be put to good use down the road in compare commands like if gprm(9) = ###, then play this Title. Anyways, in VTST 5 PGC 1, there is no such command. you only have a gprm(14) setting and a break. Speaking of grpm(14), the only time grpm(14) was set in VMGM PGC 1 was at the end before jumping to Title 3. But what does the first pre command in Title 3 do? It immediately sets grpm(14) to another value! What's the reasoning on that! They might as well have taken out the gprm(14) setting in VMGM PGC 1 completely.

STOP THE INSANITY!!! :angry: :angry:

And there's more. In the full VMGM PGC 1 Command Table...

VMGM , LU 1 (en) , 1 (0:05) 0b. - Chapters: n/a, Programs: 2, Cells: 2

********** pre commands:
[71 00 00 00 10 00 00 00] 1 Set gprm(0) =(mov) 4096
[71 00 00 0A 00 00 00 00] 2 Set gprm(10) =(mov) 0
[71 00 00 0B 00 00 00 00] 3 Set gprm(11) =(mov) 0
[61 00 00 09 00 90 00 00] 4 Set gprm(9) =(mov) sprm(16:Preferred audio language)
[00 A1 00 09 65 6E 00 08] 5 if ( gprm(9) == 25966 ("en") ) then { Goto line 8 }
[00 A1 00 09 66 72 00 0C] 6 if ( gprm(9) == 26226 ("fr") ) then { Goto line 12 }
[00 01 00 00 00 00 00 0F] 7 Goto line 15
[71 00 00 09 00 00 00 00] 8 Set gprm(9) =(mov) 0
[75 00 00 09 01 00 00 00] 9 Set gprm(9) *=(mul) 256
[63 00 00 0A 00 09 00 00] 10 Set gprm(10) +=(add) gprm(9)
[00 01 00 00 00 00 00 0F] 11 Goto line 15
[71 00 00 09 00 01 00 00] 12 Set gprm(9) =(mov) 1
[75 00 00 09 01 00 00 00] 13 Set gprm(9) *=(mul) 256
[63 00 00 0A 00 09 00 00] 14 Set gprm(10) +=(add) gprm(9)
[61 00 00 09 00 92 00 00] 15 Set gprm(9) =(mov) sprm(18:Preferred sub-picture language)
[00 A1 00 09 65 6E 00 15] 16 if ( gprm(9) == 25966 ("en") ) then { Goto line 21 }
[00 A1 00 09 66 72 00 18] 17 if ( gprm(9) == 26226 ("fr") ) then { Goto line 24 }
[71 00 00 09 00 00 00 00] 18 Set gprm(9) =(mov) 0
[63 00 00 0A 00 09 00 00] 19 Set gprm(10) +=(add) gprm(9)
[00 01 00 00 00 00 00 1A] 20 Goto line 26
[71 00 00 09 00 00 00 00] 21 Set gprm(9) =(mov) 0
[63 00 00 0A 00 09 00 00] 22 Set gprm(10) +=(add) gprm(9)
[00 01 00 00 00 00 00 1A] 23 Goto line 26
[71 00 00 09 00 01 00 00] 24 Set gprm(9) =(mov) 1
[63 00 00 0A 00 09 00 00] 25 Set gprm(10) +=(add) gprm(9)
[71 00 00 0E 10 03 00 00] 26 Set gprm(14) =(mov) 4099
[30 02 00 00 00 03 00 00] 27 (JumpTT) Jump to Title 3
********** post commands:
[71 00 00 0E 10 03 00 00] 1 Set gprm(14) =(mov) 4099
[30 02 00 00 00 03 00 00] 2 (JumpTT) Jump to Title 3
********** cell commands:
[20 01 00 00 00 00 00 0D] 1 LinkTailPGC Why are there post and cell commands? I could not find anywhere where the video content here of 37 seconds of blank would actually play. There is no way in the pre commands that we can avoid our Jump to Title 3. This jump definitely bypasses the video play and post/cell commands.

With the above said, the first video display you should see is the studio splash. I got mine to display, burnt on DVDR or not, and I'm beginning to believe it really is your players. The troubleshooting system I use is that if it works on your software player and not your standalone, you'll have to look at your burning method, media, and standalone properties/settings.

To end this post, I really think VMGM PGC 1 should have just two pre command. I see no difference between this and the original setup. IMHO, this DVD was poorly authored by amatuers and definitely "Breakin' All the Rules"!! :rolleyes: :rolleyes:

VMGM , LU 1 (en) , 1 (0:05) 0b. - Chapters: n/a, Programs: 2, Cells: 2

********** pre commands:
[71 00 00 00 10 00 00 00] 1 Set gprm(0) =(mov) 4096
[30 02 00 00 00 03 00 00] 2 (JumpTT) Jump to Title 3

Even better! Just put the same commands in your First Play PGC. Who cares about VMGM PGC 1? It's useless!
VMG , First-Play PGC - Chapters: n/a, Programs: n/a, Cells: n/a

********** pre commands:
[71 00 00 00 10 00 00 00] 1 Set gprm(0) =(mov) 4096
[30 02 00 00 00 03 00 00] 2 (JumpTT) Jump to Title 3

Who knows? maybe this will work for you! Now, how's that for deeply analyzing this DVD! ;)

P.S. Why I'm still on irritating mode with this DVD, I'd like to say that I have a pet peeve on PGC Command Tables that have a "Break" command as the last pre command.

[EDIT]There is only one instance of gprm(7) being used in a command and it's in

VTSM 5 , LU 1 (en) , 1 (dummy) RootM - Chapters: n/a, Programs: 0, Cells: 0

********** pre commands:
[71 00 00 07 00 00 00 00] 1 Set gprm(7) =(mov) 0 gprm(7) was already 0 upon DVD insert.

2COOL
5th November 2004, 22:50
@Northwind

How about we do this. Highlight the hex values below with your mouse and CTRL+C (copy)

{71 00 00 00 10 00 00 00} {71 00 00 0E 20 03 00 00} {30 06 00 01 05 83 00 00}

Go your First Play PGC's first pre command and select that. Then CTRL+V (paste). You should have this now.

Before:

VMG , First-Play PGC - Chapters: n/a, Programs: n/a, Cells: n/a

********** pre commands:
[30 06 00 01 00 C0 00 00] 1 (JumpSS) Jump to VMGM PGC 1

After:
********** pre commands:
[71 00 00 00 10 00 00 00] 1 Set gprm(0) =(mov) 4096
[71 00 00 0E 20 03 00 00] 2 Set gprm(14) =(mov) 8195
[30 06 00 01 05 83 00 00] 3 (JumpSS) Jump to VTSM 5, Root menu (TTN 1)

Save

By doing this, you start your navigation after Title 3 (studio logo) therefore bypassing it. You pretty much cut out VMGM PGC 1 and VTST 5 PGC 1 from the original sequence. ;)

2COOL
5th November 2004, 23:04
@r0lZ

Small request.

Anyway of having an option to exclude the hex values when doing an info dump? Sure would cut down on thread space if we didn't need it.

r0lZ
5th November 2004, 23:09
Originally posted by 2COOL
@r0lZ

Small request.

Anyway of having an option to exclude the hex values when doing an info dump? Sure would cut down on thread space if we didn't need it. Good idea. However, it is sometimes useful to copy/paste from the dump's hex values to PgcEdit. Anyway, I will add the option...

2COOL
5th November 2004, 23:21
Originally posted by r0lZ
However, it is sometimes useful to copy/paste from the dump's hex values to PgcEdit.doesn't work with multiple consecutive commands. :(
Anyway, I will add the option... Thanks!

blutach
5th November 2004, 23:28
Originally posted by Sajan
I've set it to 4 (next PGC with video), but nothing is changed.
Next button dosn't do anything, just need to wait of playing PGC. Try removing all your PUOps. That's what is stopping you from using your "next" button.

jeanl
5th November 2004, 23:30
Originally posted by northwind
Well - I didn't do anything fishy intentionally or knowingly.
I could have two stupid set top players.
Panasonic F65 (5 changer carusel type)
GoVideo (dumm little vhs/dvd combo)
@northwind,
Is there a way you could try the modified DVD on other players? I find it hard to believe that you have 2 players that are misbehaving. (althouth it's quite possible).

@2COOL:

The troubleshooting system I use is that if it works on your software player and not your standalone, you'll have to look at your burning method, media, and standalone properties/settings.
well what's puzzling is that I think northwind says that regular non-blanked backups play just fine on his DVD player.
This is quite confusing, and the fact that the DVD was authored in a stranger manner (but still DVD compliant judging from what you describe) can't really be used to justify why PgcEdit or DVDRemake yield unplayable DVDs, right?

Jeanl

blutach
5th November 2004, 23:33
Originally posted by 2COOL
doesn't work with multiple consecutive commands. :(
[b]Thanks! I've found that if you select mutliple commands then right click and use "copy as text" you can copy them. Then paste them here as "code".

2COOL
5th November 2004, 23:33
@blutach

According to Sajan's previous post, it's already cleared.
Originally posted by Sajan
5. Why I can't jump next PGC from this, only autojump at the playend of it:
----------------------------------------

VMGM , LU 1 (ru) , 3 (0:07) 0b. - Chapters: n/a, Programs: 1, Cells: 1

********** pre commands:
********** post commands:
[20 04 00 00 00 00 00 04] 1 LinkPGCN PGC 4
********** cell commands:
********** menu buttons commands:

Playback time: 00:00:07.25 (at 30 fps)
Playback mode: sequential
PUOs: 16007172 (0x00F44004)
- Title play (0x00000004)
- Menu call - Angle (0x00004000)
- Still off (0x00040000)
- Audio stream change (0x00100000)
- Subpicture stream change (0x00200000)
- Angle change (0x00400000)
- Karaoke audio mix change (0x00800000)
NextPGCN: 0
PrevPGCN: 0
GoUpPGCN: 0
PGC Still Time: 0

2COOL
5th November 2004, 23:40
@jeanl

Originally posted by 2COOL
With the above said, the first video display you should see is the studio splash. I got mine to display, burnt on DVDR or not, and I'm beginning to believe it really is your players. The troubleshooting system I use is that if it works on your software player and not your standalone, you'll have to look at your burning method, media, and standalone properties/settings.I agree with you on Northwind testing his disc on other players. Nothing like going down to Best Buy, CompUSA, Circuit City, etc. and doing a little browsing and testing. ;)

blutach
5th November 2004, 23:41
Excuse my ignorance, but wouldn't the Title Play PUO mess him up?

Anyways, back to episode guide testing ;)

2COOL
5th November 2004, 23:46
Originally posted by blutach
I've found that if you select mutliple commands then right click and use "copy as text" you can copy them. Then paste them here as "code". I still can't get it to work even off the info dump window or on a thread post. There's no keyboard commands either for "copy as text". You must be referring to copying in the Command table.

blutach
6th November 2004, 00:00
I was and I can see that you can't do it. However, there's a way.

Copy as text
Open MS word and paste
Go to where you want and hold down Alt key
This will select text "by columns"

See below:

http://img130.exs.cx/img130/1535/untitled4.gif

2COOL
6th November 2004, 00:00
Originally posted by blutach
Excuse my ignorance, but wouldn't the Title Play PUO mess him up? No. Just did a quick test to confirm. Checking NextPG Search PUO would be the one to stop the remote's Next Chapter button from working.

2COOL
6th November 2004, 00:43
@Sajan

Originally posted by Sajan
5. Why I can't jump next PGC from this, only autojump at the playend of it:
----------------------------------------
VMGM , LU 1 (ru) , 3 (0:07) 0b. - Chapters: n/a, Programs: 1, Cells: 1

********** pre commands:
********** post commands:
[20 04 00 00 00 00 00 04] 1 LinkPGCN PGC 4
********** cell commands:
********** menu buttons commands:If you don't want your PGC's video content to play, just do a Kill Playback on this PGC.


After:

VMGM , LU 1 (ru) , 3 (0:07) 0b. - Chapters: n/a, Programs: 1, Cells: 1

********** pre commands:
[00 00 00 00 00 00 00 00] 1 NOP
[20 04 00 00 00 00 00 04] 2 LinkPGCN PGC 4
********** post commands:
[20 04 00 00 00 00 00 04] 1 LinkPGCN PGC 4

r0lZ
6th November 2004, 02:03
Originally posted by 2COOL
doesn't work with multiple consecutive commands. :( I have just changed the code: In v0.3.8, you will be able to paste commands in full text format (copied with 'Copy as Text') directly in the main listbox. :)

Note that the *** pre/post/cell labels are not pasted: you may therefore paste the pre, post and cell commands in one operation, but all commands will be pasted in the same section.

@2COOL
Do you still want the option to remove the [hex codes] from the Info dumps? Seems useful to keep them now, no?

jeanl
6th November 2004, 02:10
Originally posted by r0lZ
I have just changed the code: In v0.3.8, you will be able to paste commands in full text format (copied with 'Copy as Text') directly in the main listbox. :)

Note that the *** pre/post/cell labels are not pasted: you may therefore paste the pre, post and cell commands in one operation, but all commands will be pasted in the same section.

Do you still want the option to remove the [hex codes] from the Info dumps?
sweeeeeet! :)
It'll make guides easier to follow...

Jeanl

2COOL
6th November 2004, 02:12
Originally posted by r0lZ
@2COOL
Do you still want the option to remove the [hex codes] from the Info dumps? Seems useful to keep them now, no? If it's no problem for you to implement it then yes. :)

Sajan
6th November 2004, 08:18
@blutach
Try removing all your PUOps. That's what is stopping you from using your "next" button.
Usually, when there is PUO on NextPG, Next button in soft player is disabled at all. In this case Next button is enabled, but doesn't do anything, just continue to play.

@2COOL
If you don't want your PGC's video content to play, just do a Kill Playback on this PGC.
Thanks, but I really don't want to kill, just to enable skipping by the wish.

Sajan
6th November 2004, 08:40
I've just moved whole DVD through PGCedit's "enable all operations". It's hopeless. Seems, it's something else.

By the way, I've noticed, that next PGC (with fully functional NextPG) have 2 cells with attributes 2 and 8. But this PGC (shown above) have only one cell with attributes 2. Can it be something here?

blutach
6th November 2004, 14:42
@sajan

Admit to being stumped here.... My only thought - I do trust there is actually a PGC4 in that menu?

Dimad
6th November 2004, 15:30
Originally posted by Sajan
I've just moved whole DVD through PGCedit's "enable all operations". It's hopeless. Seems, it's something else.


There are PUOPs in vobs as well. Don't think PGCEdit changes these. This may be the reason.

You may try IfoEdit to strip them all in vobs, or DvdReMake Pro to set the ones you need (or just strip them all)

Sajan
6th November 2004, 20:36
Originally posted by blutach
Admit to being stumped here.... My only thought - I do trust there is actually a PGC4 in that menu?
Ok. There is more info.
So, NextPG doesn't work at PGC3->PGC4 transition, but works at PGC4->PGC6 transition.

VMGM , LU 1 (ru) , 3 (0:07) 0b. - Chapters: n/a, Programs: 1, Cells: 1

********** pre commands:
[71 00 00 01 00 00 00 00] 1 Set gprm(1) =(mov) 0
[71 00 00 02 00 00 00 00] 2 Set gprm(2) =(mov) 0
[71 00 00 03 00 02 00 00] 3 Set gprm(3) =(mov) 2
[71 00 00 04 00 00 00 00] 4 Set gprm(4) =(mov) 0
[71 00 00 05 00 00 00 00] 5 Set gprm(5) =(mov) 0
[71 00 00 06 00 00 00 00] 6 Set gprm(6) =(mov) 0
********** post commands:
[20 04 00 00 00 00 00 04] 1 LinkPGCN PGC 4
********** cell commands:

********** menu buttons commands:


Playback time: 00:00:07.25 (at 30 fps)
Playback mode: sequential
PUOs: 16007172 (0x00F44004)
- Title play (0x00000004)
- Menu call - Angle (0x00004000)
- Still off (0x00040000)
- Audio stream change (0x00100000)
- Subpicture stream change (0x00200000)
- Angle change (0x00400000)
- Karaoke audio mix change (0x00800000)
NextPGCN: 4
PrevPGCN: 0
GoUpPGCN: 0
PGC Still Time: 0

But- Prog. Cell Type Layer Res- Still Cell Playback End Entry First Last Last VOB Cell
tons Flags Break tric- Timel Cmd. Time Time VOBU ILVU VOBU VOBU ID ID
ted. sector End Start End

0 1 1 2 yes no 0 0 00:00:07.25 00:00:07.25 0 0 60 60 1 1


VMGM , LU 1 (ru) , 4 (0:10) 0b. - Chapters: n/a, Programs: 2, Cells: 2

********** pre commands:
********** post commands:
[20 04 00 00 00 00 00 06] 1 LinkPGCN PGC 6
********** cell commands:

********** menu buttons commands:


Playback time: 00:00:10.11 (at 30 fps)
Playback mode: sequential
PUOs: 16007172 (0x00F44004)
- Title play (0x00000004)
- Menu call - Angle (0x00004000)
- Still off (0x00040000)
- Audio stream change (0x00100000)
- Subpicture stream change (0x00200000)
- Angle change (0x00400000)
- Karaoke audio mix change (0x00800000)
NextPGCN: 6
PrevPGCN: 3
GoUpPGCN: 0
PGC Still Time: 0
Audio stream 1 status: 0x00008000 (stream=0)

But- Prog. Cell Type Layer Res- Still Cell Playback End Entry First Last Last VOB Cell
tons Flags Break tric- Timel Cmd. Time Time VOBU ILVU VOBU VOBU ID ID
ted. sector End Start End

0 1 1 2 yes no 0 0 00:00:10.00 00:00:10.00 61 0 3744 3762 3 1
0 2 2 8 no no 0 0 00:00:00.11 00:00:10.11 3763 0 3763 3792 3 2

Sorry for such unreadable info about cells, just copy-pasted from PGCedit;)

Sajan
6th November 2004, 20:56
Originally posted by Dimad
There are PUOPs in vobs as well. Don't think PGCEdit changes these. This may be the reason.

You may try IfoEdit to strip them all in vobs, or DvdReMake Pro to set the ones you need (or just strip them all)
Humm... When I tried to export Test DVD with DvdReMake Pro 2.2.0, I found that all PGC commands were killed...

Anyway, I don't think it's because of PUOPs at all.
May be something else... But I'm working with DVD just a little time, I don't know much about it...

2COOL
7th November 2004, 00:10
@Sajan

Though I'm not a technical expert on this matter, I have disturbing feeling about your VOBUs (Video OBject Unit) being equal with a playback time of 00:00:07.25 /30 fps. Maybe mpucoder or someone else could comment whether or not it's ok. Don't know if VOBUs and and your NextPG button have anything to do with each other.

This is regards to your VMGM , LU 1 (ru) , 3

But- Prog. Cell Type Layer Res- Still Cell Playback End Entry First Last Last VOB Cell
tons Flags Break tric- Timel Cmd. Time Time VOBU ILVU VOBU VOBU ID ID
ted. sector End Start End

0 1 1 2 yes no 0 0 00:00:07.25 00:00:07.25 0 0 60 60 1 1
Just putting in another 2¢.

2COOL
7th November 2004, 04:16
@r0lZ

I just had my "low disk space" alert going off on my computer. I did a size search for files that I can delete and found this.

http://img104.exs.cx/img104/6784/Image_001.png

Let me quote a line from "The Princess Bride"..."Hello, my name is Inigo Montoya. You killed my father. Prepare to die!". No...not that one :p, ummmm...this one

INCONCEIVABLE!!! :eek: :eek:

Anyways, this file was found in my C:\Documents and Settings\username\Local Settings\Temp

I feel it's still growing each day.:( What's feeding it and also what's the consequences if I delete it?

[EDIT]
Originally posted by r0lZ
You will need to delete the files manually.
- Delete the PgcEdit's install directory (with PgcEdit.exe and a bin subdirectory).
- Delete the shortcuts pointing to PgcEdit if you created some (in the startup menu, the QuickLaunch menu, the desktop...)
- Delete the configuration directory C:\Documents and settings\<YOUR_USER_NAME>\Application Data\PgcEdit
That's all. In regards to your comments on manually uninstalling, does it target this file too in auto-uninstalling?

Sajan
7th November 2004, 07:03
@2COOL
1. Where I can get valid VOBU start, end (according to this video)?

2. Can you examine PGC4 info? It seems, there is wrong too...

3. Can I use this tables?

[00000000] End byte of VMGM_VOBU_ADMAP 235 [000000eb]
[00000004] VOBU_1: start sector 0 [00000000]
[00000008] VOBU_2: start sector 46 [0000002e]
[0000000c] VOBU_3: start sector 47 [0000002f]
[00000010] VOBU_4: start sector 48 [00000030]
[00000014] VOBU_5: start sector 49 [00000031]
[00000018] VOBU_6: start sector 50 [00000032]
[0000001c] VOBU_7: start sector 51 [00000033]
[00000020] VOBU_8: start sector 52 [00000034]
[00000024] VOBU_9: start sector 53 [00000035]
[00000028] VOBU_10: start sector 54 [00000036]
[0000002c] VOBU_11: start sector 55 [00000037]
[00000030] VOBU_12: start sector 56 [00000038]
[00000034] VOBU_13: start sector 57 [00000039]
[00000038] VOBU_14: start sector 58 [0000003a]
[0000003c] VOBU_15: start sector 59 [0000003b]
[00000040] VOBU_16: start sector 60 [0000003c]
[00000044] VOBU_17: start sector 61 [0000003d]
[00000048] VOBU_18: start sector 74 [0000004a]
[0000004c] VOBU_19: start sector 192 [000000c0]
[00000050] VOBU_20: start sector 341 [00000155]
[00000054] VOBU_21: start sector 532 [00000214]
[00000058] VOBU_22: start sector 846 [0000034e]
[0000005c] VOBU_23: start sector 1035 [0000040b]
[00000060] VOBU_24: start sector 1224 [000004c8]
[00000064] VOBU_25: start sector 1406 [0000057e]
[00000068] VOBU_26: start sector 1584 [00000630]
[0000006c] VOBU_27: start sector 1763 [000006e3]
[00000070] VOBU_28: start sector 1942 [00000796]
[00000074] VOBU_29: start sector 2121 [00000849]
[00000078] VOBU_30: start sector 2299 [000008fb]
[0000007c] VOBU_31: start sector 2480 [000009b0]
[00000080] VOBU_32: start sector 2659 [00000a63]
[00000084] VOBU_33: start sector 2840 [00000b18]
[00000088] VOBU_34: start sector 3019 [00000bcb]
[0000008c] VOBU_35: start sector 3201 [00000c81]
[00000090] VOBU_36: start sector 3382 [00000d36]
[00000094] VOBU_37: start sector 3561 [00000de9]
[00000098] VOBU_38: start sector 3700 [00000e74]
[0000009c] VOBU_39: start sector 3744 [00000ea0]
[000000a0] VOBU_40: start sector 3763 [00000eb3]
[000000a4] VOBU_41: start sector 3793 [00000ed1]
[000000a8] VOBU_42: start sector 3806 [00000ede]
[000000ac] VOBU_43: start sector 3837 [00000efd]
[000000b0] VOBU_44: start sector 3982 [00000f8e]
[000000b4] VOBU_45: start sector 4143 [0000102f]
[000000b8] VOBU_46: start sector 4280 [000010b8]
[000000bc] VOBU_47: start sector 4420 [00001144]
[000000c0] VOBU_48: start sector 4555 [000011cb]
[000000c4] VOBU_49: start sector 4694 [00001256]
[000000c8] VOBU_50: start sector 4843 [000012eb]
[000000cc] VOBU_51: start sector 5017 [00001399]
[000000d0] VOBU_52: start sector 5210 [0000145a]
[000000d4] VOBU_53: start sector 5406 [0000151e]
[000000d8] VOBU_54: start sector 5618 [000015f2]
[000000dc] VOBU_55: start sector 5813 [000016b5]
[000000e0] VOBU_56: start sector 6024 [00001788]
[000000e4] VOBU_57: start sector 6211 [00001843]
[000000e8] VOBU_58: start sector 6250 [0000186a]


[00000000] Number of VOBs (VOB ID's) in VMGM_VOBS 4 [0004]
[00000004] End byte of VMGM_C_ADT table 79 [0000004f]
[00000008] 1. Cell: VOB ID 2 [0002]
[0000000a] 1. Cell: Cell ID 1 [01]
[0000000c] 1. Cell: Start sector 0 [00000000]
[00000010] 1. Cell: End sector 0 [00000000]
[00000014] 2. Cell: VOB ID 1 [0001]
[00000016] 2. Cell: Cell ID 1 [01]
[00000018] 2. Cell: Start sector 0 [00000000]
[0000001c] 2. Cell: End sector 60 [0000003c]
[00000020] 3. Cell: VOB ID 3 [0003]
[00000022] 3. Cell: Cell ID 1 [01]
[00000024] 3. Cell: Start sector 61 [0000003d]
[00000028] 3. Cell: End sector 3762 [00000eb2]
[0000002c] 4. Cell: VOB ID 3 [0003]
[0000002e] 4. Cell: Cell ID 2 [02]
[00000030] 4. Cell: Start sector 3763 [00000eb3]
[00000034] 4. Cell: End sector 3792 [00000ed0]
[00000038] 5. Cell: VOB ID 4 [0004]
[0000003a] 5. Cell: Cell ID 1 [01]
[0000003c] 5. Cell: Start sector 3793 [00000ed1]
[00000040] 5. Cell: End sector 6249 [00001869]
[00000044] 6. Cell: VOB ID 4 [0004]
[00000046] 6. Cell: Cell ID 2 [02]
[00000048] 6. Cell: Start sector 6250 [0000186a]
[0000004c] 6. Cell: End sector 6288 [00001890]

blutach
7th November 2004, 07:18
Originally posted by 2COOL
@r0lZ

I just had my "low disk space" alert going off on my computer. I did a size search for files that I can delete and found this.

http://img104.exs.cx/img104/6784/Image_001.png

Let me quote a line from "The Princess Bride"..."Hello, my name is Inigo Montoya. You killed my father. Prepare to die!". No...not that one :p, ummmm...this one

INCONCEIVABLE!!! :eek: :eek:

Anyways, this file was found in my C:\Documents and Settings\username\Local Settings\Temp

I feel it's still growing each day.:( What's feeding it and also what's the consequences if I delete it?

[EDIT]
In regards to your comments on manually uninstalling, does it target this file too in auto-uninstalling? A short term fix for this might be to use your "cache cleaner" software (I use Zone Alarm) every day or so to kill temp files (and temp internet files).

Looks like a bloody big file though!!

Sajan
7th November 2004, 09:17
@2COOL
Also see at this

VMGM , LU 1 (ru) , 3
But- Prog. Cell Type Layer Res- Still Cell Playback End Entry First Last Last VOB Cell
tons Flags Break tric- Timel Cmd. Time Time VOBU ILVU VOBU VOBU ID ID
ted. sector End Start End

0 1 1 2 yes no 0 0 00:00:07.25 00:00:07.25 0 0 60 60 1 1
VMGM , LU 1 (ru) , 4
But- Prog. Cell Type Layer Res- Still Cell Playback End Entry First Last Last VOB Cell
tons Flags Break tric- Timel Cmd. Time Time VOBU ILVU VOBU VOBU ID ID
ted. sector End Start End

0 1 1 2 yes no 0 0 00:00:10.00 00:00:10.00 61 0 3744 3762 3 1
0 2 2 8 no no 0 0 00:00:00.11 00:00:10.11 3763 0 3763 3792 3 2

So, maybe if last VOBU is very small, it's start & end can be in the same sector?

2COOL
7th November 2004, 09:39
@Sajan

How about doing a mock strip (http://forum.doom9.org/showthread.php?s=&threadid=84097) on your VIDEO_TS files? Use the mock stripping menus procedure. Maybe it'll correct something.

r0lZ
7th November 2004, 10:08
@sajan
Sorry for such unreadable info about cells, just copy-pasted from PGCedit For a correctly formatted output, you have to print this info with fixed-width fonts. In the forum, just enclose the dump output in [ code ] [ /code ] marks (without the spaces).

Sajan
7th November 2004, 10:13
It's funny;)
When I open VIDEO_TS in IFOedit, VOBextras button is disabled.
It's enabled only on opening VTSx IFOs.

r0lZ
7th November 2004, 10:18
Originally posted by 2COOL
@r0lZ

I just had my "low disk space" alert going off on my computer. I did a size search for files that I can delete and found this.

http://img104.exs.cx/img104/6784/Image_001.png

Let me quote a line from "The Princess Bride"..."Hello, my name is Inigo Montoya. You killed my father. Prepare to die!". No...not that one :p, ummmm...this one

INCONCEIVABLE!!! :eek: :eek:

Anyways, this file was found in my C:\Documents and Settings\username\Local Settings\Temp

I feel it's still growing each day.:( What's feeding it and also what's the consequences if I delete it?

[EDIT]
In regards to your comments on manually uninstalling, does it target this file too in auto-uninstalling? The size of this file is incredibly high. Maybe your DVD has many cells with many buttons, but I can't understand why it's so high. Normally, this file is overwrited each time you load a DVD in PgcEdit, and therefore must not grow. In a previous version, the file was deleted after being created and parsed, but I changed that to be able to examine the contents of the file in case of problems. I will revert to the old behavior...

And, no, the file is not automatically deleted when you uninstall PgcEdit. But the TEMP directory is theorically cleaned by Windows regularly. Of course, you may delete it manually. Sorry for the inconvenience...

r0lZ
7th November 2004, 10:19
Originally posted by Sajan
It's funny;)
When I open VIDEO_TS in IFOedit, VOBextras button is disabled.
It's enabled only on opening VTSx IFOs. This is normal: VOB Extras is used to work on the Title's VOBs, and you cannot have titles in the VMG.

2COOL
7th November 2004, 10:27
Originally posted by r0lZ
Normally, this file is overwrited each time you load a DVD in PgcEdit, and therefore must not grow.Just to test this out, I renamed the file. I assume PgcEdit would create another if I open up another DVD. It didn't. I checked while my PgcEdit session was still open and after closing it. :(

But I haven't seen any errors popping up without it yet. Ami I going to have a problem if that file which needs to be overwritten is not there?

Sajan
7th November 2004, 10:33
Originally posted by r0lZ
This is normal: VOB Extras is used to work on the Title's VOBs, and you cannot have titles in the VMG.
So, as I understand, I can't do a mock strip of VIDEO_TS at all?

@2COOL
Another problem has appeared (in the same PGC);)
It doesn't allow to make a time search.
I cann't find in IFOedit where else it could be.
Standard IDO PUOPs are cleared. How to edit VOB PUOPs?

2COOL
7th November 2004, 10:40
Originally posted by Sajan
So, as I understand, I can't do a mock strip of VIDEO_TS at all?Yes, you can! Just like the "mock stripping menus" says in my previous link, open up VIDEO_TS.IFO with IfoEdit and press MenuExtras button.


@2COOL
Another problem has appeared (in the same PGC);)
It doesn't allow to make a time search.
I cann't find in IFOedit where else it could be.
Standard IDO PUOPs are cleared. How to edit VOB PUOPs? You would have to hexedit your VOBs since they are on your HD, which is a pain to tell you how to do it. The best way is to rip again with current DVD Decrypter and set your File Mode settings with PUOS for IFOs and VOBs checked.

Sajan
7th November 2004, 10:41
Anyway, I've just process whole DVD by VOBblanker with active "Remove PUOPs in VOBs" & "Remove PUOPs in IFOs" - it's useless...

2COOL
7th November 2004, 10:47
Originally posted by Sajan
Anyway, I've just process whole DVD by VOBblanker with active "Remove PUOPs in VOBs" & "Remove PUOPs in IFOs" - it's useless... What do you mean useless? You still have no changes in your situation? Then probably, you didn't have PUOS in your VOB. To really confirm if you do have them, open up your VIDEO_TS.VOB with VobEdit. In left window (LBA), select a [Navigation Pack]. You'll see data appear in right window. Scroll down to Byte 0035. If you don't have a zero value for Probihited U-OP, then you have PUOs existing. Randomly check other [Navigation Packs] in this VOB to confirm.

r0lZ
7th November 2004, 10:50
Originally posted by 2COOL
Just to test this out, I renamed the file. I assume PgcEdit would create another if I open up another DVD. It didn't. I checked while my PgcEdit session was still open and after closing it. :(

But I haven't seen any errors popping up without it yet. Ami I going to have a problem if that file which needs to be overwritten is not there?
How it works: when you open (or reopen) a DVD, the standalone executable button_dump.exe is used to search all menu VOBs of the DVD for buttons. The output of the exe is redirected to a temporary file in TEMP. Therefore, for each titleset, a file is created in the TEMP dir: pgcedit_temp_button_0.tcl for the VMGM, pgcedit_temp_button_1.tcl for VTSM1, ...
Then, the files are sourced by PgcEdit to retrieve the menu buttons commands, positions, etc...
In the current version, the file is then deleted (I forgot I have changed this again).
If pgcedit_temp_button_3.tcl is still there, it must be because the new DVD you opened doesn't have a VTS 3. However, I don't understand why it is so big. I have just tested this with some DVD, and the size is never greather that approx 100 Kb.
Don't worry: you may safely delete it!

Sajan
7th November 2004, 11:00
Originally posted by 2COOL
What do you mean useless? You still have no changes in your situation? Then probably, you didn't have PUOS in your VOB.
Yes, you're right. There is no any PUOPs in VOBs. Also there is no according PUOPs in IFOs. Where else I can look for?

By the way, I have working right NextPG after changing PGC pointers to this (but it's strange...):

VMGM , LU 1 (ru) , 3
NextPGCN: 3
PrevPGCN: 3
GoUpPGCN: 3
VMGM , LU 1 (ru) , 4
NextPGCN: 4
PrevPGCN: 4
GoUpPGCN: 4

But I still can't do a time search of this PGCs...

2COOL
7th November 2004, 11:40
Ok, we got the PUOs factor out of the picture. Did you mock strip your VIDEO_TS?

2COOL
7th November 2004, 11:54
@r0lZ

Originally posted by r0lZ
How it works: when you open (or reopen) a DVD, the standalone executable button_dump.exe is used to search all menu VOBs of the DVD for buttons. The output of the exe is redirected to a temporary file in TEMP. Therefore, for each titleset, a file is created in the TEMP dir: pgcedit_temp_button_0.tcl for the VMGM, pgcedit_temp_button_1.tcl for VTSM1, ...OK, if what you say is true, then I should have another tcl file created since I just deleted mine minutes ago. I have since opened up several DVDs and I still don't see one. :confused:

r0lZ
7th November 2004, 12:20
Originally posted by 2COOL
@r0lZ

OK, if what you say is true, then I should have another tcl file created since I just deleted mine minutes ago. I have since opened up several DVDs and I still don't see one. :confused: as I said, "the file is then deleted (I forgot I have changed this again)", so you will probably not see the new files: they are deleted almost immediately after the creation.

2COOL
7th November 2004, 12:44
I understand now.;)

Request: Can we have a feature to select command(s), right-click, and select an option to send it to the scratchbook for appending? This would be useful for creative users. ;) Oh, to also include button commands too.

r0lZ
7th November 2004, 12:49
Originally posted by 2COOL
I understand now.;)

Request: Can we have a feature to select command(s), right-click, and select an option to send it to the scratchbook for appending? This would be useful for creative users. ;) Oh, to also include button commands too.
Yes. It's easy.

What do you mean with "also include button commands too"? Do you want an option in the menu buttons viewer to send the current button command to the scratchbook?

2COOL
7th November 2004, 12:53
Originally posted by r0lZ
Yes. It's easy.

What do you mean with "also include button commands too"? Do you want an option in the menu buttons viewer to send the current button command to the scratchbook? Yes

blutach
7th November 2004, 13:43
Originally posted by Sajan
Yes, you're right. There is no any PUOPs in VOBs. Also there is no according PUOPs in IFOs. Where else I can look for?

By the way, I have working right NextPG after changing PGC pointers to this (but it's strange...):

VMGM , LU 1 (ru) , 3
NextPGCN: 3
PrevPGCN: 3
GoUpPGCN: 3
VMGM , LU 1 (ru) , 4
NextPGCN: 4
PrevPGCN: 4
GoUpPGCN: 4

But I still can't do a time search of this PGCs... I may be wrong, but given that your PrevPGCN and NextPGCN are pointing to the same cell that referenced them in the first place (PGC3 are all pointing to PGC3 and same with PGC4) won't it be that every time you press next chapter or previous chapter it will just take you into the same chapter? The only way out is to play the video and wait for the post command to execute.

What does 2COOL and rolz think?

Regards

blutach
7th November 2004, 13:47
@rolz

Are you planning on PgcEdit being able to actually view the various menus (like Menuedit registered version enables you to do)?

No big deal if not, it wouold just be very nice.

Regards

2COOL
7th November 2004, 13:50
@blutach
Originally posted by blutach
I may be wrong, but given that your PrevPGCN and NextPGCN are pointing to the same cell that reference them in the first place (PGC3 are all pointing to PGC3 and same with PGC4) won't it be that every time you press next chapter or previous chapter it will just take you into the same chapter? The only way out is to play the video and wait for the post command to execute.

What does 2COOL and rolz think? If the the NextPGCN is pointing to it's own PGC #, then at the last chapter, you will jump immediately to the post commands. So in VMGM PGC 3, Sajan will jump to it's own Post commands. Therefore, executing his LinkPGN 4 command.

PrevPGCN will jump to Pre commands.

@Sajan

What DVD and region code are you working on here?

r0lZ
7th November 2004, 14:48
Originally posted by blutach
@rolz

Are you planning on PgcEdit being able to actually view the various menus (like Menuedit registered version enables you to do)?

No big deal if not, it wouold just be very nice.

Regards Of course, it would be nice. But unfortunately I doesn't have the required DirectX knowledge to program this kind of stuff. I am still looking for a solution. Maybe I will find somewhere an open source player that I can adapt to use it as a preview for PgcEdit.

If a programmer is able to help me on this matter, please let me know...

Sajan
7th November 2004, 17:25
Originally posted by 2COOL
What DVD and region code are you working on here?
Najica Blitz Tactics (episodes 1-12) (2 DVD-9, about 6,5G each), region 5.
I'm trying to reauthorize it to 3 DVD-5 without recompressing of video.

Sajan
7th November 2004, 17:59
Originally posted by 2COOL
Ok, we got the PUOs factor out of the picture. Did you mock strip your VIDEO_TS?
Yes, I've done mock strip - it's nothing, all the same.
Can time seraching be disabled, because this PGC is belong to VMGM menu, not a VTSM title?

mpucoder
7th November 2004, 18:59
Originally posted by Sajan
Can time seraching be disabled, because this PGC is belong to VMGM menu, not a VTSM title?

Absolutely. btw, I think you mean a VTS title. VTSM is the title menu domain, and you can not time search in there either. Only title PGCs have time maps, in VTS_TMAPTI.

Sajan
7th November 2004, 19:13
@mpucoder
It explains smth. Thanks:))

@doom9, especially 2COOL,r0lZ,blutach
Thank for your help. I'd know much more about DVD structure and reathoring for a one week. I'm glad to have some lessons from you.

2COOL
7th November 2004, 20:13
Originally posted by Sajan
Najica Blitz Tactics (episodes 1-12) (2 DVD-9, about 6,5G each), region 5.
I'm trying to reauthorize it to 3 DVD-5 without recompressing of video. I thought we were working on a freshly ripped DVD. I didn't know you had re-authored it. So, how did you do it to 3 discs? Note: Just woke up. :)

blutach
7th November 2004, 22:19
@rolz

Is vav's posting (http://forum.doom9.org/showthread.php?s=&postid=566962#post566962) something you need to look out for too?

Regards

r0lZ
7th November 2004, 22:25
Originally posted by blutach
@rolz

Is vav's posting (http://forum.doom9.org/showthread.php?s=&postid=566962#post566962) something you need to look out for too?

Regards From the ISO639 Language Codes help output: iw Hebrew :)

lamster
7th November 2004, 22:40
First, let me start out by saying thanks for a great application. I finally got around to trying it, and I'm impressed. I can see where this will save me a lot of time over just using IfoEdit.

Now, on to the requests...

First, I'd like the ability to configure where the backup goes - including the ability to specify a relative path. (This way, I don't have to remember to delete the backup directory when burning the VIDEO_TS directory.)

Second, preview capability. I know I'm not the first to ask for this. It seems to me that this could be added by way of the Tools menu. First, PgcEdit would have to add a few extra '%' parameters that would plug in information related to the currently selected PGC (VIDEO_TS or VTS_nn; menu PGC or title PGC; and the actual numbers). Then, a simple external program that's a wrapper around calls to one of the display libraries. While not quite as integrated as IfoEdit's preview, it would solve the problem of trying to call the DirectX libraries from Tcl.

jeanl
7th November 2004, 22:49
the problem is writing the wrapper app around directX. I'm wondering where we could get some help for that. It's not as simple as it seems, like playing an mpeg stream (that's easy), here we need to play bits and pieces according to the navigation, and short of using direct X's DVD support (which only allows you to "play" a DVD), I'm not sure how to go about doing it simply (from looking at the Direct-X doc).
Maybe r0lZ could coordinate with jsoto on that one, since vobblanker had a nice, functioning preview...
Jeanl

lamster
7th November 2004, 23:16
VobBlanker has source available; it includes modified DVD2AVIdg source. So, that's one way to go.

The MSDN article Writing a DVD Playback Application in DirectShow (http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnwmt/html/writingadvdplaybackapplicationindirectshow.asp) lists some likely-looking commands in Table 1.

r0lZ
8th November 2004, 01:23
Originally posted by lamster
VobBlanker has source available; it includes modified DVD2AVIdg source. So, that's one way to go.

The MSDN article Writing a DVD Playback Application in DirectShow (http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnwmt/html/writingadvdplaybackapplicationindirectshow.asp) lists some likely-looking commands in Table 1. Thanks for the infos.

The modified DVD2AVI used by VobBlanker is driven by Windows messages send by the main app. Unfortunately, being a multi-platform language, Tcl doesn't have support to send such Windows messages (although it supports DDE messages via an additional module.)

And building a DirectX app is not really easy. I have never done that kind of programmation, and DirectX programming is well known to be a real black nightmare. Furthermore, I think DirectX has no provision for playing some specific cells out of a VOB.

Anyway, I want to complete some important improvments in PgcEdit (the Trace function and the ability to edit the menu button commands) before going to that tedious work. But it's on my TODO list...

blutach
8th November 2004, 02:16
Originally posted by lamster
First, I'd like the ability to configure where the backup goes - including the ability to specify a relative path. (This way, I don't have to remember to delete the backup directory when burning the VIDEO_TS directory.) Don't know what burner you are using, but when I burn using Nero v6.6 selecting DVD-Video mode, dragging the files in (even after a "Ctrl-A select all") does not drag in the sub-folders like PgcEdit backup.

Regards

blutach
8th November 2004, 02:20
Originally posted by 2COOL
@blutach
If the the NextPGCN is pointing to it's own PGC #, then at the last chapter, you will jump immediately to the post commands. So in VMGM PGC 3, Sajan will jump to it's own Post commands. Therefore, executing his LinkPGN 4 command.

PrevPGCN will jump to Pre commands. As usual, thanks 2COOL, I learn somethng new every day from you.

PS. Guide looks good - you decided to leave step 29 in?

@rolz
I know you are trying to complete the trace function, and this is something we have all been eagerly awaiting, but 2COOL's guide on chapter skipping would be a real winner as the next PgcEdit macro, don't you think?

lamster
8th November 2004, 06:48
Hello r0lZ,

The info about the DirectShow capabilities was really in response to the comment about only being able to "play" a DVD. I wouldn't really want to have to write a DirectX application just to do the preview.

As for DVD2AVI being driven by a message loop, that's where my idea of having a program from the Tools menu handle the preview comes into play. I was hoping to find some sample C / C++ source code that I could easily wrap to create a "glue" application that would act as the interface.

Unfortunately, I don't know Tcl, so I couldn't tell from looking at exec_tool how hard it would be to add a pluggable parameter to indicate the currently selected menu or PGC number.

lamster
8th November 2004, 06:56
Originally posted by blutach
Don't know what burner you are using, but when I burn using Nero v6.6 selecting DVD-Video mode, dragging the files in (even after a "Ctrl-A select all") does not drag in the sub-folders like PgcEdit backup.

I'm using Nero 5.5. I've always used UDF/ISO mode, and in that mode it does copy the subdirectories.

jeanl
8th November 2004, 06:58
Originally posted by lamster
Hello r0lZ,
The info about the DirectShow capabilities was really in response to the comment about only being able to "play" a DVD. I wouldn't really want to have to write a DirectX application just to do the preview.
what I meant by that was that that direct-X DVD support does not let you have access to individual cells/programs, not even to PGCs!!!! It gives you pretty much the same controls a user has with his/her remote! I'll take a look at the way jsoto did it for vobblanker though...

Jeanl

Sajan
8th November 2004, 07:27
Originally posted by 2COOL
I thought we were working on a freshly ripped DVD. I didn't know you had re-authored it. So, how did you do it to 3 discs? Note: Just woke up. :)
Najica Blitz Tactics (episodes 1-12) (2 DVD-9, about 6,5G each), region 5.
I'm trying to reauthorize it to 3 DVD-5 without recompressing of video.
Mmm... 2*6,5 = 3*4,5:)
I had to split episodes for 4 per DVD. Also threw away some addons (not enough DVD space) with hiding according buttons. Of course, removing PUOPs and making region-free. Correcting PrevPG,NextPG. In 2nd DVD-5 I had to merge some menus from both original DVD-9 (chapters and addons) with correcting links.
Note: For now it's time when I just woke up. :))

lamster
8th November 2004, 07:36
Originally posted by jeanl
what I meant by that was that that direct-X DVD support does not let you have access to individual cells/programs, not even to PGCs!!!! It gives you pretty much the same controls a user has with his/her remote! I'll take a look at the way jsoto did it for vobblanker though...
The stuff in the MSDN article sounded pretty good, but now that I've dug down a bit, I see what you mean. The IDvdControl2::ShowMenu() method only lets you specify the title, root, subpicture, audio, angle and chapter menus, not an arbitrary menu by PGC ID.

I tried getting the Media Player Classic source from SourceForge, but that uses the DirectShow stuff, so that's no good for this.

jeanl
8th November 2004, 08:13
The stuff in the MSDN article sounded pretty good, but now that I've dug down a bit, I see what you mean. The IDvdControl2::ShowMenu() method only lets you specify the title, root, subpicture, audio, angle and chapter menus, not an arbitrary menu by PGC ID.

yes, exactly! It's very very very limited. There's bound to be a way to do it (vobblanker has it), but I'm sure it's more intricate that I was hoping it would be. Best would be to adapt the code that vobblanker uses because it seems to work just fine. The question remains of how to communicate between tck/tk and windows. If you can call a C++ program from tcl/tk, then we could replicate jsoto's windows messages solution by having a small program forward calls from tcl/tk to windows... Pretty ugly but hey, as long as it does the job...
Jeanl

blutach
8th November 2004, 08:44
Originally posted by lamster
I'm using Nero 5.5. I've always used UDF/ISO mode, and in that mode it does copy the subdirectories. Any reason why you use UDF mode instead of DVD-Video mode (which works very well?

r0lZ
8th November 2004, 09:39
Originally posted by lamster
I'm using Nero 5.5. I've always used UDF/ISO mode, and in that mode it does copy the subdirectories. I made the backup the way it is, because it is easy to automate the backup creation when opening the DVD for the first time: if the backup directory doesn't already exists, then I can safely assume that I must create it.
If you use an arbitrary location, I cannot assume anymore that the directory used is related to the current DVD, and therefore I will need to remove the automatic creation, and the restore backup option.
Anyway, I think that selecting only the files before dragging them to Nero is not so difficult!

r0lZ
8th November 2004, 09:43
Originally posted by jeanl
yes, exactly! It's very very very limited. There's bound to be a way to do it (vobblanker has it), but I'm sure it's more intricate that I was hoping it would be. Best would be to adapt the code that vobblanker uses because it seems to work just fine. The question remains of how to communicate between tck/tk and windows. If you can call a C++ program from tcl/tk, then we could replicate jsoto's windows messages solution by having a small program forward calls from tcl/tk to windows... Pretty ugly but hey, as long as it does the job...
Jeanl Interesting idea. Tcl support DDE messages, as you can see here (http://tcltk.free.fr/man/TclCmd/dde.php3). Maybe it's the solution...

r0lZ
8th November 2004, 13:33
PgcEdit 0.3.8 released

New Edit -> Append to Scratchbook function to add the selected commands directly to the scratchbook. This option is also available in the menu buttons viewer (with the clipboard functions.)
PGC Editor: added the ability to edit the PG Playback Mode (sequential, random or shuffle mode.)
It is now possible to paste commands in full text format (copied with 'Copy as Text') directly in the main listbox. Note that the *** labels are not pasted: you may therefore paste the pre, post and cell commands in one operation, but all commands will be pasted in the same section.
New option "Include [hex codes] in Info / commands dumps ?".
Help -> ISO639 Language Codes now lists also the decimal and hex values.
Since CSetCLnk, CSetLnk and SetCLnk must have an IF condition, the IF checkbox has been removed from the GUI.
Now, the "New 'Play All' Title" utility display the new TTN number in the PGC selector.
Undo now mark the DVD as modified.

Also, thanks to Baldrick, there is now a new mirror of the PgcEdit's homepage at www.videohelp.com.

lamster
8th November 2004, 16:55
Originally posted by blutach
Any reason why you use UDF mode instead of DVD-Video mode (which works very well?
That's how one of the guides I read (on Doom9) said to do it, so that's how I did it for my first backup, and I've been doing it that way ever since.

From a post by coona:
Standalone players are able to read data in UDF mode. But computers need to use ISO. So that is why UDF/IFO is recommended -> to obtain best compatibility for standalones and computers.

Difference between DVD-VIDEO and UDF/ISO mode in Nero is version of UDF. In DVD-VIDEO mode was used version 1.05 but oficial standard for standalones is 1.02. This is the reason for problem with compatibility of DVDs burned with Nero. Some old players were unable to read newer version (1.05) UDF.
See also this thread (http://forum.doom9.org/showthread.php?s=&threadid=49247)
Anyway, this is getting off of the topic at hand...

lamster
8th November 2004, 17:58
Originally posted by r0lZ
I made the backup the way it is, because it is easy to automate the backup creation when opening the DVD for the first time: if the backup directory doesn't already exists, then I can safely assume that I must create it.
Actually, that raises another point - it might be nice if there were an option to backup the IFO files when the first change is made. The reason for this is that I often examine the IFO files of the original rip while DVD-Rebuilder is running, so I can understand the changes that need to be made, but don't actually make any changes until after Rebuilder completes, at which point I open the IFO files in my "Rebuilt" directory, and those are the ones that I modify. So, I'd like to keep the ability to automatically back up the IFO's I'm editing, but I don't want to bother doing it for the ones I'm not.

If you use an arbitrary location, I cannot assume anymore that the directory used is related to the current DVD, and therefore I will need to remove the automatic creation, and the restore backup option.

I did say "including the ability to specify a relative path". I'd be happy if there was just a checkbox that said to create it in the parent directory of the VIDEO_TS directory.

Anyway, I think that selecting only the files before dragging them to Nero is not so difficult!
This is certainly not a show-stopper, or even particularly high priority; I'm just throwing it out as something that I'd like to see. (I think it would be "cleaner" that way.) If you don't think it's worth doing, I can live with that.

jeanl
8th November 2004, 18:20
Originally posted by r0lZ


It is now possible to paste commands in full text format (copied with 'Copy as Text') directly in the main listbox. Note that the *** labels are not pasted: you may therefore paste the pre, post and cell commands in one operation, but all commands will be pasted in the same section.

Now that's very coool!!!!
Thanks for all these updates and improvements r0lZ!!!
Jeanl

jeanl
8th November 2004, 19:06
Originally posted by r0lZ
Interesting idea. Tcl support DDE messages, as you can see here (http://tcltk.free.fr/man/TclCmd/dde.php3). Maybe it's the solution...
Interesting. Indeed, DDE provides a simple pipe to talk between Tcl and C++/windows programs. I wonder if that's what jsoto used to control DVD2AVI, although I think I remember he used Windows SendMessage...
Jeanl

2COOL
8th November 2004, 20:21
@r0lZ

I have a Scooby Doo 2(R1) that has it LUs not showing a menu language.

http://img95.exs.cx/img95/2788/Image_002.png

Is there anywhere in PgcEdit to edit this? I can do it in the VMGM_PGCI_UT or VTSM_PGCI_UT using IfoEdit.

2 requests:

1) PGC Program Map editing
2) PTT_SRPTI editing

r0lZ
8th November 2004, 21:38
No, you cannot edit the LU language with PgcEdit (for now.) Anyway, if the language is unset, you probably have only one LU. Editing it is therefore useless: it will be played anyway, regardless of the current player configuration.

And yes, the Program map and chapter table edition is on my todo list. It's an important feature to add. Please remind me later, when I will have some time...

jsoto
8th November 2004, 22:48
I wonder if that's what jsoto used to control DVD2AVI, although I think I remember he used Windows SendMessage...
Yes, I'm using SendMessage.
. If you can call a C++ program from tcl/tk, then we could replicate jsoto's windows messages solution by having a small program forward calls from tcl/tk to windows... Pretty ugly but hey, as long as it does the job... Yes, it can be done easily. Just an exe with the parameters to be used in SendMessage. And, also yes, pretty ugly...

jsoto

lamster
8th November 2004, 23:00
Originally posted by jsoto
Yes, I'm using SendMessage.
Yes, it can be done easily. Just an exe with the parameters to be used in SendMessage. And, also yes, pretty ugly...

Since there's supposedly a DLL-caller extension (http://tcltk.free.fr/tcltkfaq.php3?idxquery=229) (although the link it points at appears dead), might it be less ugly if you just loaded USER32.dll and called SendMessage directly? (Sorry if this is a dumb question; as I said, I'm not familiar with Tcl.)

jeanl
8th November 2004, 23:12
If that works, that's a very good suggestion! One fewer intermediate steps. PgcEdit could use the same modified DVD2AVI that jsoto came up with and talk to it via windows messages, the same way vobblanker talks to it...
Suddenly PgdEdit preview does not seem so out of reach ;)

EDIT: I also saw an extension of tcl called "CWind" that allows sending windows messages from tcl...
http://www.interq.or.jp/japan/s-imai/tcltk/cwind.html
Jeanl

2COOL
8th November 2004, 23:20
Originally posted by jeanl
If that works, that's a very good suggestion! One fewer intermediate steps. PgcEdit could use the same modified DVD2AVI that jsoto came up with and talk to it via windows messages, the same way vobblanker talks to it...
Suddenly PgdEdit preview does not seem so out of reach ;)

Jeanl "Without vision, we are blind to opportunity." ;)

r0lZ
9th November 2004, 01:35
Thanks to everybody here helping to implement a preview in PgcEdit. Great!
For your information, as this is not a programming thread, we are currently exchanging PMs and mails on this matter. I will keep you informed of the progress of the Preview...

DMagic1
9th November 2004, 03:08
Great work.

2COOL
9th November 2004, 04:29
@r0lZ

When we choose to "Jump to Target" in our menu buttons viewer, we can see the jump on the main window in the background. Can you have it so we do click on this button, the viewer would automatically close too? When I want to jump to the target, I "want" to jump to the target.

blutach
9th November 2004, 04:36
Fabulous, as usual, rolz. Just fantastic.

All the best

r0lZ
9th November 2004, 12:18
Originally posted by 2COOL
@r0lZ

When we choose to "Jump to Target" in our menu buttons viewer, we can see the jump on the main window in the background. Can you have it so we do click on this button, the viewer would automatically close too? When I want to jump to the target, I "want" to jump to the target. OK. Done.
Note that the viewer is not closed if the target is not found, or if the target is within the same PGC (for example, when the command is a LinkCN). In this latter case, the right cell is automatically selected and shown in the viewer.

r0lZ
9th November 2004, 12:20
@DMagic, blutach and everybody
Thanks for your kind words. :)

2COOL
9th November 2004, 19:30
Originally posted by r0lZ
OK. Done.
Note that the viewer is not closed if the target is not found, or if the target is within the same PGC (for example, when the command is a LinkCN). In this latter case, the right cell is automatically selected and shown in the viewer. CC

2COOL
10th November 2004, 00:43
@r0lZ

Enhancement request

When using the SetSTN command in Command Editor, I'm envisioning the languages next to the stream number in slidebar. Beats having to check the stream attributes on the side to figure out which to pick. No ()'s will work too.

http://img79.exs.cx/img79/892/Image_003.png

Also, I'm sure you can get the total number of streams,in question, in PGC to set/match the number of streams in slide bar too. So, if I only had 3 audios, my slide bar would only go up to 3.

This would make life easier, don't you think?

r0lZ
10th November 2004, 01:42
Originally posted by 2COOL
@r0lZ

Enhancement request

When using the SetSTN command in Command Editor, I'm envisioning the languages next to the stream number in slidebar. Beats having to check the stream attributes on the side to figure out which to pick. No ()'s will work too.

http://img79.exs.cx/img79/892/Image_003.png

Also, I'm sure you can get the total number of streams,in question, in PGC to set/match the number of streams in slide bar too. So, if I only had 3 audios, my slide bar would only go up to 3.

This would make life easier, don't you think? IMHO, you are taking things in the wrong order. The streams assignments you make in the PGC Selector (called stream status in IfoEdit) are directly referencing the streams in the VOB. There is no way for me to know what language there are supposed to be. Then, the domain stream attributes are referencing those assignments, and give them the language attributes.

2COOL
10th November 2004, 01:54
Originally posted by r0lZ
Then, the domain stream attributes are referencing those assignments, and give them the language attributes. I'm a little confused. You can't use code snippets of the language attributes dialog to set the slide bars? The dialog can get the languages so why can't the command editor. I'm sure you can up with some variables to store this.

Edit: We are already know what PGC we are in since it's still selected in the PGC Selector.

r0lZ
10th November 2004, 02:14
It's not a programming problem. It just doesn't make sense.
I'll try to explain again:

In your VOB, say you have 4 subpic streams:
0: English, widescreen
1: English, letterbox
2: French, widescreen
3: French, letterbox

In the PGC, you will probably have something like that:
Subpic 0: use VOB streams 0, 1, 1, 0
Subpic 1: use VOB streams 2, 3, 3, 2

In the domain stream attribs, you FINALLY have the description of the streams assignments made in the PGC:
Subpic 0: en
Subpic 1: fr

So, when you change the assignments in the PGC editor, you cannot say what are the languages of the physical streams in the VOB by looking at the domain stream attribs. And it's also impossible to say how many physical streams are in the VOB.

jeanl
10th November 2004, 07:18
This post is in reference to the problem northwind reported around here
http://forum.doom9.org/showthread.php?s=&threadid=79853&perpage=20&pagenumber=17

This is slightly off topic, but the problem emerged when northwind started using PgcEdit.

northwind was able to prepare a small version of the problem DVD, which I was able to download for testing. I'm stumped! Here's what I'm seeing:
- The *original* DVD as made by northwind plays find in PowerDVD.
- But if I burn it on a DVD-RW, and try to play it from PowerDVD, PowerDVD reports an error and stops!

* I've tried 3 different discs, same result.
* I've tried to load it in IFOEdit and do a Get VTS Sector. Same result!

I'm puzzled. There's something wrong with the DVD to begin with, but I'm not sure what it is.
Does anybody have an idea what's going on here?
Jeanl

EDIT: Even more weird! The same DVD-RW that PowerDVD can't play will play on my sampo settop DVD player! :)

2COOL
10th November 2004, 08:05
Originally posted by r0lZ
It's not a programming problem. It just doesn't make sense.
I'll try to explain again:

In your VOB, say you have 4 subpic streams:
0: English, widescreen
1: English, letterbox
2: French, widescreen
3: French, letterbox

In the PGC, you will probably have something like that:
Subpic 0: use VOB streams 0, 1, 1, 0
Subpic 1: use VOB streams 2, 3, 3, 2

In the domain stream attribs, you FINALLY have the description of the streams assignments made in the PGC:
Subpic 0: en
Subpic 1: fr

So, when you change the assignments in the PGC editor, you cannot say what are the languages of the physical streams in the VOB by looking at the domain stream attribs.OK, little fuzzy but it'll come to me eventually.
And it's also impossible to say how many physical streams are in the VOB. I won't say it's impossible. You can parse the VOB streams using vStrip using a CLI command like this.

C:\vstrip\vStrip.exe c:\dvd_video\video_ts\VTS_01_1.VOB

Of course, it won't tell you any languages.

Oh BTW, I've read that the default setting for gprm(1) is 16, not 15. It's in my Ralph LaBarge book.

r0lZ
10th November 2004, 10:08
I won't say it's impossible. You can parse the VOB streams using vStrip using a CLI command like this. Of course, you can analyse the VOB. What I mean is that it's not possible to know how many subpic streams are in the VOBs only by looking in the domain stream attributes section (in VMGM_MAT/VTSI_MAT).

Oh BTW, I've read that the default setting for gprm(1) is 16, not 15. It's in my Ralph LaBarge book. Seems strange, since the value for 'not set' is 15. Anyway, I'll test that on my player immediately...

[EDIT:] The default for gprm(1) is 15, not 16. Ralph LaBarge is wrong. Confirmed with soft players, Sony and KISS.

2COOL
10th November 2004, 19:49
Originally posted by r0lZ
The default for gprm(1) is 15, not 16. Ralph LaBarge is wrong. Confirmed with soft players, Sony and KISS. :(

M!ro
10th November 2004, 23:01
there is a minor bug in pgcedit. in command editor menu, when the "value" option is selected, if the box is empty (no number entered), when you click the "B" button you get
application error: can't use empty string as operand of "/"
i think you first have to test if textbox isn't empty and then divde with 1024 ;)

r0lZ
11th November 2004, 01:09
Thanks M!ro. Indeed, it's easy to fix!

blutach
11th November 2004, 04:06
Originally posted by r0lZ
[EDIT:] The default for gprm(1) is 15, not 16. Ralph LaBarge is wrong. Confirmed with soft players, Sony and KISS. KISS, the rock group? Didn't know they were into DVDs. Music DVDs, I suppose. :D :D :D

jeanl
11th November 2004, 05:04
Originally posted by blutach
KISS, the rock group? Didn't know they were into DVDs. Music DVDs, I suppose. :D :D :D
geee blutach, that was lame! ;)
Jeanl

blutach
11th November 2004, 07:25
Sorry, Jean.

But someone might have got a laugh (or just a smile perhaps)?

Take care

blutach
11th November 2004, 07:38
@rolz

A question re PgcEdit and IfoEdit's Get VTS Sectors

After I have saved a disk in PgcEdit and load up an IFO in IfoEdit (usually by using the shortcut in the Tools menu), I do a GET VTS Sectors to load up the remaining IFOs on the disk.

Now, I have found that when there is no VIDEO_TS.VOB present (e.g it is all unreferenced material and has been eliminated), IFOEdit corrects the sectors.

But, I had already done a save in PgcEdit.

Is this a bug? If so, who's bug?

BTW: There is no problem if VIDEO_TS.VOB is present - even as a 10k blank. Only when it is 0k.

Hope you can help.

Regards

jeanl
11th November 2004, 07:55
About this GetVTS Sectors...

Can someone explain to me exactly what that does?
I have an intuitive understanding that it has something to do with the way a player accesses various places on the disc, based on sectors (instead of using the windows file system when playing out of a folder). Is that what's happening?

What's the consequence of having out of sync VTS sectors?
Does the DVD still play on, say PowerDVD in file mode (out of a VIDEO_TS folder)?
Does the DVD play on PowerDVD in ISO mode (from a mounted ISO image?)

Jeanl

jsoto
11th November 2004, 08:58
Now, I have found that when there is no VIDEO_TS.VOB present (e.g it is all unreferenced material and has been eliminated), IFOEdit corrects the sectors.
I didn't try, but seems to be a bug in pgcEdit.

Sector adjustment procedure:
See http://dvd.sourceforge.net/dvdinfo/ifo.html
Look to the green tables in the middle. The pointers are located in:
0x1C: Pointer to End of IFO
0xC0: Pointer to Start of menu VOB
0x0C: Pointer to End of VTS/VMG set of files (points to last sector of BUP
0xC4: Pointer to First sector of titles.

Pointers are relative to start of VTS/VMG set of files
Summarizing, being
- nIFOSectors the size (in sectors) of IFO
- nMenuSectors the size (in sectors) of Menu
- nVOBSectors the size (in sectors) of all title VTSs

0x1C= nIFOSectors-1;
0xC0= nIFOSectors;
0x0C= nIFOSectors*2+nMenuSectors+nVOBSectors-1;
0xC4= nIFOSectors+nMenuSectors;

But, you have to take into account the "special" cases:
If there is NO Menu file
0xC0=0;
If there is a 0 bytes menu file
0xC0= nIFOSectors*2+nVOBSectors-1; in VTSs
0xC0= nIFOSectors*2-1; in VMGs

So, in the case of a 0 bytes menu, when you delete it (to burn the files with Nero), you need to adjust (reset to zero) the 0xC0 pointer

And, in TT_SRPT (titles table) of VIDEO_TS.IFO there are absolute pointers (one per title) to the start of the VTS where the title is included.

The consecuence of having unadjusted VTS sectors is clear:
- DVD will not play in a settop.

I'm not absolutely sure but I believe powerDVD is still able to play the DVD, because it can access to the files based on file system, not in sectors.

jsoto

jeanl
11th November 2004, 09:07
jsoto,
Thanks for this very thorough explanation! GREAT! Thanks a bunch for spending the time to explain in great detail!
Jeanl

jsoto
11th November 2004, 10:10
Err.., just to complete the description, another point:

The values I've written in the post below are in the case of consecutive allocation of the files.

But there are some DVDs which have unused sectors between the different files. In this case the sector values are different from the formulas I've written. (Obviously, in these DVDs, if you do a "Get VTS sectors", IFOEdit will try to correct the sectors).

One reason for having this unused sectors in the middle is to have physical distance between the IFO and the BUP files, to guarantee the integrity of the BUP in the case of IFO corruption due physical damage of the DVD.

BTW, I do not know if Nero is able to burn the DVD with these "unused sectors" in the middle.

jsoto

jeanl
11th November 2004, 10:25
Originally posted by jsoto

BTW, I do not know if Nero is able to burn the DVD with these "unused sectors" in the middle.

jsoto
Funny you should mention that! I have a very weird phenomenon happening with a DVD (provided to me by Northwind), whereby discs burned with DVDDecrypter play fine everywhere (PC and settop) but discs burned with nero (from folder) do not!.

If I can't get to the bottom of that I will post a message...
Jeanl

blutach
11th November 2004, 11:12
Gents,

Thanks for the explanation. In fact, on the IfoEdit site, there is a nice easy little explanation about Get VTS sectors and how to calculate it manually, if you want (see http://ifoedit.wh.fr0zen.com/calcsec.html).

However, do we know who needs to do the bugfix - Derrow or Rolz?

Regards

r0lZ
11th November 2004, 11:51
Originally posted by blutach
KISS, the rock group? Didn't know they were into DVDs. Music DVDs, I suppose. :D :D :D No! ;) KISS is a settop player designed to play both DVDs and MPEG4/XviD/DivX AVIs. In fact, it is a little computer running Linux Embedded, in a settop box. I don't recommand it for DVD playback, though!

r0lZ
11th November 2004, 11:54
Originally posted by blutach
@rolz

A question re PgcEdit and IfoEdit's Get VTS Sectors

After I have saved a disk in PgcEdit and load up an IFO in IfoEdit (usually by using the shortcut in the Tools menu), I do a GET VTS Sectors to load up the remaining IFOs on the disk.

Now, I have found that when there is no VIDEO_TS.VOB present (e.g it is all unreferenced material and has been eliminated), IFOEdit corrects the sectors.

But, I had already done a save in PgcEdit.

Is this a bug? If so, who's bug?

BTW: There is no problem if VIDEO_TS.VOB is present - even as a 10k blank. Only when it is 0k.

Hope you can help.

Regards I will have a look at that problem...

r0lZ
11th November 2004, 12:10
Originally posted by jeanl
About this GetVTS Sectors...

Can someone explain to me exactly what that does?
I have an intuitive understanding that it has something to do with the way a player accesses various places on the disc, based on sectors (instead of using the windows file system when playing out of a folder). Is that what's happening?

What's the consequence of having out of sync VTS sectors?
Does the DVD still play on, say PowerDVD in file mode (out of a VIDEO_TS folder)?
Does the DVD play on PowerDVD in ISO mode (from a mounted ISO image?)

Jeanl Soft players are (normally) using the ISO mode. In this mode, the physical start point of the data on disk is referenced in the directory, just like on an HDD.
Settop players are using the UDF mode, which has no directory. The only starting point known by the player is the beginning of VIDEO_TS.IFO. So, to be able to find the other files, there must be pointers in the IFOs, pointing to the start of the various IFOs and VOBs, and to the various tables inside the IFOs. Those pointers are in the VMGM_MAT, at offsets 0xC0 to 0xDC, and in the VTS_*.IFO in VTSI_MAT, at 0xC0 to 0xE4.

If the pointers are not correct, the DVD will probably play correctly on a soft player, but will not play on a standalone.

I don't know the method PowerDVD uses to access the files in ISO mode, but I suppose it can still access the files with the directory.

[EDIT:] Sorry, jsoto. I answered before I saw your cleaver answer, above! Well done.

r0lZ
11th November 2004, 12:17
Originally posted by blutach
However, do we know who needs to do the bugfix - Derrow or Rolz? I'll check it immediately!

r0lZ
11th November 2004, 12:20
Originally posted by jeanl
Funny you should mention that! I have a very weird phenomenon happening with a DVD (provided to me by Northwind), whereby discs burned with DVDDecrypter play fine everywhere (PC and settop) but discs burned with nero (from folder) do not!.

If I can't get to the bottom of that I will post a message...
Jeanl Maybe you could try to see if there are differences in the VTS sectors after the disk has been burned with Nero and DVD Decrypter...

r0lZ
11th November 2004, 12:33
@blutach

I can't see any problem.

IfoEdit don't correct anything when launched after a VMGM blanking with the option "Completely remove the menu VOB file".

So, I suppose you have used another method to remove the VOB.
Did you deleted it manually?
Did you deleted it AFTER the Save in PgcEdit?

@everybody
PgcEdit will correct the VTS sectors each time it saves the DVD. But it will use the VOBs that are currently in the directory to calculate the pointers. So, if you change anything manually, you should always reopen the DVD in PgcEdit, and save it again (or Get VTS Sectors with IfoEdit, which may be faster).

blutach
11th November 2004, 13:13
@rolz

I used VobBlanker to process the menus, not IfoEdit. As you know, it doesn't keep unreferenced material.

This is the scenario. I Kill PGC Playback with PgcEdit AND remove the programs - in this case all PGCs in VMGM. I then might need to do some processing with VobBlanker. After processing, VIDEO_TS.VOB is a 0 byte file (since all the cells are now unreferenced).

Next step is I copy the processed IFOs (including the zero byte VIDEO_TS.VOB) to my working directory, restart PgcEdit and save. PgcEdit tells me that VTS Sectors are saved OK.

Then, without doing any other processing, I start IFOEdit as described earlier and do a Get VTS Sectors (to load up all the IFOs) and it readjusts sectors!! This happens quite often.

So, someone's GET VTS Sectors is not quite right.

I trust you can repeat it and discover what might be happening.

Thanks and regards

mpucoder
11th November 2004, 13:49
Originally posted by r0lZ
Settop players are using the UDF mode, which has no directory..

Not true. Both iso 9660 and UDF are file systems, with directories (folders to Windows peeps). ISO9660 is the same as that used on CDs, and is optional. UDF is required, and used by both settop players and PCs in the absence of iso9660.

Settop players locate the video zone by way of the UDF file system. After finding /VIDEO_TS/VIDEO_TS.IFO they then use the pointers within it and the other ifo files (pointed to by VIDEO_TS.IFO) to navigate the disk.
Software players, on the other hand, use the file system to locate all the files, removing the need for lower level access to the disk.

As noted, there can be gaps on a DVD. The most noteable ones are those used to ensure that no ECC block contain any portion of an ifo file and its associated bup file. Since ECC blocks are 16 sectors long, the easiest way to accomplish this is the ensure that there are 16 sectors between the end of the ifo and the start of the bup. With VIDEO_TS.VOB or VTS_xx_0.VOB files less that 32K (or absent) this means using a gap.

There can be gaps in other places, and this ability is exploited by DVD recorders (not VR mode, but video mode, aka video-rm) to pre-allocate space for ifo, bup, and menu data. Video-rm also can create up to 3 titlesets (for different resolutions) but use the same data for all three vob file sets. The pointer system allows this file sharing technique.

Burning programs handle this in one of three ways, two of which are correct.
1) They can honor the authoring programs layout and place the data on the disk according to the pointers in the ifo files.
2) They can make their own layout decisions and alter the pointesr accordingly.
3) They (notably Nero) pack the data as closely as possible and ignore the pointers.

r0lZ
11th November 2004, 14:04
3) They (notably Nero) pack the data as closely as possible and ignore the pointers. So, Nero should be avoided to burn DVDs?

r0lZ
11th November 2004, 15:21
@blutach
I then might need to do some processing with VobBlanker. After processing, there is no VIDEO_TS.VOB (since all the cells are now unreferenced). I think you're wrong on this point. VobBlanker will create a 0 byte VOB file.

I have followed your scenario and copied only the IFO and BUP files processed by VobBlanker. Not the empty VOB. All is working perfectly: IfoEdit doesn't change anything.

However, If I copy the empty VOB also, then IfoEdit will correct the Start Sector of VMGM_VOBS: [old: 0] [new: 10](VIDEO_TS.VOB)

So, you are right: in the case of an empty VOB file, the sector pointer is not adjusted correctly by PgcEdit. For now, the way to avoid this problem is to remove the 0 byte VOB files before saving the DVD with PgcEdit.

Could you confirm that you kept the empty VOB?

[EDIT:] Bug fixed now. The new v0.4.0 release will be available in a couple of days...

jeanl
11th November 2004, 18:01
Originally posted by mpucoder
Not true. Both iso 9660 and UDF are file systems, with directories (folders to Windows peeps). ISO9660 is the same as that used on CDs, and is optional. UDF is required, and used by both settop players and PCs in the absence of iso9660.

Settop players locate the video zone by way of the UDF file system. After finding /VIDEO_TS/VIDEO_TS.IFO they then use the pointers within it and the other ifo files (pointed to by VIDEO_TS.IFO) to navigate the disk.
Software players, on the other hand, use the file system to locate all the files, removing the need for lower level access to the disk.

As noted, there can be gaps on a DVD. The most noteable ones are those used to ensure that no ECC block contain any portion of an ifo file and its associated bup file. Since ECC blocks are 16 sectors long, the easiest way to accomplish this is the ensure that there are 16 sectors between the end of the ifo and the start of the bup. With VIDEO_TS.VOB or VTS_xx_0.VOB files less that 32K (or absent) this means using a gap.

There can be gaps in other places, and this ability is exploited by DVD recorders (not VR mode, but video mode, aka video-rm) to pre-allocate space for ifo, bup, and menu data. Video-rm also can create up to 3 titlesets (for different resolutions) but use the same data for all three vob file sets. The pointer system allows this file sharing technique.

Burning programs handle this in one of three ways, two of which are correct.
1) They can honor the authoring programs layout and place the data on the disk according to the pointers in the ifo files.
2) They can make their own layout decisions and alter the pointesr accordingly.
3) They (notably Nero) pack the data as closely as possible and ignore the pointers.

mpucoder! Thanks for taking the time to post this very informative answer! really cool! Now the whole thing makes much much more sense to me. I will check tonight whether my nero burn shows different VTS sectors than my DVDDecrypter burn. But what you mention about the three ways burning programs handle it could easily explain the problems northwind was having!

Jeanl

jeanl
11th November 2004, 18:02
Originally posted by r0lZ
So, Nero should be avoided to burn DVDs?
well it definitely sounds that way to me, at least when you have less-than-32K files in your DVD... I'll double check that tonight...

Jeanl

2COOL
11th November 2004, 18:43
Originally posted by jeanl
About this GetVTS Sectors...

Can someone explain to me exactly what that does?
http://ifoedit.wh.fr0zen.com/calcsec.html

jsoto
11th November 2004, 19:41
@mpucoder,
The last doubt I have is about the 0 bytes menu files. Nero doesn't like them but I've seen many original DVDs with them. Do you have any reference on this?.

jsoto

2COOL
11th November 2004, 19:51
Originally posted by jsoto
The last doubt I have is about the 0 bytes menu files. Nero doesn't like them but I've seen many original DVDs with them. Do you have any reference on this?.IMHO, it was Nero's decision to implement the "less than 2KB" feature. There were alot of complaints about this matter and recommendations to have them leave it as a option to keep or not keep. But alas, even up to now, they still deny us that. :( It's just a show of power. I don't think the original DVDs were burnt with Nero.

r0lZ
11th November 2004, 20:30
I don't like the empty VOBs, so I prefer to delete them. But since this seems legal, PgcEdit is now able to deal with them without problems. The user may decide te leave or remove them: the VTS Sectors are now working as described by jsoto, above.

2COOL
11th November 2004, 21:19
@r0lZ

In our Sub-Picture Stream setup, is 15 the highest stream we can go up to?

Speaking of setups...I mentioned earlier about putting the languages into the SetSTN slide bar but how about doing it to the audio and sub-picture set slide bars instead? They should be referencing the *_MAT tables right? You could probably put tool tips on the buttons in PGC Editor Main window to tell us what Language the streams are. Well, at least for Audio.

BTW, what's your status on this (http://forum.doom9.org/showthread.php?s=&postid=560844#post560844)?

blutach
11th November 2004, 21:44
Originally posted by r0lZ
@blutach
I think you're wrong on this point. VobBlanker will create a 0 byte VOB file.

Could you confirm that you kept the empty VOB?

[EDIT:] Bug fixed now. The new v0.4.0 release will be available in a couple of days... Yes, that's what I did rolz...sorry for the confusion. I wrote the post late last night from memory. But yes, I do a move all files from the VobBlanker destination folder back to my original project working folder. (I will edit my earlier post).

Glad to see you have re-created the situation. Until 4.0 released (including the trace?), I will simply delete 0 byte files as you recommend.

(It seems DVD Shrink deletes these too, because after transcoding, they are not included and I never have problems with sectors, even though I burn with Nero - see mpucoder's earlier post).

Thanks and regards

mpucoder
11th November 2004, 21:48
Originally posted by 2COOL
I don't think the original DVDs were burnt with Nero.
:)
Of course not, and neither are mine. Which is why I don't know firsthand the current status of that problem.

jeanl
11th November 2004, 21:57
Originally posted by mpucoder
:)
Of course not, and neither are mine. Which is why I don't know firsthand the current status of that problem.
I'll give it a shot tonight on the DVD that I have a problem with, then post my results.
If there's something specific you want me to try, post it!
Jeanl

blutach
11th November 2004, 22:23
@mpucoder

Are you saying that a better method is to burn an ISO file with DVD Decrypter?

Regards

mpucoder
12th November 2004, 00:13
This is getting OT (we have another forum altogether for "burning issues")

AFAIK ISO images work fine, even in Nero. The whole idea of images is not to examine the data or layout, just burn it. I do have Nero (came with my new burner) just haven't played with it in file mode yet.

jsoto
12th November 2004, 00:22
Also, this thread is becoming too long...
r0lZ, I suggest to start a new one with 0.4.0

jsoto

jeanl
12th November 2004, 00:25
Originally posted by jsoto
Also, this thread is becoming too long...
r0lZ, I suggest to start a new one with 0.4.0

jsoto
Good idea!
Jeanl
jsoto, what are you doing up at this time! ;)

r0lZ
12th November 2004, 04:00
Originally posted by 2COOL
@r0lZ

In our Sub-Picture Stream setup, is 15 the highest stream we can go up to? :o You're right. Should be 32.


Speaking of setups...I mentioned earlier about putting the languages into the SetSTN slide bar but how about doing it to the audio and sub-picture set slide bars instead? They should be referencing the *_MAT tables right? You could probably put tool tips on the buttons in PGC Editor Main window to tell us what Language the streams are. Well, at least for Audio. Yes. That's feasible.


BTW, what's your status on this (http://forum.doom9.org/showthread.php?s=&postid=560844#post560844)? Not yet done, as you can see. Maybe later. For now, it is already possible to blank the cells you want, although it requires some manual work...

r0lZ
12th November 2004, 04:03
Originally posted by jsoto
Also, this thread is becoming too long...
r0lZ, I suggest to start a new one with 0.4.0

jsoto It's my intention.

@blutach and everybody
Yes, v0.4 will have the Trace (still in a somewhat beta state, though.) I will probably release it sunday.

jeanl
12th November 2004, 06:45
Originally posted by jeanl
I'll give it a shot tonight on the DVD that I have a problem with, then post my results.
If there's something specific you want me to try, post it!
Jeanl

Well I did some tests and posted the results here:
http://forum.doom9.org/showthread.php?s=&threadid=85267

I still don't understand what's going on...
Jeanl

blutach
12th November 2004, 14:06
@jean

See my reply in your DVD Burning thread.

2COOL
13th November 2004, 00:00
@r0lz

Bug?

I have a PGC with one program and holding a VOB/ Cell ID of 2/1.

VTST 1 , 1 TTN 1 (9:02) - Chapters: 1, Programs: 1, Cells: 1

********** pre commands:
********** post commands:
********** cell commands:


Playback time: 00:09:02.04 (at 30 fps)
PG Playback mode: sequential
PUOs: 0 (0x00000000)
NextPGCN: 3
PrevPGCN: 0
GoUpPGCN: 0
PGC Still Time: 0
Audio stream 1 status: 0x00008000 (stream=0)
Audio stream 2 status: 0x00008100 (stream=1)
Subpic stream 1 status: 0x80000000 (streams for 4:3=0, wide=0, letterbox=0, pan&scan=0)

Chap. Prog. Cell Type Layer Res- Still Cell Playback End Entry First Last Last VOB Cell
(PTT) Flags Break tric- Timel Cmd. Time Time VOBU ILVU VOBU VOBU ID ID
ted. sector End Start End

1 1 1 2 no no 0 0 00:09:02.04 00:09:02.04 29855 0 212886 213093 2 1

When I select to change this to 1/1 in PGC Editor dialog, my number of Programs has increased. I should still have a single program here.
VTST 1 , 1 TTN 1 (1:18) - Chapters: 1, Programs: 2, Cells: 1

********** pre commands:
********** post commands:
********** cell commands:


Playback time: 00:01:18.07 (at 30 fps)
PG Playback mode: sequential
PUOs: 0 (0x00000000)
NextPGCN: 3
PrevPGCN: 0
GoUpPGCN: 0
PGC Still Time: 0
Audio stream 1 status: 0x00008000 (stream=0)
Audio stream 2 status: 0x00008100 (stream=1)
Subpic stream 1 status: 0x80000000 (streams for 4:3=0, wide=0, letterbox=0, pan&scan=0)

Chap. Prog. Cell Type Layer Res- Still Cell Playback End Entry First Last Last VOB Cell
(PTT) Flags Break tric- Timel Cmd. Time Time VOBU ILVU VOBU VOBU ID ID
ted. sector End Start End

1 1 1 2 no no 0 0 00:01:18.07 00:01:18.07 0 0 29705 29854 1 1

Also, you have a typo in your PGC dump

"Still Time1" should be "Still Time"

2COOL
13th November 2004, 05:10
I did a IfoEdit split and it seems there is difference in parsing the IFO between IfoEdit and PgcEdit. Here's what I have for disc Title 1.

In Ifoedit, I have Chapter 1 with Program 1.

VTS overview:

PGC_1 (program chain): [Title(TTN): 1] [00:50:22.07 / 30 fps] (Programs: 12) (Cells: 12) (uses VOB-IDs: 1)
[Ch 01] [Pg 01] [Cell 01] [V/C Id: 1/17]
[Ch 18] [Pg 02] [Cell 02] [V/C Id: 1/18]
[Ch 19] [Pg 03] [Cell 03] [V/C Id: 1/19]
[Ch 20] [Pg 04] [Cell 04] [V/C Id: 1/20]
[Ch 21] [Pg 05] [Cell 05] [V/C Id: 1/21]
[Ch 22] [Pg 06] [Cell 06] [V/C Id: 1/22]
[Ch 23] [Pg 07] [Cell 07] [V/C Id: 1/23]
[Ch 24] [Pg 08] [Cell 08] [V/C Id: 1/24]
[Ch 25] [Pg 09] [Cell 09] [V/C Id: 1/25]
[Ch 26] [Pg 10] [Cell 10] [V/C Id: 1/26]
[Ch 27] [Pg 11] [Cell 11] [V/C Id: 1/27]
[Ch 28] [Pg 12] [Cell 12] [V/C Id: 1/28]

Parsing the same IFO with PgcEdit, I have Chapter 17 with Program 1.

VTST 1 , 1 TTN 1 (50:22) Title 1 - Chapters: 28, Programs: 12, Cells: 12

Chap. Prog. Cell Type Layer Res- Still Cell Playback End Entry First Last Last VOB Cell
(PTT) Flags Break tric- Timel Cmd. Time Time VOBU ILVU VOBU VOBU ID ID
ted. sector End Start End

17 1 1 2 yes no 0 0 00:10:03.07 00:10:03.07 0 0 166344 166504 1 17
18 2 2 8 no no 0 0 00:05:21.04 00:15:24.11 166505 0 254288 254471 1 18
19 3 3 8 no no 0 0 00:02:38.18 00:18:02.29 254472 0 300865 301083 1 19
20 4 4 8 no no 0 0 00:07:25.05 00:25:28.04 301084 0 464608 464816 1 20
21 5 5 8 no no 0 0 00:02:36.26 00:28:05.00 464817 0 519347 519574 1 21
22 6 6 8 no no 0 0 00:02:09.21 00:30:14.21 519575 0 567889 568152 1 22
23 7 7 8 no no 0 0 00:04:49.10 00:35:04.01 568153 0 669977 670158 1 23
24 8 8 8 no no 0 0 00:01:00.29 00:36:05.00 670159 0 697578 697820 1 24
25 9 9 8 no no 0 0 00:03:36.09 00:39:41.09 697821 0 785766 786199 1 25
26 10 10 8 no no 0 0 00:03:52.25 00:43:34.04 786200 0 873243 873537 1 26
27 11 11 8 no no 0 0 00:01:39.03 00:45:13.07 873538 0 910117 910263 1 27
28 12 12 8 no no 0 0 00:05:09.00 00:50:22.07 910264 0 1027423 1027490 1 28

I did 3 playback tests.

IfoEdit: Shows Chapter 1 for my first chapter, 18 for my second
PowerDVD: Same as IfoEdit
Sony standalone: Same as IfoEdit

What's going on with PgcEdit? :confused:

lamster
13th November 2004, 06:06
Suggestion:

If the currently-selected command is other than a Jump or Link command, and Ctrl+J is pressed, move the selection to the next following Jump or Link command.

This will let you step through simple navigation sequences just by repeatedly pressing Ctrl+J.

r0lZ
13th November 2004, 07:40
Originally posted by 2COOL
@r0lz

Bug?

I have a PGC with one program and holding a VOB/ Cell ID of 2/1.

VTST 1 , 1 TTN 1 (9:02) - Chapters: 1, Programs: 1, Cells: 1

********** pre commands:
********** post commands:
********** cell commands:


Playback time: 00:09:02.04 (at 30 fps)
PG Playback mode: sequential
PUOs: 0 (0x00000000)
NextPGCN: 3
PrevPGCN: 0
GoUpPGCN: 0
PGC Still Time: 0
Audio stream 1 status: 0x00008000 (stream=0)
Audio stream 2 status: 0x00008100 (stream=1)
Subpic stream 1 status: 0x80000000 (streams for 4:3=0, wide=0, letterbox=0, pan&scan=0)

Chap. Prog. Cell Type Layer Res- Still Cell Playback End Entry First Last Last VOB Cell
(PTT) Flags Break tric- Timel Cmd. Time Time VOBU ILVU VOBU VOBU ID ID
ted. sector End Start End

1 1 1 2 no no 0 0 00:09:02.04 00:09:02.04 29855 0 212886 213093 2 1

When I select to change this to 1/1 in PGC Editor dialog, my number of Programs has increased. I should still have a single program here.
VTST 1 , 1 TTN 1 (1:18) - Chapters: 1, Programs: 2, Cells: 1

********** pre commands:
********** post commands:
********** cell commands:


Playback time: 00:01:18.07 (at 30 fps)
PG Playback mode: sequential
PUOs: 0 (0x00000000)
NextPGCN: 3
PrevPGCN: 0
GoUpPGCN: 0
PGC Still Time: 0
Audio stream 1 status: 0x00008000 (stream=0)
Audio stream 2 status: 0x00008100 (stream=1)
Subpic stream 1 status: 0x80000000 (streams for 4:3=0, wide=0, letterbox=0, pan&scan=0)

Chap. Prog. Cell Type Layer Res- Still Cell Playback End Entry First Last Last VOB Cell
(PTT) Flags Break tric- Timel Cmd. Time Time VOBU ILVU VOBU VOBU ID ID
ted. sector End Start End

1 1 1 2 no no 0 0 00:01:18.07 00:01:18.07 0 0 29705 29854 1 1 This is a bug, but it is ONLY in the 0.4.0 beta release you tested for me. It is fixed now.


Also, you have a typo in your PGC dump

"Still Time1" should be "Still Time" Fixed.

r0lZ
13th November 2004, 07:53
Originally posted by 2COOL
I did a IfoEdit split and it seems there is difference in parsing the IFO between IfoEdit and PgcEdit. Here's what I have for disc Title 1.

In Ifoedit, I have Chapter 1 with Program 1.
Parsing the same IFO with PgcEdit, I have Chapter 17 with Program 1.

VTST 1 , 1 TTN 1 (50:22) Title 1 - Chapters: 28, Programs: 12, Cells: 12

Chap. Prog. Cell Type Layer Res- Still Cell Playback End Entry First Last Last VOB Cell
(PTT) Flags Break tric- Timel Cmd. Time Time VOBU ILVU VOBU VOBU ID ID
ted. sector End Start End

17 1 1 2 yes no 0 0 00:10:03.07 00:10:03.07 0 0 166344 166504 1 17


I did 3 playback tests.

IfoEdit: Shows Chapter 1 for my first chapter, 18 for my second
PowerDVD: Same as IfoEdit
Sony standalone: Same as IfoEdit

What's going on with PgcEdit? :confused: In fact, both are right. After your IfoEdit split, in disk 2, the chapters 1 upto 17 are assigned to the same cell (the first one). So, the correct display should be:
1->17 1 1 2 yes no 0 0 00:10:03.07 00:10:03.07 0 0 166344 166504 1 17
Of course, I don't have enough place in the GUI to list all chapters. So, I display only the last one. IfoEdit displays the first one. Both are right.

[EDIT:] Since most standalone players will probably display the first chapter, I've changed this. PgcEdit now displays the first chapter assigned to the cell.

r0lZ
13th November 2004, 07:58
Originally posted by lamster
Suggestion:

If the currently-selected command is other than a Jump or Link command, and Ctrl+J is pressed, move the selection to the next following Jump or Link command.

This will let you step through simple navigation sequences just by repeatedly pressing Ctrl+J. Hummm. This is not a bad idea, but I think it may be somewhat strange to see the selection jump to another place without a real reason.
And, as v 0.4 will have a Trace function that will allow to follow the flow verry easily, I don't think I will implement your idea. Sorry.
Stay tuned right here: v0.4.0 is ready, and will be released today or maybe tomorrow...

r0lZ
13th November 2004, 17:58
PgcEdit 0.4.0 released!

Please post everything related to v0.4 in this thread (http://forum.doom9.org/showthread.php?s=&threadid=85329).

lamster
14th November 2004, 15:54
Originally posted by r0lZ
Hummm. This is not a bad idea, but I think it may be somewhat strange to see the selection jump to another place without a real reason.
Well, the "real reason" is pressing Ctrl+J when something that's not a Jump is selected.

My initial thought was to automatically select the first line whenever a PGC was opened, and to automatically select the first jump or link if you entered by following another jump or link, but I thought that might be too strange for those not trying to trace.

And, as v 0.4 will have a Trace function that will allow to follow the flow verry easily
OK, I'll take a look at that.

Thanks.