Log in

View Full Version : PgcEdit v0.3.


Pages : 1 2 3 4 5 [6] 7 8 9 10

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

Originally posted by Cela

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

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

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

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

Thanks for stimulating my mind Cela!:p

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

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

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

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

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

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


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

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


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

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

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

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

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

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

Cela

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

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

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

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

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

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

Here's my original command

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

Here's my replacement commands

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

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

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

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

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

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

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


Number of VTS_PGCI_SRP 2
End byte of VTS_PGCI_SRP table 717

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

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

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

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

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

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

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


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


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

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

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


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

I am deeply impressed and ever so grateful.

Cela

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

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


Number of VTS_PGCI_SRP 2
End byte of VTS_PGCI_SRP table 717

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

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

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

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

r0lZ
29th October 2004, 01:56
@Cela
Thanks for your kind support.

I'm affraid your wish will be verry difficult to implement. The way the commands are managed internally is highly dependant on the position of the lines in the listbox.

Also, it is not possible to store the comments in the IFOs: you will loose all your comments when you save the DVD. Of course, it is possible to store them in the scratchbook file, but this will require a special treatment to filter out the comments when doing -for example- a cut and paste.

My advice: use a simple text file with all comments and explanations you want, and include the blocks of commands you need to copy/paste later in raw form. You can copy and paste between notepad and the main window directly. Example:VMG , First-Play
1 Set gprm(1) =(mov) 0
2 NOP
{71 00 00 01 00 00 00 00} {00 00 00 00 00 00 00 00}

VMGM PGC2
3 Set gprm(1) =(mov) 0
4 NOP
{71 00 00 01 00 00 00 00} {00 00 00 00 00 00 00 00}
...

You may also use the Import/Export PGC functions if you often need to replace all commands of a PGC with a predefined set of commands.

2COOL
29th October 2004, 03:53
Originally posted by r0lZ

Add PGC is not intended to be used in the Title domain. It will create a dummy PGC in the title domain. This is absolutely illegal.I know that dummy pgcs are supposed to be legally used in the First Play PGC, VMG, and Titleset Menu Domain but with what I see with testing with 2 software players and 2 standalones so far, an illegal dummy pgc in the Title domain seems to be "legal". Of course I have given you actual bug scenarios to challenged PgcEdit's and the DVD specs and you said to some of them that they work. Sometimes, I take myself out of the paradigm of what is supposed to be wrong all the time, is actually right when doing the right tests. Maybe...just maybe...dummy pgcs in the Title Domain can work. Like my signature says "Without vision, we are blind to opportunity."

Originally posted by 2COOL

BTW, can we have a Title 0? I had burnt my backup with this and I didn't have a problems on my finicky Sony standalone. But I did have problems with PowerDVD. There may be more factors to consider though that I haven't found yet on PowerDVD's matter. I have done some edits and have gotten PowerDVD to work now with it's previous chapter skip button! :D:D

In my previous post I gave this discrepancy when adding a New PGC.

BEFORE:


Number of VTS_PGCI_SRP 2
End byte of VTS_PGCI_SRP table 717

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

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

Originally posted by r0lZ

And no, a Title 0 is illegal.I agree. So I went and change my PGC 2's Category Mask to 1, which gave me a Title of 1. I also zeroed out my Category Parental ID mask.

AFTER:


Number of VTS_PGCI_SRP 2
End byte of VTS_PGCI_SRP table 717

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

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

Now, here's my VTS Overviews

BEFORE:

PGC_2 (program chain): [Title(TTN): 0] [00:00:00.00 / 30 fps] (Programs: 0) (Cells: 0)

AFTER:

PGC_2 (program chain): [Title(TTN): 1] [00:00:00.00 / 30 fps] (Programs: 0) (Cells: 0)

Originally posted by r0lZ

And it doesn't update the VMG_TT_SRPT table.I have some leftover IFOs on my HD and one of them had multi-PGCs with holding the same Titles. But looking in their VMG_TT_SRPT table, they aren't listed.

Again, I have tested my edited files with new PGCs added and previously, they played fine except for PowerDVD. :( With the edits above, PowerDVD is very happy. ;)

Originally posted by r0lZ

and a 'creative' user may find it useful.That be me! :D

Before I forget, can you implement the changes to your code when adding a new PGC in the Title Domain for

Category mask = 1
Category Parental ID mask = 0

It would save me time in editing in IfoEdit. ;)

Cela
29th October 2004, 10:18
@r0lZ
Thank you for your friendly and helpful responses. :) I know you are very busy and I do not want to stress your patience. That said, let me please make a last suggestion for the time being for the wonderfully useful Scratchbook.

When adding a block of commands to the scratchbook the 'Goto line numbers' are maintained correctly (that is ok and very useful), but the scratchbook linenumbers do not match (that is a little confusing at first sight).

[00 B1 00 01 00 03 00 03] 14 if ( gprm(1) != 3 ) then { Goto line 3 }
[71 06 00 01 00 02 00 27] 15 Set gprm(1) =(mov) 2 ; LinkPGN Program 39
[00 B1 00 01 00 02 00 05] 16 if ( gprm(1) != 2 ) then { Goto line 5 }
[30 08 00 02 01 C0 00 00] 17 (CallSS) Call the VMGM PGC 2, resume cell 1
[71 00 00 01 00 02 00 00] 18 Set gprm(1) =(mov) 2
[00 00 00 00 00 00 00 00] 19 NOP But when another command block is inserted before that block, then all the 'Goto line numbers' get incremented. That will lead to problems when the Command block is copied back into the vts section.

'Code Sections' for the Scratchbook could be a practical solution.
* Maintain 'Code Sections' with consistent 'Goto line numbers'.
* Each Code section is independent from all others.
* Each Code sectin can be imported and exported to a file independently.
* Import and Export of complete Scratchbook (as now) with all Code sections together should be also supported.
* 'Comments' in Code Sections to improve readability.

Above Example as Code section:

[- Code section - Begin ]
[------ comment --------] VTS2 Pre commands for Movie segment 1
[00 B1 00 01 00 03 00 03] 01 if ( gprm(1) != 3 ) then { Goto line 3 }
[71 06 00 01 00 02 00 27] 02 Set gprm(1) =(mov) 2 ; LinkPGN Program 39
[00 B1 00 01 00 02 00 05] 03 if ( gprm(1) != 2 ) then { Goto line 5 }
[30 08 00 02 01 C0 00 00] 04 (CallSS) Call the VMGM PGC 2, resume cell 1
[71 00 00 01 00 02 00 00] 05 Set gprm(1) =(mov) 2
[00 00 00 00 00 00 00 00] 06 NOP
[- Code section - End --] Agreed, Comments would be only for the Scratchbook and not to be transferred into the Ifo.

I will try out your advices over the weekend. Import/Export PGC functions were already on my study timetable.
Before knowing it better, I guess, I would prefer not to import directly into the ifos but would want to import via the Scratchbook (Code sections in the Scratchbook could be helpful). Then I would want to sort out and edit the commands in the Scratchbook. When I have verified in the Scratchbook that all looks ok, I would be ready to finally copy to the ifo part. With direct import I am too afraid to mess up the ifo part.

Thank you very much. :)

Cela

r0lZ
29th October 2004, 11:07
Originally posted by Cela
When adding a block of commands to the scratchbook the 'Goto line numbers' are maintained correctly (that is ok and very useful), but the scratchbook linenumbers do not match (that is a little confusing at first sight).

But when another command block is inserted before that block, then all the 'Goto line numbers' get incremented. That will lead to problems when the Command block is copied back into the vts section.

'Code Sections' for the Scratchbook could be a practical solution.
* Maintain 'Code Sections' with consistent 'Goto line numbers'.
* Each Code section is independent from all others.
* Each Code sectin can be imported and exported to a file independently.
* Import and Export of complete Scratchbook (as now) with all Code sections together should be also supported.
* 'Comments' in Code Sections to improve readability.
The renumbering feature works also on the scratchbook. If you want to insert/delete lines without the renumber feature, you have to toggle the Renumber GOTOs option.

As I explained before, it is verry difficult to modify the scratchbook behavior. In fact, when I programmed the edit functions, I had a problem: if no DVD is loaded, the edit buttons and menu must be disabled. But I find it easier to add a special command buffer to be able to use the edit functions at any time, without the need to verify that a PGC is currently displayed. I realized that it was useful to use this buffer as an user accessible scratchbook.
Therefore, with the exception of the "*** scratchbook commands:" label, the scratchbook must be exactly like a real PGC's command buffer. Modifying this would require a complete rewrite of the main editor. Sorry.

r0lZ
29th October 2004, 11:14
@2COOL
The Category Parental ID mask not being set to 0 when creating a dummy PGC in the Title domain is a bug. This problem is fixed now, and the Category mask is set to 1, as you requested.

BTW, do you know exactly how a multi-pgc title is supposed to work? For example, after the playback of the first PGC, I don't know if the next PGC is played automatically, or if you need to jump to it explicitly with a post or cell command.


A new version of PgcEdit, with fixes for all problems/bugs you discovered, will be available soon...

mpucoder
29th October 2004, 12:33
If you jump the playback will pause. The right way is to link the PGCs with the "next" and "prev" links (offsets 0x9C and 0x9E)

Dimad
29th October 2004, 14:13
@mpucoder

Can Next, Prev and GoUp links refer to any PGC in the domain? I guess there was a discussion somewhere here that they must refer only to PGCs within same title - which seems strange.

Can they be used in menus? Probbaly yes as LinkNextPGC and others are allowed there.

r0lZ
29th October 2004, 15:57
@mpucoder
If you jump the playback will pause. The right way is to link the PGCs with the "next" and "prev" links (offsets 0x9C and 0x9E)OK.

But what about a PGC with both a next link AND post or cell commands? Does the post commands take precedence?

And if a single-PGC Title has a next link, but no post commands, does the playback continue with the next link, or Exit?

@Dimad
Can Next, Prev and GoUp links refer to any PGC in the domain?Good question. I will check this with my Sony.

GoUp is often used in menus, and almost never in titles. So, I suppose that Next and Prev are allowed anywhere.

mpucoder
29th October 2004, 16:24
Within the title domain Next, Prev, and GoUp are restricted to the same title. A player probably would continue, but change the title number on the front panel display.
The links can be used in menu domains, and can link to any PGC within the domain.

Here's a few tidbits I just learned from playing with Scenarist.
1) A menu (not a sub-menu, but the one with bit 7 set saying it is the entry) cannot have a Prev link. But a title entry PGC can, meaning you could start a title and back up into hidden material.
2) Menues also have a special value for the GoUp link of 65535 (0xFFFF) that means "resume" (the same as executing an RSM)

Next link vs Post command vs cell command - depends on how you get there. If the user hits the next button while viewing the last program of a PGC it will advance to the next PGC without executing the cell or post commands. But if the PGC runs out, the commands will execute and take precedence. Cell commands are executed at the end of the cell, so would take precedence over any post commands.

The only place a next link can point in a single PGC title is to itself. This is legal, and results in endless looping.

There are 2 ways to exit, explicitly with the exit command, or implicitly if there is nothing else to do.

r0lZ
29th October 2004, 18:11
Within the title domain Next, Prev, and GoUp are restricted to the same title. A player probably would continue, but change the title number on the front panel display. When playing with IfoEdit's preview, I've found that it is possible to jump to any PGC in the same domain. I will try to confirm this with my standalone.

1) A menu (not a sub-menu, but the one with bit 7 set saying it is the entry) cannot have a Prev link. But a title entry PGC can, meaning you could start a title and back up into hidden material.
2) Menues also have a special value for the GoUp link of 65535 (0xFFFF) that means "resume" (the same as executing an RSM) Verry interesting!

If the user hits the next button while viewing the last program of a PGC it will advance to the next PGC without executing the cell or post commands. But if the PGC runs out, the commands will execute and take precedence. There is one exception to this: if the next link of a PGC point to itself, the post commands will execute when the next button is pressed while viewing the last program.
The only place a next link can point in a single PGC title is to itself. This is legal, and results in endless looping. ...unless a post command will jump elsewhere.

2COOL
29th October 2004, 19:24
Originally posted by r0lZ
@2COOL
The Category Parental ID mask not being set to 0 when creating a dummy PGC in the Title domain is a bug. This problem is fixed now, and the Category mask is set to 1, as you requested.Thanks!;)

BTW, do you know exactly how a multi-pgc title is supposed to work?
For example, after the playback of the first PGC, I don't know if the next PGC is played automatically, or if you need to jump to it explicitly with a post or cell command.My new PGC 2 was a non-entry PGC and it's Pre commands didn't execute. In fact after the normal play of last chapter of PGC 1, it went into its own Post commands afterwards. I would've known if PGC 2 would be used since I would be jumping to somewhere else.

A new version of PgcEdit, with fixes for all problems/bugs you discovered, will be available soon... C

I'm going to ask a stupid question since I couldn't find any good references. But, what's the clarifications between a entry PGC and a non-entry PGC? If it's flagged as non-entry, you can't access it?

2COOL
29th October 2004, 19:31
Originally posted by mpucoder
Within the title domain Next, Prev, and GoUp are restricted to the same title. Nice to hear some good news on a Friday morning.

@r0lZ

I was thinking...instead of New PGC...it should be Add dummy PGC? I mean the new PGC doesn't have video or audio content, right?

mpucoder
29th October 2004, 20:40
The PGC flagged as entry is the one entered when a jump is made to a title, ie it's the starting point for that title.

2COOL
29th October 2004, 21:57
Originally posted by mpucoder
The PGC flagged as entry is the one entered when a jump is made to a title, ie it's the starting point for that title. I see now. If I had multi-PGCs with the same Title, only one of them will be flagged as entry. Or else, if you had a Jump to Title command, it would be confused on which PGC to jump to. Thanks mpucoder!

@r0lZ

Is this (http://forum.doom9.org/showthread.php?s=&postid=560844#post560844) still possible?

2COOL
29th October 2004, 23:36
@r0lZ

I think your disclaimer on dummy PGCs in Title Domain when doing New PGC should be rewritten. They are OK if used in multiple PGC with same Titles and set to non-entry. I hope I read the previous posts right.

Also,
Should I create the following PGC?
VTST 1, TTN 2This PGC is does not apply to what's shown in PGC Selection afterwards.

dave2003
31st October 2004, 01:23
Originally posted by r0lZ
Hi everybody.
PgcEdit v0.3 is released.

Very nice! Thanks!

Cela
31st October 2004, 21:57
How can I edit (add, replace, modify, delete) menu button commands?

Please excuse me, I must have missed or overlooked that issue. I still do it with DvdReMake Pro which means timeconsuming exporting all VOBs after each edit step.

Regards
Cela

2COOL
31st October 2004, 22:14
Originally posted by Cela
How can I edit (add, replace, modify, delete) menu button commands?You can't do it with PgcEdit but I have faith in r0lZ that one day, he'll learn how to implement that. PgcEdit has progressed wonderfully. If only we can get full previewing capabilities.

I still do it with DvdReMake Pro which means timeconsuming exporting all VOBs after each edit step."timeconsuming"? You should've been there back in the days before MenuEdit came around and we all had to do it manually. It was worse working with motion menus that had all those hundreds and hundreds of nav packs!

r0lZ
31st October 2004, 22:42
#Cela
How can I edit (add, replace, modify, delete) menu button commands? Menu commands edition is planned for a future release. I just need some time...

@2COOL
"timeconsuming"? You should've been there back in the days before MenuEdit came around and we all had to do it manually. It was worse working with motion menus that had all those hundreds and hundreds of nav packs!BTW, Have you noticed that most of the time it is sufficient to change the parameters in the first NAV pack?

2COOL
31st October 2004, 22:55
Originally posted by r0lZ
@2COOL
BTW, Have you noticed that most of the time it is sufficient to change the parameters in the first NAV pack? I wish we HAD that tip back then. I was still a newbie. :(

CoNS
1st November 2004, 08:51
Originally posted by Cela
I still do it with DvdReMake Pro which means timeconsuming exporting all VOBs after each edit step.With MenuEdit, which Dimad made before DvdReMake Pro, you edit the files as they are, without exporting to new vobs afterwards. For the same reason I use MenuEdit instead of DvdReMake Pro for hiding menu buttons etc.

Cela
1st November 2004, 10:22
@r0lZ, 2COOL, CoNS

"...timeconsuming..." - yes, compared with PgcEdit ;)

Thanks for your patient help. :)

Another - (for this week the last, I promise!) - newbie question:
How can I replace the VTS vobs of, let's say, VTS3 by a 'Insert Disk 2' vob, preferably keeping the Pre and Post commands (navigation structure) of the original VIDEO_TS.

Last night I wanted to split a VIDEO_TS which i authored with DVdD-lab for DL burning into two parts for Single Layer DVD burning. Being too tired to have an idea, I had to give up. And this morning, still too uninspired to have an idea.

Regards,
Cela

r0lZ
1st November 2004, 12:12
How can I replace the VTS vobs of, let's say, VTS3 by a 'Insert Disk 2' vob, preferably keeping the Pre and Post commands (navigation structure) of the original VIDEO_TS. Try a Blank Out All VTST Titles, and select the option Replace all Titles by an Imoprted Clip.
Note that this function will replace ALL titles of the current VTS.

r0lZ
1st November 2004, 12:25
PgcEdit v0.3.7 released.

version history: A. Blanking a cell (in VOB/Cell ID remapper) works now for all platforms.
A. It is now possible to enter an ASCII string (for example a language code) in any numeric field of the Command Editor by prefixing the string with ' (single quote character, aka apostrophe). Example: 'en = 25966
E. PGC Editor: GoUp (Return) value can now be Resume (0xFFFF) for a Menu PGC.
E. "Enable Navigation Buttons" has now an option to enable the GoUp (Return) button to resume to the Title domain from any non-dummy Menu PGC.
E. Calls Cross References: now display also the PrevPGC, NextPGC and GoUpPGC links, but do not display anymore the calls to the same PGC. The Unreferenced PGCs list is therefore more accurate.
E. Disassembly: New error messages:[list=1] Set gprm(n) ?=(rnd) <ILLEGAL VALUE 0 FOR ?=(RND) OPERATOR>
Set gprm(n) /=(div) <ILLEGAL VALUE 0 FOR /=(DIV) OPERATOR>
Set gprm(n) %=(mod) <ILLEGAL VALUE 0 FOR %=(MOD) OPERATOR>
(SetAMXMD) Set Karaoke Audio Mixing Mode =(mov) <ILLEGAL VALUE 1...>
(SetGPRMMD) Set gprm(n) =(mov) <ILLEGAL SPRM OPERAND sprm(n)>[/list=1] E. The value field of SetAMXMD is now replaced by 6 checkboxes in the GUI.
E. Selecting an item in the Command Editor menu "Numerically -> 40-D0: Set" now update the value/GPRM/SPRM radiobuttons automatically in the GUI.
F. As the SetGPRMMD source operand may not be a SPRM, the SPRM option has been removed from the Command Editor GUI.
F. 'Blank all PGCs in Domain' now correctly update the video, audio and subpic attributes in VMGM_MAT/VTSI_MAT/VMG_VTS_ATRT tables.
F. 'Blank all PGCs in Domain' (when blanking w/o kill playback): the video was sometimes unplayable. Now fixed (thanks to jsoto)
F. Command Editor: The maximum number of PGCs is now 32767. (Was 65535)
F. Set used with AND, OR, XOR or RND was unable to disable the LinkNoLink.
F. GOTOs in pasted lines with Paste Replace were renumbered in some cases.
F. New PGC: When creating a new PGC in the Title domain, the VTS_PGCI table is now correctly updated.
F. Target highlighting and "Jump To Target", when used in a multi-PGC title, were unable to find the target of JumpVTS_PTT and LinkPTT if the chapter was in another PGC belonging to the same Title.
F. Error launching PgcEdit when the TEMP directory is not writable trapped.
F. Error in the Uninstall procedure fixed.
Note: most of the bug fixed in this release were discovered by 2COOL. See this post, above (http://forum.doom9.org/showthread.php?s=&threadid=79853&perpage=20&pagenumber=12#post562497).
2COOL, thanks for this, and for your new guide (http://home.tiscali.be/debie.roland/pgcedit/third_party/2cool/previous_chapter/intro.htm)!

blutach
2nd November 2004, 00:14
@r0lz - Thanks, thanks and more thanks! PgcEdit just keeps getting better and better!!

@2COOL - Real nice guide (as usual :))- I guess it can be used for "flippers", as well as episodic DVDs. In these cases, I have been using Nero Recode's Merge Titles function followed by IfoEdit's Create IFOs function, which builds a new chapter table. I have found this to work very well. Your thoughts?

blutach
2nd November 2004, 00:15
@r0lz - Why would anyone want to uninstall PgcEdit :D :D :D

2COOL
2nd November 2004, 00:45
Originally posted by blutach
@2COOL - Real nice guide (as usual :))- I guess it can be used for "flippers", as well as episodic DVDs. In these cases, I have been using Nero Recode's Merge Titles function followed by IfoEdit's Create IFOs function, which builds a new chapter table. I have found this to work very well. Your thoughts? It works but not free. ;) Besides, I was just providing another optional undocumented method with post DVD Shrink re-authoring.

CoNS
2nd November 2004, 08:49
Originally posted by r0lZ
PgcEdit v0.3.7 released.Yeah, baby, yeah!! :D KUTGW - it's a great proggy, simply awesome

2COOL
2nd November 2004, 20:28
@jeanl

From the Voblanker thread...

Originally posted by 2COOL
@jeanl

I guess I'll be using TSB for the time being until PgcEdit and VobBlanker get fixed on this matter.

PgcEdit v0.3.7 released.

version history: F. 'Blank all PGCs in Domain' now correctly update the video, audio and subpic attributes in VMGM_MAT/VTSI_MAT/VMG_VTS_ATRT tables.

PgcEdit 0.3.7 can now remove the stream attributes when blanking so that's it for TitleSet blanker for me. :) I agree. The good thing about TSB is that for the backup ~ files feature. I just wish they could be put into a backup folder instead on the same folder with the movie. Well, I can live without it.

r0lZ
2nd November 2004, 20:38
The good thing about TSB is that for the backup ~ files feature. I just wish they could be put into a backup folder instead on the same folder with the movie. That's exactly what PgcEdit do. Or do you want another backup when balnking?

2COOL
2nd November 2004, 20:42
Originally posted by r0lZ
That's exactly what PgcEdit do. Or do you want another backup when balnking? I ws referring to TSB but no, I'm satisfied with PgcEdit's backup setup for the moment.

BTW, got any hints of new macros on the near future?

jeanl
2nd November 2004, 21:17
PgcEdit 0.3.7 can now remove the stream attributes when blanking so that's it for TitleSet blanker for me. I agree. The good thing about TSB is that for the backup ~ files feature. I just wish they could be put into a backup folder instead on the same folder with the movie. Well, I can live without it.

OK, now I feel like I have to justified my preference for titlesetblanker... ;)
Here's why I tend to use it first (well, anytime I need to blank a whole titleset, which is actually 99% of the time).

- The UI is extremely simple
- You mark all the VTS and VTSM you want to blank, click blank done: everything is done in one shot. That's a big plus. In PgcEdit, you have to do it VTS by VTS, but other than that, it's pretty quick. In vobblanker, it's one order of magnitude slower, because you have to pay attention to which VTS you "process" and which you "skip" and you have to copy everything you skipped into the destination folder by hand. Here, I'm talking about "quick" processing (no VOB reading/writing, just overwriting).

Oh and I don't mind the backup files being in the same directory, cause I destroy them when I'm done. What's the problem with that anyway? When you want to calculate the total size???

I haven't run into any problem with titlesetblanker, but I understand that they do exist. In my optimism, I'm guessing I'll never run into any problem, until the day comes when I do, and then I guess I'll switch to PgcEdit!!!!

I use PgcEdit for a bunch of other stuff, like skipping stuff that's in a titleset I want to keep, bypassing unwanted menus, and setting default subtitles/audio tracks. And I love it! But for quickly blanking whole titlesets, I think I'll stick to TSB for now...

Jeanl

blutach
2nd November 2004, 21:34
Guess I better add my 2 cents worth since this is a forum and we are all friends :)

Originally posted by jeanl
OK, now I feel like I have to justified my preference for titlesetblanker... ;)
Here's why I tend to use it first (well, anytime I need to blank a whole titleset, which is actually 99% of the time).

- The UI is extremely simple ... So is PgcEdit!!!

Originally posted by jeanl
- You mark all the VTS and VTSM you want to blank, click blank done: everything is done in one shot. That's a big plus. In PgcEdit, you have to do it VTS by VTS, but other than that, it's pretty quick. In vobblanker, it's one order of magnitude slower, because you have to pay attention to which VTS you "process" and which you "skip" and you have to copy everything you skipped into the destination folder by hand. Here, I'm talking about "quick" processing (no VOB reading/writing, just overwriting). Agreed, but the extra control you get doing things one at a time is better IMHO. And no-one can say that having the VOBs in a "backup folder" is a bad thing...just in case (I usually end up with 4 or 5 backup folders so I can "rollback" in case I make an error - which is a lot of the time :D

And, of course, with VobBlanker, you get the great ability of processing cell by cell. This is fantastic control over the DVD.

PgcEdit & VobBlanker 4 me. (Maybe we should open a poll?)

Regards

blutach
2nd November 2004, 21:37
Originally posted by 2COOL
It works but not free. ;) Besides, I was just providing another optional undocumented method with post DVD Shrink re-authoring. I suspect (but have never tried it) that DVD Shrink can do it (the merge titles bit), too.

Takes nothing away from your guide, tho, which I'm sure I will use.

Regards

blutach
2nd November 2004, 21:42
Originally posted by CoNS
Yeah, baby, yeah!! :D KUTGW - it's a great proggy, simply awesome Aaahhh, yes, figured it out ... "Keep Up The Good Work". Am not an "acronymer"

And yes r0lZ - KUTGW, I second CoNS's thoughts.

Regards

r0lZ
2nd November 2004, 22:44
@2COOLBTW, got any hints of new macros on the near future? Sorry, I will not add new macros (except perhaps verry simple ones) in the near future. As I said elsewhere, I want now to stabilize completely the current version, complete the Trace (almost done), and implement button commands edition before. That's a lot of work!

@blutachAnd, of course, with VobBlanker, you get the great ability of processing cell by cell. This is fantastic control over the DVD. It's possible also with PgcEdit. In the cells table, click on the VOB/Cell ID button of the cell you want to blank out, and select Create a new blank VOB cell. But VobBlanker is still more powerfull: PgcEdit do not replace the old cell by a blank one; it just add a blank cell to the VOB, and assign it to the current PGC cell.

Also, DVDShrink is now able to replace a PGC with a still frame. Honestly, I think it is the best solution, when you need to shrink the DVD. It's easy, and you have full preview capabilities.

jeanl
2nd November 2004, 22:48
Originally posted by r0lZ

Also, DVDShrink is now able to replace a PGC with a still frame. Honestly, I think it is the best solution, when you need to shrink the DVD. It's easy, and you have full preview capabilities.
Sorry about my ignorance, is that in full-backup mode or in re-author mode?
Jeanl

r0lZ
2nd November 2004, 22:54
Both. Just select 'still image' in the compression tab.
Wou need v3.2 for this.