PDA

View Full Version : PgcEdit v0.3.


Pages : [1] 2

r0lZ
17th July 2004, 23: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, 13: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, 17:50
Great!!! Now I have something to play with. Thanks!!

FFS

jorel
19th July 2004, 19: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, 02: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, 19: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, 21: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, 22: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, 22: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, 23: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, 23: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, 10: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, 12: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, 14: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, 15: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, 15: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, 15: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, 17: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, 20: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, 20: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, 20:43
no.i'll try it when i get home to night.

SurfDrifter
26th July 2004, 23: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, 01: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, 07: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, 09: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, 11: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, 11: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, 18: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, 19: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, 22: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, 23: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
28th July 2004, 00:50
talk about fast response!

It works like a dream, thanks again!

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

2COOL
28th July 2004, 09: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, 09:31
*removed

r0lZ
28th July 2004, 10: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, 01: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, 23: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
30th July 2004, 00: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, 17: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, 18: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, 18: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, 17: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, 20: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, 23: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, 07: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, 21: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, 21: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
13th August 2004, 00: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, 01: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, 21: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, 21: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, 21: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, 02: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, 10: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, 11: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, 11: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, 18:25
@2COOL
I've found the problem. Should be fixed in the next release. Read your mails for more infos...

2COOL
16th August 2004, 21: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, 23: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, 20: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
20th August 2004, 00: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, 01: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, 02:33
Thanks for the education. ;)

2COOL
4th September 2004, 04: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, 10: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, 08: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, 10: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, 21: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
13th September 2004, 00: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, 05: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, 08: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, 09: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, 19: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, 22: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, 02: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, 02: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, 07: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, 09:32
You sure take a long time writing your reply, jsoto. ;P

jsoto
14th September 2004, 09: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, 10: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, 10: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, 10: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, 10: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, 10: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, 11: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, 11: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, 11: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, 11: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, 02: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, 03: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, 05: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, 10: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, 02: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, 06: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, 10: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, 16: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, 19: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, 20: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, 20: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, 10: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, 19: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, 20: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, 12: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
19th September 2004, 00: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, 05: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, 11: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, 17: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, 18: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, 09: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, 08: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, 08: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, 04:56
Originally posted by r0lZ
Is it what you want? In a way, yes.

2COOL
29th September 2004, 05: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, 10: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, 18: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, 18: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, 20: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, 03: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, 09: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, 06: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, 11:24
...Save DVD performs a "Get VTS Sectors"? Yes.

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

r0lZ
4th October 2004, 18: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, 19: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, 01: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, 02:28
@2COOL

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

2COOL
5th October 2004, 02: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, 04: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, 12: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, 12: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, 12: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, 13: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, 17: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, 18: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, 01: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, 02:19
OK! But it's a bug in the forum! :angry: Smileys should not be displayed between [code] marks...

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

r0lZ
7th October 2004, 02: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, 02: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, 02: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, 10: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, 14: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, 14: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, 16: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, 17: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, 02: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, 02: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, 03: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, 03: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, 18: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, 20: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, 06: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, 09: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, 10: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, 11: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, 12: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, 12: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, 13: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, 13: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, 13:35
Screen shot follows

Help!

r0lZ
13th October 2004, 13: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, 13: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, 13:57
Originally posted by blutach
Screen shot follows

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

blutach
13th October 2004, 14: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, 14: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, 14: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, 14: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, 18: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, 18: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, 18: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, 22: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, 23: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, 23: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, 23: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, 23: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, 23: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, 23:37
Hey 2COOL, you want to ask them?
:)
jeanl

2COOL
13th October 2004, 23: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, 01: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, 18: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, 18: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, 07: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, 08: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, 10: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, 17: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, 17:30
Hi sweetness,

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

r0lZ
20th October 2004, 15: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, 15: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, 15: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, 16:50
Thanks a lot... didn't catch that one before.

jeanl
20th October 2004, 18: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, 18: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, 18: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, 19: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, 20: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, 21: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, 23:31
PGCEdit just keeps getting better and better.

Thanks r0lZ

From your biggest fan

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

2COOL
21st October 2004, 00: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
21st October 2004, 00: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, 01: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, 10: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, 11: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, 11: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, 11: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, 12: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, 16: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, 16: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, 16: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, 18: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, 22:28
Thanks, bro. It's done and the latest version is now installed. Cheers!

Kilyan
22nd October 2004, 03: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, 05: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, 10: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, 11: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, 11: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, 05: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, 05:33
@2COOL

Oh yeah!

blutach
23rd October 2004, 06: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, 07: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, 09: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, 14: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, 03: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, 08: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, 12: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, 01: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, 02: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, 09: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, 09: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, 10: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, 11: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, 11: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, 12: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, 13: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, 13: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, 13: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, 13: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, 14: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, 14: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, 14: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, 14: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, 15: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, 22:05
@r0lZ

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

2COOL
27th October 2004, 23: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, 23: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, 23: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, 23: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
28th October 2004, 00: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
28th October 2004, 00: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)