Make your custom DVDs with multiple titles repeat/alternate

Let’s just face it – DVDs with menus just blow. popcorn. that tastes like week old manatee poop. I’ve been making custom DVDs for the kids with various free softwares like DVD Shrink and ifoEdit. Insert Disc,movie plays. No menus, no previews. And, they can’t hurt the originals.

So, I’m making a custom DVD for a client that has some “ambience” DVDs that he wanted combined and to just play and play.

Now, I know how to make just one title repeat with the help of doom9‘s forums. Two titles? Well, my commands that I use to repeat didn’t work. <sigh> time to learn. and curse. and blow something up.

First, I got frustrated just due to the fact I couldn’t find an example of how to just play the titles alternately. I read a DVD structure guide and looked at some examples on doom9 about playing one title after another. No one seems to document what I want to do. I finally gave up and just went to bed. Then on the way into work this AM, the stuff I read last night hit me – I gotta make a program (more like a script) that can tell which one just played and plays the other because there’s this things about DVD commands – they can’t go between title domains and you can’t use a JumpTT in a title PGC – only the First Play PGC. So, the key was the First Play PGC.

In this, I found a new tool: pgcedit. This little jewel lets me set the commands and EVEN TESTS THEM. That rocks. I know ifoedit can, but this even blocks out the commands I CAN’T use, so there’s some check there for me, the neophyte DVD author.

So, here’s how to make two titles on a dvd playback repeatedly. The trick is using two GPRM registers (you need to know how these work to understand this). One for control by video_ts and then one each titles sets. Why? Becuase the DVD commands aren’t flexible enough to say if this register=x, play this title. But you CAN say if this register=some OTHER register, play a title.

In the First Play PGC in video_ts.ifo, here’s the precommands:

zz_video_ts.gif

OK, so gprm<0> is used by video_ts.
line 1- if gprm<4> – the one for the titles – is set to be 2 (aka, title 1 just played), jump to the tests (this could also be line 5).

The next lines run if it’s the first time the dvd’s playing OR title 2 just played (mainly because we need to reset gprm<0> to 1).
line 2 – set gprm<0> = 1 (the default title to play when the DVD is inserted, or after title 2)
line 3 – set gprm<4> = 1 (same reason as above)

line 4- now, if gprm<0> (set to 1 on the first run) = gprm<4>, play title 1. This is FAIL after playing title 2 since gprm<4> is set to “2”.

line 5 – this runs if line 4 doesn’t fire, so set gprm to 2, this should now equal what gprm<4> was set after playing Title 1.
line 6- check to make sure they equal (this should be the fact they’re both 2), and play title 2.

Now, here’s vts_01_0.ifo’s post command:
zz_video_ts1.gif

it set gprm<4> to 2 – the next title, and “restarts” the DVD – playing the first play PGC – or re-runs the pre commands in video_ts. The resume is built into the command – if the “resume” key is used, it just restarts the title.

Here’s vts_02_0.ifo’s post command:
zz_video_ts2.gif

It set gprm<4> to 1 and restart the First play again.

The effect is the Jump to Title commands in the First Play PGC alternate running each title. over and over. And it just took me 16 hours and about 3 hrs of hunting and editing to set it up.

Probably not the most elegant solution, but it IS how other DVDs play stuff like a specific scene when you’re in the scene selelction menus, and you know what????

IT WORKS!!!!!

Published by Michael

Hi - I'm a IT Consultant, happily married, and father of 3. My hobbies are building wood things, church activities, spending time with the family, driving and goofing off, not in any particular order.

Leave a comment

Your email address will not be published. Required fields are marked *