--- mytharchive/scripts/mythburn.py.orig 2007-07-20 01:09:36.000000000 -0700
+++ mytharchive/scripts/mythburn.py 2007-07-22 23:14:22.000000000 -0700
@@ -1639,6 +1639,7 @@
#Total number of video items on a single menu page (no less than 1!)
itemsperpage = menuitems.length
write( "Menu items per page %s" % itemsperpage)
+ autoplaymenu = 2 + ((numberofitems + itemsperpage - 1)/itemsperpage)
if wantChapterMenu:
#Get the chapter menu node (we must only have 1)
@@ -1684,6 +1685,7 @@
g2=title number selected on current menu page (see g4)
g3=1 if intro movie has played
g4=last menu page on display
+ g5=next title to autoplay (0 or > # titles means no more autoplay)
"""), dvdauthor_element.firstChild )
dvdauthor_element.insertBefore(dvddom.createComment("dvdauthor XML file created by MythBurn script"), dvdauthor_element.firstChild )
@@ -1777,7 +1779,7 @@
#Add this recording to this page's menu...
button=dvddom.createElement("button")
button.setAttribute("name","%s" % itemnum)
- button.appendChild(dvddom.createTextNode("{g2=" + "%s" % itemsonthispage + "; jump title %s;}" % itemnum))
+ button.appendChild(dvddom.createTextNode("{g2=" + "%s" % itemsonthispage + "; g5=0; jump title %s;}" % itemnum))
menupgc.appendChild(button)
del button
@@ -1908,7 +1910,7 @@
pgc.appendChild(vob)
post = dvddom.createElement("post")
- post.appendChild(dvddom.createTextNode("call vmgm menu %s;" % (page + 1)))
+ post.appendChild(dvddom.createTextNode("if (g5 eq %s) call vmgm menu %s; call vmgm menu %s;" % (itemnum + 1, autoplaymenu, page + 1)))
pgc.appendChild(post)
#Quick variable tidy up (not really required under Python)
@@ -1938,6 +1940,12 @@
button.appendChild(dvddom.createTextNode("{g2=1;jump menu %s;}" % (page + 2)))
endbuttons.append(button)
+ elif node.nodeName=="playall":
+ button=dvddom.createElement("button")
+ button.setAttribute("name","playall")
+ button.appendChild(dvddom.createTextNode("{g5=1; jump menu %s;}" % autoplaymenu))
+ endbuttons.append(button)
+
#On to the next item
itemnum+=1
@@ -1948,6 +1956,21 @@
menupgc.appendChild(button)
del button
+ menupgc = dvddom.createElement("pgc")
+ menus_element.appendChild(menupgc)
+ menupgc.setAttribute("pause","inf")
+ menupgc.appendChild( dvddom.createComment("Autoplay hack") )
+
+ dvdcode = ""
+ while (itemnum > 1):
+ itemnum-=1
+ dvdcode += "if (g5 eq %s) {g5 = %s; jump title %s;} " % (itemnum, itemnum + 1, itemnum)
+ dvdcode += "g5 = 0; jump menu 1;"
+
+ pre = dvddom.createElement("pre")
+ pre.appendChild(dvddom.createTextNode(dvdcode))
+ menupgc.appendChild(pre)
+
if wantIntro:
#Menu creation is finished so we know how many pages were created
#add to to jump to the correct one automatically
@@ -2263,6 +2286,35 @@
button.setAttribute("y1","%s" % (getScaledAttribute(node, "y") + getScaledAttribute(node, "h")))
spunode.appendChild(button)
+ elif node.nodeName=="playall":
+ #Overlay playall graphic button onto background
+ imagefilename = getThemeFile(themeName, node.attributes["filename"].value)
+ if not doesFileExist(imagefilename):
+ fatalError("Cannot find image for playall button (%s)." % imagefilename)
+ maskimagefilename = getThemeFile(themeName, node.attributes["mask"].value)
+ if not doesFileExist(maskimagefilename):
+ fatalError("Cannot find mask image for playall button (%s)." % maskimagefilename)
+
+ picture = Image.open(imagefilename,"r").resize((getScaledAttribute(node, "w"), getScaledAttribute(node, "h")))
+ picture = picture.convert("RGBA")
+ bgimage.paste(picture, (getScaledAttribute(node, "x"), getScaledAttribute(node, "y")), picture)
+ del picture
+ write( "Added playall button image %s " % imagefilename)
+
+ picture=Image.open(maskimagefilename,"r").resize((getScaledAttribute(node, "w"), getScaledAttribute(node, "h")))
+ picture=picture.convert("RGBA")
+ bgimagemask.paste(picture, (getScaledAttribute(node, "x"), getScaledAttribute(node, "y")), picture)
+ del picture
+ write( "Added playall button mask image %s" % imagefilename)
+
+ button = spumuxdom.createElement("button")
+ button.setAttribute("name","playall")
+ button.setAttribute("x0","%s" % getScaledAttribute(node, "x"))
+ button.setAttribute("y0","%s" % getScaledAttribute(node, "y"))
+ button.setAttribute("x1","%s" % (getScaledAttribute(node, "x") + getScaledAttribute(node, "w")))
+ button.setAttribute("y1","%s" % (getScaledAttribute(node, "y") + getScaledAttribute(node, "h")))
+ spunode.appendChild(button)
+
elif node.nodeName=="titlemenu":
if itemnum < numberofitems:
#Overlay next graphic button onto background
--- mytharchive/themes/G.A.N.T./theme.xml.orig 2007-07-22 23:22:07.000000000 -0700
+++ mytharchive/themes/G.A.N.T./theme.xml 2007-07-22 23:21:27.000000000 -0700
@@ -13,36 +13,37 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
-
+