Log in

View Full Version : PcgEdit "feature" request - sort of


CirTap
4th September 2005, 02:46
r0lZ,

I was wondering if it'd be possible to add user-defined "Labels" to the items in the PGC pane?
The right column by default displays "TitleM", "RootM", or the "Title #". I'd be extremely helpful when (re-)authoring complex DVDs if one could assign a label to the "un-named" with something more useful for a general purpose, non-numeric human brain to capture instantly, instead of deciphering a long list of entries such as VTSM 1, LU 1 (en), 1 (0:55) 8b. RootM
VTSM 1, LU 1 (en), 2 (0:55) 8b.
VTSM 1, LU 1 (en), 3 (1:14) 12b.
VTSM 1, LU 1 (en), 4 (1:14) 12b.
VTSM 1, LU 1 (en), 5 (1:02) 10b.
VTSM 1, LU 1 (en), 6 (0:00) 8b.
VTSM 1, LU 1 (en), 7 (0:00) 6b.
VTSM 1, LU 1 (en), 8 (0:00) 14b.
VTSM 1, LU 1 (en), 9 (0:09) 180b.
VTSM 1, LU 1 (en), 10 (0:09) 180b.
...
VTSM 1, LU 1 (en), 41 (0:34) 210b.
VTSM 1, LU 1 (en), 42 (0:33) 207b.
VTSM 1, LU 1 (en), 43 (0:03) 21b.
VTSM 1, LU 1 (en), 44 (0:04) 27b.
...
VTST 1, 1 TTN 1 (1:13:04) Title 1
VTST 1, 2 TTN 2 (0:02) Title 2
repeatingly pressing Ctrl+P, and maintain and look up a pile of papers with handwritten notes for each item.

Here's why:
I recently tried to re-author a DVD which happened to have this insame number of "elements" (the above is a tiny excerpt of VTS1), and it was a very tedious and time-swallowing task to recap the purpose of the titles and menus therein. The disc has a great number of extras, image galleries, and each comes with a multi-lingual menu and loads of (forced/auto) subtitles.
The "DVD Commands" written to a text file made up ~4300 lines; so this is some very busy DVD!
Just to give you some numbers:
VMG : 7 menus (dummies to set GPRMs and jump to the various VTS)
VTS 1: 50 menus, with 20 being image galleries
2 titles; main movie + some lead-out
VTS 2: 1 menu (dummy, jumps to VMG)
1 title
VTS 3: 10 menus (for each supt. language)
1 title (studio trailer)
VTS 4: 1 menu (dummy, jumps to VMG)
1 title (extra2)
VTS 5: 1 menu (dummy, jumps to VMG)
11 titles (extras, outtakes, making of, trailers, etc)
VTS 6: 1 menu (dummy, jumps to VMG)
2 titles (other movies commercials from the studio)
VTS 7: 1 menu (dummy, jumps to VMG)
2 titles (specials)
I don't consider this a "normal DVD layout", and even the LOTR/SEE disc 3+4 were much simpler :)

However, It'd be incredibly handy, if one could optional label a PGC like in any other "Authoring programm", and to me, PgcEdit fully belongs into this category, right? <g>
Yes, I know this *may* have an impact on many places, and *may* require a lot of additional entries, but it *must* not. Just read on, please :-)

It's main windows won't fit on a 800x600 screen anyway to display all the buttons in the toolbar, and 1024 is a pretty standard screen resolution. This would allow to enlarge the PCG list slightly to display the labels, and the longest VM command which forced scrollbars even @ 1024 was
" 10 if ( gprm(0) == sprm(2:Sub-picture stream number) ) then { (SetSTN) Set Sub-picture stream = 9, on }"
however, the majority of commands is half this length ;)

While the "width problem" of the PGC pane would only apply if its positioned to the left/right of the window, switching to top/bottom would "solve" this almost automatically. If user-defined labels could make more than just 10 characters, it'd be ok if they are truncated when the pane's positioned on the L/R, but maybe show up in their full size as an additional column in the top/bottom view.
Having an "Increase/decrease width" command in the View-Menu would be nice, but not really necessary imho, as you'll find out if you read on :-)

I'm aware that adding a "Label" would certainly affect the formatting of the "Display PGCs list as text" feature as well. I misused its output temporarily, but it contains way too much "information noise" to be edited out.
On the other hand, something like this:
...
VTSM 1 , LU 1 (en) , 41 (0:34) 210b. (Programs: 71, Cells: 71)
VTSM 1 , LU 1 (en) , 42 (0:33) 207b. (Programs: 70, Cells: 70)
...
VTSM 1 , LU 1 (en) , 48 (0:24) 150b. (Programs: 51, Cells: 51)
VTSM 1 , LU 1 (en) , 49 (0:09) 54b. (Programs: 19, Cells: 19)
VTSM 1 , LU 1 (en) , 50 (0:02) 15b. (Programs: 5, Cells: 5)
VTST 1 , 1 TTN 1 (1:13:04) Title 1 (Chapters: 21, Programs: 21, Cells: 22)
could become
...
VTSM 1 , LU 1 (en) , 41 (0:34) 210b.imgs city (Programs: 71, Cells: 71) "imgs city"
VTSM 1 , LU 1 (en) , 42 (0:33) 207b.imgs props (Programs: 70, Cells: 70) "imgs props"
...
VTSM 1 , LU 1 (en) , 48 (0:24) 150b.imgs creat (Programs: 51, Cells: 51) "imgs creatures"
VTSM 1 , LU 1 (en) , 49 (0:09) 54b. imgs conce (Programs: 19, Cells: 19) "imgs concepts"
VTSM 1 , LU 1 (en) , 50 (0:02) 15b. Posters (Programs: 5, Cells: 5) "Posters"
VTST 1 , 1 TTN 1 (1:13:04) Title 1 (Chapters: 21, Programs: 21, Cells: 22)

Misusing the "Title" column, labels would be truncated to the 10 chars available there, but appear in full length at the end. As they're only a "hint", 32-40 characters should be more than enough, eve for such a monster DVD like the one I ran into.
The PGC pane could or even become "over-simplified" for a "fast human-readable access" via some possible "Switch PGC details/Labels" menu:
...
VTSM 1, LU 1, 41 210b. imgs city
VTSM 1, LU 1, 42 207b. imgs props
...
VTSM 1, LU 1, 48 150b. imgs creatures
VTSM 1, LU 1, 49 54b. imgs concepts
VTSM 1, LU 1, 50 15b. Posters
VTST 1, TTN 1 21 Main movie
If a PGC has no user-defined "Label" it may default to "VTSM#_#", maybe adding "dummy" if it is one, and "VTST# TTN#" for titles. To navigate and locate an item, this is usually enough, and one can still flip to the "numerical details" if necessary.

A "Label" could also appear in the PGC Editor's window title, like "Title #" does now -- just for consistancy <g>

Some ideas on how the user may add/save these labels:
- in the context menu of PGC: "Add Label", pops up a dialog with a single text edit field
- in File menu: "Export Labels" to a text file for (quick) external editing, and "Import Labels" for the reverse

If this was some INI file with sections for each VTS, keyed by the PGCs, and the labels as a value. this would allow the user to save them between editing sessions:
[VTS_01_0]
PGC_1 = Main menu EN
PGC_2 = Main menu DE
...
PGC_41 = imgs city
PGC_42 = imgs props
...
PGC_48 = imgs creatures
PGC_49 = imgs concepts
PGC_50 = Posters
TTN_1 = main movie
I believe it'd add a bit more user friendliness to this - by all means!! -- excellent application, and take a bit off the "hacker feeling" one has if one sees all those digits and acronyms.

Just an idea, and thanks for reading <gg>

Have fun,
CirTap

r0lZ
4th September 2005, 13:01
I's a good idea.
Some time ago, I had plans to let the user add some comments in the commands pane. But that's too difficult to do.
However, adding a label in the PGC Selector pane (or, at least in the current PGC label on the top of the window) is much easier. It should be possible also to save them automatically in a predefined place.
But don't expect that soon. I have many other additions to do before thinking at the interface...

CirTap
12th September 2005, 14:26
hi,
thanks for considering this, I do really appreciate!
It'd be a pure "nice to have", so there's no urge :-) I helped myself with a text editor to hold the "labels", and resized/positioned PgcEdit's window above it. it's been a bit tricky to adjust the font and their size in the editor so the labels line up with the PGC-pane :)

Have fun,
CirTap

r0lZ
30th September 2005, 16:07
I have added the ability to add user comments in the PGC labels.
The comments can be edited, exported and imported.
There is also a new option to save them automatically in the current backup folder when the DVD is saved, and restore them when it is loaded.

Also, I have added an option to generate automatically some comments when using some functions.
Currently, this feature is available with:
- Import Startup/Intro/Closing Clip (the new PGCs are documented)
- Calls Cross References (the unreferenced PGCs are marked)
Let me know if you think at other automatic comments...

This new feature will be available with v0.6.1 final.

zacoz
30th September 2005, 16:10
It just keeps getting better and better. Thanks r0lZ.

CirTap
30th September 2005, 16:43
wow, that's nice! thanks a billion :-)
can't wait to see and use this!
Let me know if you think at other automatic comments...hmm, dunno: maybe re-label "(dummy)" menus w/o any commands as "(blank)", "(void)", or "(empty)"? They must not fall under the unreferenced category (yet), but may become "useless" after some extensive reauthoring or blanking stuff out*)
I don't know if you could likewise just change the font into italics in that case instead of adding an automated label? fully up to you, of course :)

obviously one of the first things I'd do would be to label the main movie "Movie" :) so it'd make sense to auto-add such a label to the largest (longest) title when a (new) DVD is opened (or "re-scanned"), and "Extra #" to the smaller ones and replace # with the existing title number for simplicity -- stuff like this.
Finally, I'm sure some people would not like the automatic hinting, so you should consider this to be an "option" in the preferences, similar to "search BOVs" :)

would user edited labels be preserved or do "auto-labels" override what they found?

Have fun,
CirTap

*)actually I don't recall if it's possible at all (in PgcEdit) to drop a single menu (PGC) from someplace in the middle if it became useless.

r0lZ
30th September 2005, 17:54
hmm, dunno: maybe re-label "(dummy)" menus w/o any commands as "(blank)", "(void)", or "(empty)"? They must not fall under the unreferenced category (yet), but may become "useless" after some extensive reauthoring or blanking stuff out*)Such PGCs must be unreferenced, or the navigation will stop when reaching them (unless there is a NextPGCN link). I don't think this is something frequent.

I don't know if you could likewise just change the font into italics in that case instead of adding an automated label? fully up to you, of course :)No, it is impossible to change the font in the middle of a line in a listbox. But comments added automatically by PgcEdit are enclosed between < and > symbols.

obviously one of the first things I'd do would be to label the main movie "Movie" :) so it'd make sense to auto-add such a label to the largest (longest) title when a (new) DVD is opened (or "re-scanned"), and "Extra #" to the smaller ones and replace # with the existing title number for simplicity -- stuff like this.I though at something like that, but it's not so easy. Sometimes, there is a bonus longer than the main title. Also, the case of episodes is difficult. Anyway, I think that it is simple enough to look at the title duration to figure out what it is.
Also, I don't want to write 'guessing' functions like that. I think that the comments are useful if you put something really relevant in them, and that can be made only with human eyes, and brain!

Finally, I'm sure some people would not like the automatic hinting, so you should consider this to be an "option" in the preferences, similar to "search BOVs" :)As I said, the automatic annotations feature can be globally turned off with an option.

would user edited labels be preserved or do "auto-labels" override what they found?The automatic labels are added only when there is enough room to hold the previous contents and the new text. Also, if you run the same function several times, the text is added only if it was not present before.

*)actually I don't recall if it's possible at all (in PgcEdit) to drop a single menu (PGC) from someplace in the middle if it became useless.Currently, it's not possible. To do that safely, I must renumber a lot of commands. Maybe later.
However, it is already possible to swap or copy a PGC with another one. (But in this case, the VM commands are not renumbered!) With the function to delete the last PGC in the current domain, you can rearrange the PGCs you really need to prepare the DVD for a manual reauthoring.

CirTap
30th September 2005, 19:02
Such PGCs must be unreferenced, or the navigation will stop when reaching them (unless there is a NextPGCN link).well that's the point :-) "Delete all commands in Domain" could result in plenty such "void" menus in the first place, while some not-yet-edited VM commands may still contain links to them. I barely edit and complete one DVD in one go, but save the current status and come back (days) later. hence the whole idea of labels and such, as it helps to remember :D (I'm getting old, you know)
I don't think this is something frequent.certainly nothing that happens with a fresh backup... I though of this as a visual aid while the editing is still in progress.
I ran into two DVDs just recently where there were a zillion dummy VMGMs with only a single JumpVTS_* to the various titles, any of them called from almost as many VTSM "scripts" containing tons of GPRM math and GOTOs; most totally redundant "code" copied into each titleset; very busy menus that weren't really fun to use.
The whole "logic" of back-and-forth jumping between menus became totally useless after I reauthored the content "to my needs", keeping/merging some of the original menus (visually), then replaced this roller coaster with one "master script" having a few IF-GOTOs with the remaining JumpVTS_*. During editing there was a lot of "PGC junk" visible (but indiguisable from the rest), and it would have been of help to see which ones are crap or not.
I must confess, that I don't know if I only had to run the "Find jumps to nowhere" whenever I removed the original VMGM calls. I also haven't yet made it to fully understand the long impressive output from the cross-reference <g>
So it may already be implemented in some way 8)
No, it is impossible to change the font in the middle of a line in a listbox. But comments added automatically by PgcEdit are enclosed between < and > symbols.<very> <nice>
I actually though of the whole line of such a "void" menu to be in italics, not just the label; like you change the background color. I believe one can't even do this font-switching inside lists with the native Win-API calls/controls, so I didn't expect Tcl/Tk to allow this either. Sorry, I should have been more precise ;)
You asked for ideas and I was just thinking out loud :D

Have fun,
CirTap

CirTap
30th September 2005, 19:17
However, it is already possible to swap or copy a PGC with another one. (But in this case, the VM commands are not renumbered!) With the function to delete the last PGC in the current domain, you can rearrange the PGCs you really need to prepare the DVD for a manual reauthoring.
how 'bout this workaround:
- I can export the commands
- switch/drop the menus I don't want
- remove all commands across domains
- rename the exported files accordingly
- re-import the relevant *.pcg files into the new structure
and if I'm lucky there isn't much search & replace to do :D

Have fun,
CirTap

r0lZ
30th September 2005, 19:30
Hum, yes, I may write a plugin to mark the empty PGCs. It's easy! But I don't want to add too many 'obscure' functions in PgcEdit's main program, and IMHO, what you want cannot be useful to most users.

And, no, it is also impossible to change the font of the listbox on a per line basis. It is however possible to change the color of the background or foreground of the line, but I use already this trick to hilite played PGCs in trace mode, and unreferenced PGCs after running Calls Cross Reference. And the highlights are lost whenever something must be changed in a PGC label.

BTW, the Calls Cross Reference output is usually impressive, but easy to understand. For each PGCs, it lists the commands and the Next/Prev/GoUpPGCN links that calls it. At the end of the output is also the list of unreferenced PGCs, and the calls to nowhere.
I have written this function to be able to find easily the calling commands of a PGC, but now I prefer to use the Go To Calling Command and the Find Jumps to Nowhere functions. The original function is still useful to mark the unreferenced PGCs, and to remove the commands in them.

CirTap
30th September 2005, 23:28
nah, don't bother - I was (madly) brainstorming, and I'm sure I don't have the casual habit of editing DVDs :D -- there are about 7 DVDs on my hard drive that require some final touch up, and any "hint" I can get when I get back would help ... me ;)

The "Go To Calling Command" is one of my favorites btw, and very handy.

CirTap

Taelon
1st October 2005, 00:30
I love Ctrl-G, but Ctrl-J is a pain to reach.

@r0lZ, On the subject of plugins, would it be possible to modify the "Set PUOs in current domain" to have a text entry field, so that the desired settings could just be copy and pasted in, instead of clicking the selections?

CirTap
1st October 2005, 00:39
I love Ctrl-G, but Ctrl-J is a pain to reach *LOL* -- agree

r0lZ
1st October 2005, 13:08
@r0lZ, On the subject of plugins, would it be possible to modify the "Set PUOs in current domain" to have a text entry field, so that the desired settings could just be copy and pasted in, instead of clicking the selections?OK. Done.

Taelon
1st October 2005, 13:46
thanks r0lZ :)

r0lZ
6th October 2005, 12:36
Hum, yes, I may write a plugin to mark the empty PGCs. It's easy!
Here it is: auto_comment_plugin_v10.zip (http://www.videohelp.com/~r0lZ/pgcedit/beta/auto_comment_plugin_v10.zip).
Currently, the plugin contains only one function to add a "<void>" comment to the PGCs without pre/post/cell commands. But it doesn't check if there are menu buttons or BOVs, nor if the Prev/Next/GoUp PGC links are defined.

I may add new functions to this plugin later...

CirTap
6th October 2005, 13:29
wow, unbelievable! thank you very much, r0lz, and what a perfect timing: I was just about playing with this new feature :)

Have fun,
CirTap