48
PgcEdit English Documentation http://www.videohelp.com/~r0lZ/pgcedit/doc/PgcEdit_Manual.htm PgcEdit © Copyright r0lZ, 2004-2005 Licence: GNU General Public Licence (GPL) PgcEdit version 0.5.7 Documentation Version 2 7 June 2005 Contents 1 Introduction 2 Usage 3 Main PgcEdit Window 4 Toolbar 5 What If Things Go Wrong? 6 Menus 7 PGC Editor 8 Command Editor 9 Menu Editor 10 Clipboard 11 Right Click Popup Menus 12 Mouse Shortcuts 13 Keyboard Shortcuts 1 What is PgcEdit? Any person interested in understanding or modifying the operation of a DVD knows IfoEdit (http://www.ifoedit.com ), an excellent freeware program which makes it possible to modify (almost) all the information contained in the DVD’s IFO files. However, while IfoEdit allows you to modify (most of) the commands and parameters associated with PGCs (Program Chains), it has many limitations, the chief one being that it is very difficult to have an overall view of the DVD’s command structure. PgcEdit was initially written to supplement IfoEdit. PgcEdit offers an easy to understand view of the DVD’s programming. It allows you to edit, via easy to use GUIs, all the DVD’s commands with their legal values, without any limitations except those imposed by the DVD standard. PgcEdit also has an extremely powerful but easy to use PGC Editor , where you can make changes to stream assignments, subtitle colors, the chapter table, cell and PGC still times, the cell flags, VOB/Cell IDs and many others, again through an easy and intuitive GUI. PgcEdit’s powerful, fully-featured Menu Editor allows users to edit menus, by creating, deleting, hiding, changing the location, size, commands and colors of the buttons.

Pgcedit English Documentation

  • Upload
    saulo

  • View
    709

  • Download
    22

Embed Size (px)

Citation preview

PgcEdit English Documentationhttp://www.videohelp.com/~r0lZ/pgcedit/doc/PgcEdit_Manual.htm PgcEdit Copyright r0lZ, 2004-2005 Licence: GNU General Public Licence (GPL)PgcEdit version 0.5.7 Documentation Version 2 7 June 2005

Contents1 2 3 4 5 6 7 8 9 10 11 12 13 Introduction Usage Main PgcEdit Window Toolbar What If Things Go Wrong? Menus PGC Editor Command Editor Menu Editor Clipboard Right Click Popup Menus Mouse Shortcuts Keyboard Shortcuts

1

What is PgcEdit?

Any person interested in understanding or modifying the operation of a DVD knows IfoEdit (http://www.ifoedit.com), an excellent freeware program which makes it possible to modify (almost) all the information contained in the DVDs IFO files. However, while IfoEdit allows you to modify (most of) the commands and parameters associated with PGCs (Program Chains), it has many limitations, the chief one being that it is very difficult to have an overall view of the DVDs command structure. PgcEdit was initially written to supplement IfoEdit. PgcEdit offers an easy to understand view of the DVDs programming. It allows you to edit, via easy to use GUIs, all the DVDs commands with their legal values, without any limitations except those imposed by the DVD standard. PgcEdit also has an extremely powerful but easy to use PGC Editor, where you can make changes to stream assignments, subtitle colors, the chapter table, cell and PGC still times, the cell flags, VOB/Cell IDs and many others, again through an easy and intuitive GUI. PgcEdits powerful, fully-featured Menu Editor allows users to edit menus, by creating, deleting, hiding, changing the location, size, commands and colors of the buttons.

Furthermore, PgcEdit has a Trace mode allowing users to follow the flow of the commands as they are played by a real player, while watching how the GPRMs, SPRMs and PUOs change. With this simulation, PgcEdit may be used as a powerful debugging tool. With PgcEdit, you may blank out whole titlesets easily, which is a very handy space-saving feature. As well, from PgcEdit, you can burn your project. PgcEdit is also a basic DVD authoring tool by using its New DVD command, combined with importing menus and titles and its Command Editor, you can author your DVD from scratch. PgcEdit is written in Tcl/Tk, which is an interpreted scripting language. Tcl/Tk was chosen for its power in building interactive user interfaces and for the fact that a Tcl/Tk application can run on any platform which has a Tcl/Tk interpreter, including Linux, Windows and MacOSX.

2

Usage

The internal structure of a DVD is complex. It is beyond the scope of this document to expose this structure, or to explain the role of each command. See mpucoders excellent site and DVD-Replica for an introduction to this structure. Using PgcEdit should be relatively obvious to anyone accustomed to this structure, or to IfoEdit. You cant load a single IFO file in PgcEdit. Instead, PgcEdit is designed to load all the IFO files of a DVD at the same time. This makes it possible to present all the commands of the DVD in a coherent and easily accessible manner. But that means that the structure of the DVD must be correct to be able to correctly load each of the files. So, on loading a DVD, PgcEdit checks on a number of key things like the structural integrity of the IFOs, and where it finds errors that are repairable, it offers to fix them for you. Once you have loaded a DVD in PgcEdit, you can select the PGC to be edited with the drop-down menu of the PGC Button, or via the PGC Selector (usually located on the left side of the commands list but its location is configurable by the user). Select a command by clicking on it. Select several commands at the same time with a shift-click, or by dragging the mouse over the group of commands. Double-clicking a command calls the Command Editor, where you can edit the command. When you click on a Goto command, the line where this command is branching to is briefly color-highlighted (in light blue). If this line does not exist, the line containing the Goto is highlighted in red. The same applies to lines with a Jump, Call or Link (or Set+Link). In these cases, it is the destination PGC which is highlighted. Clicking such a command with the middle mouse button (or Ctrl Left Click) will move you automatically to the target line or PGC. Note also that the Goto target lines are highlighted in yellow, and lines with errors (illegal use of a command in the current domain, illegal parameters) are highlighted in pink. (See also Options - Highlight Errors and GOTO targets) When one or more commands are selected, you can use the action buttons located at the bottom of the main GUI. The same actions are available via the Edit menu or by right clicking the command.

3

The main window

The following diagram depicts the main PgcEdit window:

Note the various areas, including the PGC button, which is a quick jump to various PGCs. The Search box enables you to search the DVDs commands back and forwards in the current PGC (buttons < and >) or in the whole DVD (>). The case option does a case-sensitive search The reg expr option will search for a regular expression. In such expressions, the . (dots) match any character, and the .* (dot+star) match any occurrences of any character. Most special characters (parenthesis, brackets etc.) must be prefixed with backslash (\). There are many other very powerful features in regular expressions. See here for the official description of the Tcl regular expressions, or this handy, easy to read table. The all box searches the entire DVD for all instances of the searched text and shows them in a popup box, which enables you to move easily to each instance. Right click the all box to search only in menu buttons and buttons over video.

Note also Options - Set current search string as default. The Scratchbook offers a space where you can copy, paste, and edit commands without modifying the structure of the DVD. You can use this space to store commands which you will need later, or to build a program which you will be able to copy and paste in a PGC when it is finalized. Its possible to back up the commands of the scratchbook on disk; this feature can be used to preserve a set of commands which you often need.

4

The Toolbar

The toolbar is a handy way of accessing PgcEdits most important functions. Each toolbar item has an easy tool tip that explains what each toolbar item does.

5

What To Do If Things Go WrongClick File Restore Backup Navigate to the PgcEdit_backup folder Copy all the VOBs back to the parent folder Then click File Reload DVD and answer Yes

If you have made a big mistake, do not worry.

6

Menus

There are 11 main menus which drive most of the PgcEdit functions. Each menu has several submenus. File Edit Trace Preview Utilities Info Macros Tools View Options Help These are discussed separately. Note: The Menu Editor is accessible from any menu PGC which has buttons (including titles which have BOV).

6.1

File menu

Open DVD (Ctrl + o): Loads all IFO files of the selected DVD. Save DVD (Ctrl + s): Saves the IFO files of the DVD (and any VOBs that were modified by the Menu Editor), 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 (see also Options When saving, leave at least 32k of space between IFO and BUP). Reopen DVD (Ctrl + r): Reloads the IFO files of the current DVD. Use this menu if you have modified the IFO files with an external program, such as IfoEdit or just want to start over and not save your changes. Find BOVs: Searches for buttons over video, which are buttons in the titles domain (VTST) as opposed to buttons in the menu domain (VMGM / VTSM). You may set PgcEdit to scan for these automatically when you open a DVD, as opposed to this function, which does a manual scan. See also Options Automatically launch BOV finder when DVD is opened. Save IFOs as: Allows you to back up the IFO files of the current DVD in another folder. Only the IFOs are backed up (not any changes to the menu VOBs) and the calculation of the VTS Sectors will be done without the VOB files (or with the VOBs present in the destination folder at the time of the backup). Therefore, the calculation will not be correct. This function is intended simply for the temporary backup of IFOs, or for future reference. Note that the destination folder of the Save DVD menu item is left unchanged by this operation. New DVD: Create a new, empty VIDEO_TS.IFO in a specified folder of your choice. This file is then loaded in the editor, and may be used as a basis to import titles and menus from other DVDs.

Import VTST Titles: Import all titles of a VTS from another DVD. A new VTS is created and the global table of titles is updated. The source VTS menus are not imported. The VOB files may be copied (or moved) automatically. The original DVD commands are not modified. This task is left to you. Create Backup (Ctrl + b), Incremental backup, Restore Backup and Delete Backup: Backup/restore and delete the IFO files, in case things turn sour! See also the Options menu. The Incremental backup renames the original PgcEdit_backup folder to one which contains the date and time it was last modified and saves your IFOs in a newly created PgcEdit_backup folder. This is very useful for progressive saving of your work. Open Scratchbook and Save Scratchbook: Allows you to open/save the contents of the Scratchbook to/from disk. Import PGC Commands (Ctrl + i) and Export PGC Commands (Ctrl + e): Enables you to import and export the current PGCs commands. The Import function will overwrite the commands in the current PGC. Note that only the commands are exported. The other PGC parameters (i.e. parameters you can edit with the PGC Editor, such as the Prohibited User Operations and the cell table) are not exported. The file format is PgcEdits internal format (ASCII). Import all PGC Commands and Export all PGC Commands: Same as above, but will import/export all the DVDs PGCs in one operation. The import function will try to import all the files whose names match the current DVDs PGCs. So, to import only some of the PGCs, you may delete or rename the files you dont want to import. Check DVD +/- R Size: Calculate the space used by the IFO, BUP and VOB files of the DVD source folder, and displays the used percentage of a standard capacity DVD-R or DVD+R. Note that this calculation does not take into account the possible modifications made to the IFO files loaded in PgcEdit. To obtain an accurate result, save the DVD before using this function. Burn DVD / Create ISO: Allows you to burn your project via DVD Decrypter. An ISO image is created first on your hard drive. You will need to have mkisofs.exe and cygwin.dll installed (get these from ImgTool Classic at www.coujo.de), as well as DVD Decrypter. There is a one-time setup of the burning function this is explained here (step 5). Explore DVD folder (Ctrl + f): Opens the DVD folder in an Explorer window (this command available only on Windows platforms). Quit and Kill: Exit program. The Kill menu will exit immediately, without confirmation, without saving the setups, and bypassing error messages, if any.

6.2

Edit menu

This menu is also accessible by right clicking a command. As well, the quick-click action buttons at the bottom of the main PgcEdit screen mirror the top part of this menu.Edit Cmd (Spacebar): Call the Command Editor for the current command (see below). A command must be highlighted in the right hand pane first. Edit PGC (Enter/Return): Call the PGC Editor for the current PGC selected in the left pane (see below). Add Before (Ctrl + Shift + ): add a NOP command before or after the selected command(s). Delete (Del): Remove the selected commands. Duplicate (Ctrl + d): Duplicate the selected commands. Copy (Ctrl + c), Append (Insert), Cut (Ctrl + x), Paste replace (Ctrl + v), Paste before (Shift + v) and Paste after (Ctrl + Shift + v): Clipboard functions. Append adds the selected commands to those already present in the clipboard Paste replace replaces the selected commands by the contents of the clipboard Paste before and Paste after add the commands on the clipboard before or after the selected commands.

Decr GOTOs (Ctrl -) and Incr GOTOs (Ctrl + Plus sign): increments by -1 or 1 the number of the target line of all the GoTo (and SetTmpPML) commands contained in the selection.

Move Up (Ctrl + [) and Move Down (Ctrl + ]): Move the selected commands in the list. Jump to Target (Ctrl + j): If the currently selected line is a Goto, this function will select the destination line. If the current line is a Jump, Call, Link or Set+Link, the function will select the destination PGC. Undo cmds changes (Ctrl + z): Resets the current PGC commands to the original state. Warning! This function is very limited it only works for commands and the undo buffer is reset each time another PGC is displayed. This means that if you go to another PGC, the PGC you are leaving will lose its undo capabilities. However, you can go to the scratchbook and return to the same PGC without losing the undo. The scratchbook also has a limited undo function, as it can be reset to whatever it defaulted to when PgcEdit was opened (see Options Save current scratchbook as default). Copy as text: Copies the currently selected commands exactly as they appear in the main listbox to the clipboard. You may control whether to copy the hex codes. Append to scratchbook: Adds the selected commands to the scratchbook directly. Delete all commands: Deletes all the commands in a PGC (but not the cell parameters). Note: The keyboard shortcuts only work when the main pane (containing the commands) is active.

6.3

Trace menu

Trace Mode (Ctrl + t): Toggle Trace mode on or off. You may also start trace mode by clicking the trace toolbar icon. In this mode, you can play the DVD, simulating the execution of all the DVDs commands. In Trace mode, a new sub-window is opened in the lower part of the interface as depicted below:

Trace is a very powerful debugging tool. The controls allow you to play, stop, watch registers and PUOs, set breakpoints (at PGCs or any or all of the registers), log the trace, enter values to registers and many other things. These are described below. Setting up Trace Virtual player setup The first thing you need to do is setup your virtual player to imitate the system that you play your DVDs on. Click Setup in the trace window (or from the main menu, click Trace Virtual Player Setup) and enter the data pertaining to your setup. This data includes: Preferred languages for menus, audio and subtitles (and extensions you can usually leave these at unspecified) Video screen shape and for 4:3 TVs, whether you view in letterbox or pan and scan Parental management country code and level (usually leave blank) Preferred region codes Your systems audio capabilities Whether your player holds the program number or chapter number in SPRM 7 (small test DVD available for download on the PgcEdit homepage).

Click Save to store these settings permanently. If you wish to make a temporary change, click Use. Preview setup This is straightforward. You may choose whether, in trace mode, to: Start preview automatically when playing a cell (i.e. video is present and played). A shortcut for this is to tick the little box to the right of Setup. This will open the preview window and you may select whether to play the cell or fast forward through it etc. See Preview for more details. Automatically start preview playback when a cell is previewed, playback is automatically started at normal speed. The other preview controls are still enabled. Close preview automatically at the end of a cell this will close the preview screen when the cell has finished playing and move on to the next cell or the cell/post commands (if the last cell). Close preview automatically after a short delay this will play the cell for the time specified on the playback slider down the bottom and automatically close the preview and move on to the next cell. Set the cell duration playback slider 1.0 seconds or more for this to take effect. Skip preview of short cells (less than 1 second) this stops annoying black screens from popping up all the time.

The other setup options are self-explanatory. Watching registers and other info Trace allows you to step through the DVD in order and watch how it proceeds and how things change. On the Trace menu, click Watch and check which options you would like to view. The options are: Input (see below) GPRMs SPRMs

SPRM labels PUOs Registers (GPRMs, SPRMs and Input)

Input shows the effect of the command and how many times the register has been set. At a break in the playback, or if you are tracing in step mode, you may also input your own value in the input box to see the effect of a change in command before you actually change it. You may input in decimal, hex, ASCII (for languages) or button numbers. Illegal/invalid inputs are rejected by PgcEdit.

This watch is more comprehensive, adding the registers and SPRM labels. At the start of your session, the SPRM registers will reflect your virtual player setup. During the trace, the registers are updated as each command is executed. Registers not yet used are greyed out. You can see that GPRM(12) was the last set (it is in yellow) and was set to 0, while GPRMs 2, 3, 5, 6 and 7 havent been touched yet.

Starting the trace You may trace in three modes: Step (one command at a time) Next PB traces and breaks at the next cell to play video Run just play the DVD as your standalone player would

During playback, you may: Notes: If you wish to restart the trace from the beginning, you must press the load/eject button (just think of the trace as a normal DVD player!) It may be necessary to Break the playback to click on a defined menu type or one of the Next/Prev/Return buttons. Trace will probably not perform properly if you dont trace in the precise order that the DVD commands are executed. You may want to manually go to another PGC for a while but the state of the registers will most likely not be correct The duration slider (to the right of Run) controls the speed of the trace. Set it to meet your needs. Quickjump to any of the defined menus, which breaks the playback and goes to the menu Press the Next, Previous or Return buttons to skip chapters or execute the GoUp action Break the trace (the Run button turns into a red Break button during playback) Slow things down by pressing Step Preview the cell being played Eject the DVD (by pressing the load/eject button)

Breakpoints

Breakpoints are events that stop the execution of the DVDs commands. You may set breakpoints at any or all of the following: When any or all of the GPRMs and SPRMs have just been written to (a Register Breakpoint) At the start of the pre- or post commands of one or more PGCs (a PGC Pre/Post Breakpoint) At the start of playback of one or more PGCs (a PGC Playback Breakpoint)

All menus All titles When specific user selected characters (e.g. SetSTN) are written to the log (log output)

When the trace is halted for whatever reason, you may click on the value showing in a register to give it focus in the input box, where you can input values of your own, if you wish (and see other pertinent data for that register e.g. Set count, value in hex). Start playback again with the Step, Next PB or Run buttons. Shortcuts Left click a register number (either GPRM or SPRM) in the watch list to set a Register Breakpoint (register will turn red). Set a pre/post breakpoint with Ctrl + Shift + t (PGC will turn red in PGC Selector). Set a playback breakpoint with Ctrl + Alt + t (PGC will turn blue in PGC Selector) (If both a Pre/Post and Playback breakpoints have been set for a PGC, it will turn purple) Right click in the log and select Search to bring up the log search box. Set a break on log output by ticking the Break box and entering the characters you wish to break on in the search box (note that you can only define one log breakpoint at a time and you may also use the case and regular expression options)

These controls are toggles. Repeat them to turn off the breakpoints. You may also set a breakpoint by holding down the shift key and left-clicking on a PGC in the PGC Selector. First click is the pre/post breakpoint, the next is a playback breakpoint, the third is both pre/post and playbacks and fourth turns off all breakpoints. You may also clear all PGC breakpoints in the main menu (Trace Clear all PGC breakpoints) or the Breakpoints menu of the Trace screen.

Trace StateThis menu allows you to: Remember and restore all GPRMs and SPRMs whenever you wish. (You might like to remember your registers before experimenting in the input box, or before manually moving to another PGC to do something there and restore them after your return) Clear the register changed flags (greys out everything in the watch and while not changing the value in the register, it changes the state to unused) Clear the highlights from the PGCs that have been visited

Trace Clipboard Trace allows you to copy registers used as commands. Optionally, you can append the commands to the Scratchbook. The difference between used and changed commands is as described in Trace State. If you clear the register changed flags, you can run through the DVD and break and then copy the registers which have changed since then. On the other hand, at the same point in time, copy used registers will copy all registers in use.

Trace LogDuring the trace, the log records every action of the DVD. You may choose to limit this with the Log filter in the Log menu. So, if, for example, you are only interested in comparisons, you would only log IF conditions. At any point, you may log the registers. The Log menu contains commands to Log all GPRMs/SPRMs now. At any break in playback, you may right click in the log window to bring up a menu where you can: Show the log in a text viewer Select all the log and copy it Search the log (and set a log output breakpoint) Save the log as a text file Clear the log Force the log of a particular register (by clicking on its value in the watch window and then clicking on the green or yellow field in the input window). Even if you have closed Trace and re-open it later, the log and the trace will be intact (providing you have not opened a new DVD or re-opened the current project). Expand (and contract) the log window with the + button on the lower left of the log.

6.4

Preview menu

The preview window is a little DVD player (without the audio), where you can Play the PGC, go forward or back by an I-frame at a time (> or > or Find BOVs to detect BOVs. Show toolbar, PGC Selector and Edit Buttons at startup is a handy way to access the important PgcEdit functions via the toolbar (see below), PGC selector and Edit buttons (down the bottom). However, those who prefer more screen space may wish to turn some or all of these off. Create backup when a DVD is opened for the first time this creates a backup of your IFOs in case you mess up. It is also a repository of VOBs that are blanked. Leave this option on! Store PgcEdit_Backup folder in parent of VIDEO_TS folder allows you to select where you want the backup folder to be stored, either within the VIDEO_TS folder or in its parent folder, alongside VIDEO_TS. There is no issue with storing it in either location, and this will not affect the burning of your project (if you burn with PgcEdit), however, you may run into conflicts, if you are working on several projects, each storing their backup folders in the parent. When saving, leave at least 32k of space between IFO and BUP is a way of ensuring that errors on a disk are not fatal by placing the IFO and BUP too close together. This function will save the sector references in a non-standard way, leaving padding where blanking has occurred. Note that if you save the DVD in another application such as IfoEdit, DVD Shrink, Nero, these sector references will be recalculated by those programs and the padding will be lost. So only use this in conjunction with a burn through PgcEdit (or ImgTools Classic, or any burning program using mkisofs under Linux or MacOSX). See here for a guide on burning with PgcEdit. If Auto-adjust Command Editor to contents is checked, the Command Editors height will change whenever you select another command, so that the GUI fits exactly in the window. This is a handy space saver. Allow Menu Tearoffs adds a dotted line as the first element of each menu. Selecting (clicking on) this dotted line allows you to detach the menu as a floating window which you can place wherever you want. You may use this, for example, to change several options at once in a torn off menu. Do NOT use this option with Tcl/Tk Aqua on Mac. If Popup menus on right mouse button released is checked, then the right click menus appear only on the release of the button, instead of its click. Hi-lite Errors and GOTO Targets will show errors in pink/red and GOTO targets in yellow. This makes it easier to see at a glance where the command is leading and if there are problems (e.g. a command may be legal but going to an invalid location eg Jump to Title 99, where no title 99 exists). Auto renumber GOTOs when commands added/removed will renumber the target line numbers of the GOTO commands when you insert or delete lines in the same section of a PGC. Leave this option checked. But, be careful: the GOTOs that are WITHIN a copied/pasted block are not renumbered! Include [hex codes] in main listbox and in Info / commands dumps shows the hex codes for the commands (in square brackets) together with the interpreted commands. Leaving this off will show only the disassembled code. Many people may find it easier to view the screens with this option off.

Expert Mode suppresses most messages and dialogue boxes. If you are not a master of this program, do NOT turn this on. Set current search string as default allows you to open PgcEdit with your desired search string in the search box at the bottom. Global font enables you to change the default font for PgcEdit (which is MS Sans Serif 8 point on the Windows platform). Restart to make this change take effect. Fixed width font enables you to select a font for items which display in a fixed width. Use custom colors for GUI enables you to choose your own color for PgcEdits background. Select web browser will allow Linux and Mac users to easily access the PgcEdit homepage, online documentation and DVD-Replica online help in the Command Editor. Save settings allows you to save your options and other setup choices (e.g. preview size and trace virtual player), while Restore defaults will take you back to the state of the program at installation. The last option, Save current scratchbook as default, will remember your current Scratchbook from session to session. Selecting the Undo function when in Scratchbook mode reloads the default commands. Note: Some options of the Trace mode are also saved with the options of this menu.

6.11

Help menuthis document the version history the licence terms governing the use of PgcEdit the international ISO639 language codes the PgcEdit homepage and the credits

Heres where you access:

7

PGC Editor

IfoEdit lets you modify almost all the PGC data. PgcEdits editor allows you to modify only some of them but the interface is very easy to use. I only kept the most useful, or those for which IfoEdit does not allow simple and user-friendly editing (for example the sub-pictures colors and the assignment of streams). To access the PGC Editor, just double click on a PGC or press Enter. Typical editing procedures: 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. Cell removal and chapter editing Stream re-assignment Subtitle color changing, copying, pasting, importing and exporting (in either ASCII or YCbCr format) Editing the cell flags, including setting/removing the layer break Cell command numbering Removing/editing PUOs Changing the Next, Previous and GoUp links Changing cell and PGC still times Previewing a cell Viewing the attributes of the various streams (audio, video and sub-picture) in the domain Finding out cell times and where the various cells start and end in the VOB (in terms of VOBU sectors) Seeing which angle a cell belongs to (in a multi-angled PGC)

Tip: Hover over a button or a heading with the mouse to get a handy tip on what the button does or the properties of a stream etc. In general, to edit an item, where appropriate: Click a button or Type in an input field (e.g. Still Time, Cell Command, Previous PGCN link, Layer break)

Some of these are discussed in more detail below.

Domain Stream AttributesClick on Domain Stream Attributes to view and change the attributes for the various streams in this domain.

You may: Click on the various audio and sub-picture extensions to change them (e.g. normal to director comments) Change the languages that will be displayed with the various streams (note this will NOT change the actual language in the stream just what the player displays). Use the ISO 639 language button to find out the official 2 letter language codes The video aspect ratio (and for 16:9, how it will be displayed on 4:3 TVs). Be careful! The changes you make here in the IFO take precedence over those in the VOB and you may make changes that make your picture look too narrow or too stretched in the vertical plane. Also note that if you select 16:9, you must select at least one of Automatic P&S or Automatic Letterbox. Change all the properties of any or all of the audio streams, including the coding, quantization, sample rate and channels (this does not change what is actually in the VOB and what you will hear).

Audio/Sub-picture stream assignmentsClicking on an audio or sub-picture stream button, located in the north east quadrant of the PGC Editor, bring up the stream setup dialogs.

These enable you to add and/or rearrange the stream assignments. Again, be careful! Changing the stream assignments can have unintended effects where you dont also change the assignments in the PGC commands and the menus (if any) you may be listening to/viewing a different language than you want! You may add a stream by clicking on one of the previously unused streams (marked none). Of course, adding a stream that is non-existent in the VOB is meaningless. The hex values of the stream numbers are identified. For sub-picture stream, you may assign stream numbers for the 4 viewing modes (4:3, widescreen, letterbox and pan & scan). Streams that have been stripped with popular stream stripping programs like IfoEdit, VobBlanker and DVD Shrink can be disabled this sets them to None in the PGC Editors table of streams.

Adding or Removing ProgramsYou may: Click on an already numbered program to remove the program from the program table. Higher numbered programs will be renumbered down and you will also need to edit the chapter table to remove excess chapters Click on an unnumbered program to insert (and add) a program to the program table. There is no need to update the chapter table, but the last chapter will contain more than one program.

Note: Editing programs and chapters will also necessitate editing the scene selection menu.

Remove CellClick to remove a cell from the cell table. This does not remove any data from the VOB.

You may use the slider to select the cell you want to remove. The corresponding VOB/Cell ID will be unreferenced (unless re-used elsewhere in the VTS). Removing a cell may also result in you needing to update the chapter table and PgcEdit will warn you accordingly. After removing cells, you may wish to reduce the size of your DVD by removing them from the VOB with VobBlanker.

Chapter EditorThe chapter editor enables you to edit chapter points.

You may: Add or delete chapters Re-assign which programs correspond to which chapters (by selecting one or more chapters and clicking Increment Program or Decrement program) Set the program number to equal the chapter number (by selecting one or more chapters and clicking Set selected Programs = PTTs) this is the usual case.

Note:

Set a particular program to a certain chapter (by selecting one (or more) chapters and typing in the program number and clicking Apply)

You need to add chapters that actually correspond to existing programs. Otherwise, after exiting the chapter editor, a message will appear telling you to remove or re-assign the chapters pointing to out of range programs and the Edit Chapter (PTT) table button in the PGC Editor will turn red to let you know an action needs to occur. You can then click on a button in the program list to create a program.

Cell still timeEnter a number from 0 to 254 in the Still Time field of a cell to insert a pause after the cells playback (up to 254 seconds). To have an infinite pause, enter 255.

Re-assign VOB and Cell ID

Click on the VOB/Cell ID identifier in the PGC Editor to bring up the dialog, where you can use the slider to assign a different existing VOB/Cell ID to the cell or create a new blank cell to replace the cell in question (leaving the current cell unreferenced if it is not re-used). Note the warnings!

Cell type flags

Clicking on the cell type button for a cell displays the Cell Type Flags Editor, where you can change the STC (System Time Clock aka the SCR or System Clock Reference) discontinuity flag, seamless joint flag and the angle flags.

8

Command Editor

The Command Editor lets you edit the DVDs commands. It is composed of several parts (2 examples are shown below).

At the top are the command selection menus. The first three menus present the complete list of all the commands, sorted differently in each of these menus. The fourth menu shows only Jumps and Calls, sorted according to the type of source and destination PGCs. It enables you to easily select the legal Jump or Call in all situations. Below the menus is a field containing the hexadecimal representation of the command, the validation menu button (see below) and the name of the current command. If you wish, you may click on the name of the command to find out more about it, its usage, legal syntax etc (Windows users only). This involves a call to the Internet. Below this is a field showing the disassembled current command, with the syntax that is used for the commands displayed in the list of the main window. Command modification

You may modify the command in the interface below the disassembled command. This interface is different for each command and, if you use this, you will only be allowed to input a legal value for each command. This is the easiest way to edit a command. The numerical fields of this part of the interface accept values in decimal, hexadecimal (by prefixing them by 0x), octal (prefixed by 0) or ASCII (prefixed by , the single quote character, aka apostrophe). Between parentheses, on the right side of these numerical fields, is the legal range of the parameter. If you wish, click the B when you want to set/compare button numbers. In theory, you will not be able to enter an illegal value. (However, to be able to type a value in hexadecimal or octal, you must be able to type a zero alone, even if this value is illegal. In that case, the program beeps, and the disassembled command is highlighted in color). Note that only theoretical errors are detected: it is thus possible to type legal, but meaningless values. For example, a Jump to VTS 99 is legal, and will be accepted, but it makes sense only if VTS 99 exists. Advanced users Test your changes with validation In normal use, the hexadecimal field is updated automatically when you change the command, and when you modify the values of the current command. It is also possible (although less easy) to type the command directly into the hexadecimal field. When this field is manually edited, the modifications are not automatically updated in the other parts of the interface. To force the update of the command, you must validate the contents of the hexadecimal field. To do that, just type Enter/Return in this field. At the time of validation, the contents of the hexadecimal field are analyzed and transcribed in the other parts of the interface. If an error is detected, two things can happen: a. If the resulting command does not exist, an error message pops up, and the cursor is positioned on the digit which caused the error. b. If a value is illegal or out of range, it is corrected in the hexadecimal field, and this value is highlighted in color, so you can easily locate the errors. In this case, you can revert to the contents of the field before validation by selecting the Undo Validation option on the Validation menu, or you can erase the highlights with Clear Validation Highlights.

Of course, if things go really bad, simply click Cancel and start again. The Disassemble Without Validate option lets you visualize the disassembled command without correcting the possible value errors, and without transferring the values in the interactive part of the interface. This lets you check that the command is complete and coherent before validating it.

The menu button next to the hex field also contains options to copy and paste the contents of the field. Copy as Hex String and Copy as Binary are options allowing you to exchange the command with another program. The simple Copy option is used internally by PgcEdit.

9 9.1

Menu Editor Introduction

You may access the menu editor in one of 4 ways. Select a PGC with menu buttons in the PGC Selector and either: Press Ctrl + m or Click on the menu editor toolbar icon or Middle click (or Ctrl Left Click) on the PGC or In the Utilities menu, select Show/Edit menu buttons or BOVs

This will bring up the first cell in the PGC that has buttons (skipping over any motion intro). This is not the place to explain everything about menus but rather I will point out the various editing options in PgcEdit.

9.2

Menu Viewer

This shows all the key ingredients of the Menu Viewer. Click on the buttons command to edit it with the Command Editor. Either click on Jump to Target or middle click on the menu button to jump to where the command is pointing (highlighted in light blue when you select a button) in this case PGCN 19. If the PGC has more than one program, you can click on the program selector/info bar at the top of the display to go to other programs The clipboard menu allows you to copy and paste the command associated with the elected button The image buttons enable you to go through motion menus (the l< button will return you to the first I-frame which has buttons) Use the cursor arrow keys ( your remote ) on your keyboard to emulate the navigation buttons on

9.3

Menu EditorRight clicking on a menu button or Selecting the button and clicking Edit

Bring up the main menu editor for a button either by:

This shows the full editor screen. Check Show adjacent buttons down the bottom of the GUI to get a visual idea of which buttons are next to the selected button in the menu viewer (you may edit these with the Adjacent buttons sliders in the top half of the screen) You may edit the command with the Command Editor Check Auto Activate to make the button execute the command simply by selecting it with the remote (no enter required) Ticking advanced opens the lower panel, where you can: Force select a particular button for the cell (this ignores the value in SPRM 8 and always highlights what you have selected) Force which button to execute (if you like) after playback ends (selecting a delay in the process) You may edit the horizontal (X) and vertical (Y) positions and sizes of the selected button. However, in order to edit the horizontal values, you must do each group separately (because

where there is more than one group, the aspect ratios are different). As you move the sliders to edit the buttons positions and sizes, you will get an immediate view of your edits in the menu viewer. Note, there are situations where both X and Y must be edited independently (e.g. 3 groups of buttons) You can check to see the buttons are the right size, not only visually, but by using the Edit button slider to move between buttons and see the other buttons heights, widths and positions PgcEdit has a full color scheme editor. Access this by clicking on Edit Color Schemes. You may select 1 of 4 schemes for the cell the default scheme (using the values stored in the subpic packs of the PGC) or 3 user defined schemes. The colors for these user defined schemes are defined in the sub-picture color lookup table, which is also editable in the PGC Editor.

9.4

Color Scheme Editor

This is not the place to explain all there is about how color schemes work in menus. For an excellent reference, see www.mpucoder.com/dvd. Suffice to say that you may define 3 color schemes in each PGC and apply any one of these schemes to any particular button in the PGC. The button shapes are usually defined in the sub-picture streams of the menu. Each pixel in the subpic data may be assigned one of 4 values these are called Background, Pattern, Emphasis 1 and Emphasis 2, and are easily editable in PgcEdit Background is usually used to define the background color of the button, while Pattern usually defines the color of the pattern of the buttons shape though this is not hard and fast. Bring up the color editor by clicking on Edit Color Schemes in the Menu Editor.

A color scheme is defined for two button states: The color and contrast for when the button is selected (i.e. button highlighted but not pressed) The color and contrast for when the button is activated (i.e. button pressed)

Color schemes pick a color from the PGCs sub-picture color lookup table (CLUT) editable in the PGC Editor. The numbers range from 0 to 15, corresponding to the 16 colors defined in the PGCs CLUT. If your desired color for a particular scheme is not there, you may change it from the PGC Editor, but beware that by changing a color in the CLUT, you will also change other color schemes that use this color for that PGC. To pick one of the 16 colors from the lookup table, simply move the slider from 0 through 15 until you get your desired color for the parameter. The way a button is actually displayed depends not only on the color but on its contrast. You may set the contrast for any of B, P, E1 and E2 from 0 (fully transparent) to 15 (fully opaque i.e. a solid color). By moving the sliders, you can get an idea of how the opacity will vary with each step from 0 to 15. After this is complete, it is simply a matter of assigning which color scheme pertains to which button on the menu. Do this in the Menu Editor

9.5

Menu Editor Menus

The Menu Editor also has 5 menus of its own: File Menu

This menu gives you the tools to export and import for: the current button exported data is for the selected group in the current button only and includes position and size data, button command and adjacent button information the buttons for the whole menu exported data is all information for all buttons in all groups, plus the advanced global controls set at the bottom of the Menu Editor GUI, but not including the color information the color schemes.

The exported files are able to be viewed and edited in Notepad. These functions are very useful if you wish to copy menu button information easily from one DVD to another. Edit Menu

The functions on this menu are similar to the file menu, except they are more for copying to the current DVD, as opposed to exporting to, and importing from, another DVD. Additionally, there are options only to copy and paste the buttons command (these functions are also accessible from the clipboard button in the Menu Viewer). Button Menu

The functions on this menu allow you to create new buttons, align them with other buttons, undo any changes that have been made and delete buttons you dont need anymore. New buttons are created with the LinkTailPGC command. You may need to alter this to suit your needs. Note: The Undo last changes no longer functions once you have pressed OK and exited the Menu Editor, or if you change the current button or group. As well, it can not be used to undo the advanced options. Caution: Deleting a button may make the DVD unplayable if other parts of the DVD refer to that button in some way. Hiding a button is much more preferable. Hide Button Menu

This menu allows you to hide buttons without deleting them. This is always the safest practice. You have 3 options. Hide the button (in an unviewable area of the screen) and change its command to: Jump to a non-deleted button (auto-activate is also set to ensure that if you land on this button, the relevant non-deleted button is highlighted)

Replace its command with a NOP Leave its original command

Jumping to a non-deleted button is usually best. Replacing with a NOP may be confusing to a user who somehow lands on the button and keeps pressing enter and nothing happens, while leaving the original command may be useful if you wish to convert a visible button to an auto-activated hidden one. After hiding buttons, you should always examine the adjacent buttons to ensure that the remote will work as you intend it to. Of course, you may unhide a button by moving and/or resizing it. However, be aware that if you move or resize a hidden button, it will not be regarded as hidden anymore and there could be unintended consequences. View Menu

Color Schemes Editor brings up the color editor (same as clicking Edit Color Schemes) The other menu items do not affect how the DVD works or plays but simply affects the PgcEdit GUI. Show Advanced Controls display the advanced global controls at the bottom of the Menu Editor (same as checking Advanced) If Show all buttons is unchecked, only the selected button will be visible in the Menu Viewer. Of course, you may select the other buttons by moving to them in the menu viewer with a cursor key or clicking in the Edit button field of the Menu Editor GUI. Show adjacent button links will show the left/right/up/down links to the current button. Same as ticking Show Adjacent Buttons in the Menu Editor GUI. You may also select: Current button edit color: The color of the border for the button being edited Current button phantom color: The color of the button number of the button being edited Other buttons color: The colors of the border and button number for the buttons not currently being edited

10

The Clipboard

For compatibility reasons with Linux and Mac, the clipboard is managed in a particular way by Tcl/Tk. There is an unpleasant side to this: if you place a PgcEdit data in the clipboard (by Cut or Copy) and then close PgcEdit, pasting in another program no longer works the clipboard is emptied of its contents when the Tcl/Tk program which filled it exits. Remember to leave PgcEdit open as long as there is useful data in the clipboard. It is perfectly possible to copy/paste between two DVDs by opening two instances of PgcEdit at the same time.

11

The Right click popup menus

This menu is called when you right click on a PGC in the PGC selector. It also selects the PGC (which you can do first with a left click). It contains many frequently used utilities and procedures which are explained in more detail elsewhere. The popup menu is context sensitive and changes depending on whether you have selected a menu PGC, a title PGC or the FP-PGC.

Menu PGC

Preview PGC Edit PGC Info: PGC Go to calling command

Domain Streams Attributes Blank out all Menu PGCs New Menu Import Menu Remove Menu Remove LU Set Menu Type Menu Buttons Swap Menu LUs Copy LU cmds to other LUs New dummy PGC Clone PGC Kill PGC Playback Enable all operations Toggle PGC pre/post breakpoint Toggle PGC playback breakpoint Delete all commands in PGC Delete all commands in Domain!

Title PGC

Most of these are the same as for menu PGCs the ones pertinent only to the titles domain are:

Blank out all VTST Titles BOVs (Buttons Over Video) Import Titles Intro (and Closing) Clip New Play All Title

12

Mouse shortcutsMain Window Menu Viewer / Editor PGC Editor Command Editor Trace Window

Main Window Shortcuts Left click on the PGC button: Navigate to a PGC Right click on the PGC button: Show/hide the PGC Selector

Right click in the PGC Info Area (just under the toolbar): Show/hide the toolbar

Right click in the Status Bar (at the bottom): Show/hide the edit buttons Left click on the Status Bar (at the bottom): Clear status message

Right click in search box: Popup search menu Right click on all button: Search for desired string in menu buttons and buttons over video only

Double click a PGC on the PGC Selector: Call the PGC Editor Middle click a PGC on the PGC Selector: Call the Menu Editor (if a menu or title) Right click a PGC on the PGC Selector: Call the PGC popup menu Shift left-click a PGC on the PGC Selector: Set Trace breakpoints

Middle click on a command: If a Goto, Jump, Call, Link PGCN etc, jump to the indicated line or PGC Right click on a command: Call the Edit Popup Menu Double click on a command: Edit command (brings up the Command Editor)

Escape when a dialog is opened: Close dialog (like Cancel button)

Menu Viewer / Editor Shortcuts

Click and hold an empty space: (Temporarily) hide all buttons Middle click on a button: Jump to target Right click on a button: Edit menu button Cursor keys: Select adjacent menu button

PGC Editor Shortcuts Right click on PUOs: Remove all PUOs for the PGC Right click on an empty space in the streams part of the GUI: Popup copy/paste all streams menu

Command Editor Shortcuts Left click on menu button to right of hex field: Popup menu for hex command entry Right click on menu button to right of hex field: Validate hex entry Return in hex field: Validate hex entry Middle click on menu button to right of hex field: Clear validation highlights

Trace Window Shortcuts Right click on the run button: Toggle delay between 0 and 5 seconds per command. Right click on the log window: Popup menu (copy, save, search etc) Left click on a GPRM / SPRM in watch window: Sets breakpoint for that register (in red) Left click on green field / press enter on an input field in watch window: Force that register to be logged

Note: The shortcuts displayed in the Edit menu are available only when the main command list is active. Note: All middle button clicks are also available with Control Left Click.

13

Keyboard shortcutsCtrl +

A B C D

Select all commands in PGC Create backup Copy to clipboard Duplicate selected commands

U V Shift V W Paste replace Paste after

E F G H I J K L M N O P Q R S T Shift T Alt T

Export PGC Commands Explore DVDs folder Go to calling command Calls cross references Import PGC Commands Jump to target Kill PGC playback

X Y Z Delete + [ ]

Cut command

Undo command change (limited) Blank out all PGCs in domain Increase Goto target line number Decrease Goto target line number Move command up one line Move command down one line Add new command before selected Add new command after selected Other commands (without Ctrl)

Launch menu viewer/editor

Shift > Shift