I have problems in Mythtv.OpticalDisks.ArchiveFiles.CreateDVD.
I canẗ create a DVD with menues.
If I use theme "Simple Autoplay" it is OK and I get the ISO file ready for burning.
If another theme is used ("MythCenter_-_Autoplay"), I get this error:
"Width and Height must be > 0"
I am running Mageia 6.
Mythtv-frontend package is: Version: 0.28.1-20170528.6.mga6.tainted
mythtv-plugin-archive is: Version: 0.28.1-20170528.6.mga6.tainted
When traying to paint some theme text on to an image, calculating line spacing give an error.
This must be an "beginner" error, but a showstopper for me.
Must I install more fonts ?
Am I missing a mythtv package ?
I am not sure I have cdrtools installed,
Where do i find that ?
Have been looking in forums and Mageia Bugzilla without luck.
Hope someone can point me in the right direction.
Below is how I have come to the conclusion above.
Best regards
Anders
From mythburn.log I see this:
- Code: Select all
*************************************************************
Finished processing '/home/anders/Videos/babyistol.mpeg'
*************************************************************
Creating details pages
Background image file is /usr/share/mythtv/mytharchive/themes/MythCenter_-_Autoplay/MythCenter-Background.png
Music is silence.ac3, length is 5 seconds
Creating details page for 1
Image (720, 576) into space of (275, 205) at (55, 55)
Image resized to (275, 205) at (55, 55)
Added image /home/anders/Downloads/MythTVTmp/work/1/title.jpg
Wrapped text = babyistol
Wrapped text = Baby i stol
------------------------------------------------------------
Traceback (most recent call last):
File "/usr/share/mythtv/mytharchive/scripts/mythburn.py", line 5269, in main
processJob(job)
File "/usr/share/mythtv/mytharchive/scripts/mythburn.py", line 4975, in processJob
createDetailsPage(format, dpi, files.length)
File "/usr/share/mythtv/mytharchive/scripts/mythburn.py", line 3969, in createDetailsPage
"", spumuxdom, spunode, numberofitems, 0, "")
File "/usr/share/mythtv/mytharchive/scripts/mythburn.py", line 3349, in drawThemeItem
paintText(draw, bgimage, text, node)
File "/usr/share/mythtv/mytharchive/scripts/mythburn.py", line 1183, in paintText
textImage = font.drawText(lines[0])
File "/usr/share/mythtv/mytharchive/scripts/mythburn.py", line 257, in drawText
image = Image.new("RGBA", (textwidth + (self.shadowSize * 2), textheight), (0,0,0,0))
File "/usr/lib64/python2.7/site-packages/PIL/Image.py", line 2021, in new
_check_size(size)
File "/usr/lib64/python2.7/site-packages/PIL/Image.py", line 2001, in _check_size
raise ValueError("Width and Height must be > 0")
ValueError: Width and Height must be > 0
------------------------------------------------------------
From the header of mythburn.py:
- Code: Select all
# For this script to work you need to have...
# Python - v2.6 or later
# mythtv python bindings installed
# python-imaging (PIL) or Pillow the fork of PIL
# dvdauthor - v0.6.14
# dvd+rw-tools - v7.1
# cdrtools - v3.01
I think I have installed everything above, but not sure about cdrtools.
Where do I find that ?
If I don't have cdrtools can that be the problem ?
Looking at line 1183 in mythburn.py I get this:
- Code: Select all
#############################################################
# Paint some theme text on to an image
def paintText(draw, image, text, node, color = None,
x = None, y = None, width = None, height = None):
"""Takes a piece of text and draws it onto an image inside a bounding box."""
#The text is wider than the width of the bounding box
if x == None:
x = getScaledAttribute(node, "x")
y = getScaledAttribute(node, "y")
width = getScaledAttribute(node, "w")
height = getScaledAttribute(node, "h")
font = themeFonts[node.attributes["font"].value]
if color == None:
if node.hasAttribute("colour"):
color = node.attributes["colour"].value
elif node.hasAttribute("color"):
color = node.attributes["color"].value
else:
color = None
if node.hasAttribute("halign"):
halign = node.attributes["halign"].value
elif node.hasAttribute("align"):
halign = node.attributes["align"].value
else:
halign = "left"
if node.hasAttribute("valign"):
valign = node.attributes["valign"].value
else:
valign = "top"
if node.hasAttribute("vindent"):
vindent = int(node.attributes["vindent"].value)
else:
vindent = 0
if node.hasAttribute("hindent"):
hindent = int(node.attributes["hindent"].value)
else:
hindent = 0
lines = intelliDraw(draw, text, font, width - (hindent * 2))
j = 0
# work out what the line spacing should be
textImage = font.drawText(lines[0]) <-------- Line 1183
h = int(textImage.size[1] * 1.1)