{"id":36,"date":"2007-07-17T15:53:35","date_gmt":"2007-07-17T21:53:35","guid":{"rendered":"https:\/\/stringer.cc\/blog\/?p=36"},"modified":"2007-07-17T15:56:30","modified_gmt":"2007-07-17T21:56:30","slug":"make-your-custom-dvds-repeat","status":"publish","type":"post","link":"http:\/\/stringer.cc\/blog\/2007\/07\/17\/make-your-custom-dvds-repeat\/","title":{"rendered":"Make your custom DVDs with multiple titles repeat\/alternate"},"content":{"rendered":"<p>Let&#8217;s just face it &#8211; DVDs with menus just blow.  popcorn.  that tastes like week old manatee poop.   I&#8217;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&#8217;t hurt the originals.<\/p>\n<p>So, I&#8217;m making a custom DVD for a client that has some &#8220;ambience&#8221; DVDs that he wanted combined and to just play and play.<\/p>\n<p>Now, I know how to make just one title repeat with the help of <a href=\"http:\/\/www.doom9.org\" target=\"_blank\">doom9<\/a>&#8216;s forums.  Two titles?  Well, my commands that I use to repeat didn&#8217;t work.  &lt;sigh&gt; time to learn.  and curse.  and blow something up.<\/p>\n<p>First, I got frustrated just due to the fact I couldn&#8217;t find an example of how to just play the titles alternately.  I read a <a href=\"http:\/\/www.dvd-replica.com\/DVD\/index.php\" target=\"_blank\">DVD structure guide<\/a> 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 &#8211; I gotta make a program (more like a script) that can tell which one just played and plays the other because there&#8217;s this things about DVD commands &#8211; they can&#8217;t go between title domains and you can&#8217;t use a JumpTT in a title PGC &#8211; only the First Play PGC.  So, the key was the First Play PGC.<\/p>\n<p>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&#8217;T use, so there&#8217;s some check there for me, the neophyte DVD author.<\/p>\n<p>So, here&#8217;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&#8217;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.<\/p>\n<p>In the First Play PGC in video_ts.ifo, here&#8217;s the precommands:<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/stringer.cc\/blog\/wp-content\/uploads\/2007\/07\/zz_video_ts.gif\" alt=\"zz_video_ts.gif\" \/><\/p>\n<p>OK, so gprm&lt;0&gt; is used by video_ts.<br \/>\nline 1- if gprm&lt;4&gt; &#8211; the one for the titles &#8211; is set to be 2 (aka, title 1 just played), jump to the tests (this could also be line 5).<\/p>\n<p>The next lines run if it&#8217;s the first time the dvd&#8217;s playing OR title 2 just played (mainly because we need to reset gprm&lt;0&gt; to 1).<br \/>\nline 2 &#8211; set gprm&lt;0&gt; = 1 (the default title to play when the DVD is inserted, or after title 2)<br \/>\nline 3 &#8211; set gprm&lt;4&gt; = 1 (same reason as above)<\/p>\n<p>line 4- now, if gprm&lt;0&gt;  (set to 1 on the first run) = gprm&lt;4&gt;, play title 1.  This is FAIL after playing title 2 since gprm&lt;4&gt; is set to &#8220;2&#8221;.<\/p>\n<p>line 5 &#8211; this runs if line 4 doesn&#8217;t fire, so set gprm to 2, this should now equal what gprm&lt;4&gt; was set after playing Title 1.<br \/>\nline 6- check to make sure they equal (this should be the fact they&#8217;re both 2), and play title 2.<\/p>\n<p>Now, here&#8217;s vts_01_0.ifo&#8217;s post command:<br \/>\n<img decoding=\"async\" src=\"https:\/\/stringer.cc\/blog\/wp-content\/uploads\/2007\/07\/zz_video_ts1.gif\" alt=\"zz_video_ts1.gif\" \/><\/p>\n<p>it set gprm&lt;4&gt; to 2 &#8211; the next title, and &#8220;restarts&#8221; the DVD &#8211; playing the first play PGC &#8211; or re-runs the pre commands in video_ts.  The resume is built into the command &#8211; if the &#8220;resume&#8221; key is used, it just restarts the title.<\/p>\n<p>Here&#8217;s vts_02_0.ifo&#8217;s post command:<br \/>\n<img decoding=\"async\" src=\"https:\/\/stringer.cc\/blog\/wp-content\/uploads\/2007\/07\/zz_video_ts2.gif\" alt=\"zz_video_ts2.gif\" \/><\/p>\n<p>It set gprm&lt;4&gt; to 1 and restart the First play again.<\/p>\n<p>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.<\/p>\n<p>Probably not the most elegant solution, but it IS how other DVDs play stuff like a specific scene when you&#8217;re in the scene selelction menus, and you know what????<\/p>\n<p>IT WORKS!!!!!<\/p>\n<p><img decoding=\"async\" src=\"file:\/\/\/C:\/DOCUME%7E1\/MKSTRI%7E1\/LOCALS%7E1\/Temp\/moz-screenshot-1.jpg\" \/><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Let&#8217;s just face it &#8211; DVDs with menus just blow. popcorn. that tastes like week old manatee poop. I&#8217;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&#8217;t hurt the originals. So, I&#8217;m making a custom DVD for &hellip; <\/p>\n<p class=\"link-more\"><a href=\"http:\/\/stringer.cc\/blog\/2007\/07\/17\/make-your-custom-dvds-repeat\/\" class=\"more-link\">Continue reading<span class=\"screen-reader-text\"> &#8220;Make your custom DVDs with multiple titles repeat\/alternate&#8221;<\/span><\/a><\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":false,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2},"jetpack_post_was_ever_published":false},"categories":[8,3],"tags":[],"class_list":["post-36","post","type-post","status-publish","format-standard","hentry","category-geek","category-tech","entry"],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/p8eb30-A","_links":{"self":[{"href":"http:\/\/stringer.cc\/blog\/wp-json\/wp\/v2\/posts\/36","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/stringer.cc\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/stringer.cc\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/stringer.cc\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"http:\/\/stringer.cc\/blog\/wp-json\/wp\/v2\/comments?post=36"}],"version-history":[{"count":0,"href":"http:\/\/stringer.cc\/blog\/wp-json\/wp\/v2\/posts\/36\/revisions"}],"wp:attachment":[{"href":"http:\/\/stringer.cc\/blog\/wp-json\/wp\/v2\/media?parent=36"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/stringer.cc\/blog\/wp-json\/wp\/v2\/categories?post=36"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/stringer.cc\/blog\/wp-json\/wp\/v2\/tags?post=36"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}