-from Components.Task import Task, Job, job_manager, DiskspacePrecondition, Condition, ToolExistsPrecondition
+from Components.Task import Task, Job, DiskspacePrecondition, Condition, ToolExistsPrecondition
+from Components.Harddisk import harddiskmanager
from Screens.MessageBox import MessageBox
class png2yuvTask(Task):
self.setTool("/usr/bin/png2yuv")
self.args += ["-n1", "-Ip", "-f25", "-j", inputfile]
self.dumpFile = outputfile
- self.weighting = 10
+ self.weighting = 15
def run(self, callback, task_progress_changed):
Task.run(self, callback, task_progress_changed)
self.setTool("/usr/bin/mpeg2enc")
self.args += ["-f8", "-np", "-a2", "-o", outputfile]
self.inputFile = inputfile
- self.weighting = 10
+ self.weighting = 25
def run(self, callback, task_progress_changed):
Task.run(self, callback, task_progress_changed)
self.args += [xmlfile]
self.inputFile = inputfile
self.dumpFile = outputfile
- self.weighting = 10
+ self.weighting = 15
def run(self, callback, task_progress_changed):
Task.run(self, callback, task_progress_changed)
if file.startswith(filename+"."):
self.args += [path+'/'+file]
self.args += [self.job.workspace]
- self.weighting = 10
+ self.weighting = 15
class DemuxTask(Task):
def __init__(self, job, inputfile):
class MplexTask(Task):
ERROR_UNDERRUN, ERROR_UNKNOWN = range(2)
- def __init__(self, job, outputfile, inputfiles=None, demux_task=None):
+ def __init__(self, job, outputfile, inputfiles=None, demux_task=None, weighting = 500):
Task.__init__(self, job, "Mux ES into PS")
- self.weighting = 500
+ self.weighting = weighting
self.demux_task = demux_task
self.postconditions.append(MplexTaskPostcondition())
self.setTool("/usr/bin/mplex")
Task.__init__(self, job, "Remove temp. files")
self.demux_task = demux_task
self.setTool("/bin/rm")
+ self.weighting = 10
def prepare(self):
self.args += ["-f"]
class DVDAuthorTask(Task):
def __init__(self, job, diskspaceNeeded):
Task.__init__(self, job, "Authoring DVD")
-
self.global_preconditions.append(DiskspacePrecondition(diskspaceNeeded))
self.weighting = 300
self.setTool("/usr/bin/dvdauthor")
self.postconditions.append(BurnTaskPostcondition())
self.setTool("/bin/growisofs")
volName = self.getASCIIname(job.project.settings.name.getValue())
- self.args += [ "-dvd-compat", "-Z", "/dev/cdroms/cdrom0", "-V", volName, "-publisher", "Dreambox", "-use-the-force-luke=dummy" ]
+ self.args += [ "-dvd-compat", "-Z", "/dev/" + harddiskmanager.getCD(), "-V", volName, "-publisher", "Dreambox", "-use-the-force-luke=dummy" ]
self.args += extra_args
def getASCIIname(self, name):
self.error = self.ERROR_SIZE
elif line.find("write failed") != -1:
self.error = self.ERROR_WRITE_FAILED
- elif line.find("unable to open64(\"/dev/cdroms/cdrom0\",O_RDONLY): No such file or directory") != -1: # fixme
+ elif line.find("unable to open64(") != -1 and line.find(",O_RDONLY): No such file or directory") != -1:
self.error = self.ERROR_DVDROM
elif line.find("media is not recognized as recordable DVD") != -1:
self.error = self.ERROR_NOTWRITEABLE
Task.__init__(self, job, "Remove temp. files")
self.setTool("/bin/rm")
self.args += ["-rf", self.job.workspace]
+ self.weighting = 10
class PreviewTask(Task):
def __init__(self, job):
Task.__init__(self, job, "Preview")
self.postconditions.append(PreviewTaskPostcondition())
self.job = job
+ self.weighting = 10
def run(self, callback, task_progress_changed):
self.callback = callback
self.previewProject()
else:
self.job.project.session.openWithCallback(self.previewCB, MessageBox, _("Do you want to preview this DVD before burning?"), timeout = 60, default = False)
+
+ def abort(self):
+ self.finish(aborted = True)
def previewCB(self, answer):
if answer == True:
def __init__(self, job, menu_count, spuxmlfilename, menubgpngfilename, highlightpngfilename):
Task.__init__(self, job, "Create Menu %d Image" % menu_count)
self.postconditions.append(ImagingPostcondition())
- self.weighting = 20
+ self.weighting = 10
self.job = job
self.Menus = job.Menus
self.menu_count = menu_count
mpeg2encTask(job, job.workspace+"/dvdmenubg"+num+".yuv", menubgm2vfilename)
menubgmpgfilename = job.workspace+"/dvdmenubg"+num+".mpg"
menuaudiofilename = s.menuaudio.getValue()
- MplexTask(job, outputfile=menubgmpgfilename, inputfiles = [menubgm2vfilename, menuaudiofilename])
+ MplexTask(job, outputfile=menubgmpgfilename, inputfiles = [menubgm2vfilename, menuaudiofilename], weighting = 20)
menuoutputfilename = job.workspace+"/dvdmenu"+num+".mpg"
spumuxTask(job, spuxmlfilename, menubgmpgfilename, menuoutputfilename)
DVDAuthorTask(self, diskSpaceNeeded)
nr_titles = len(self.project.titles)
-
+
if self.menupreview:
PreviewTask(self)
else:
CopyMeta(self, title.inputfile)
BurnTask(self, ["-follow-links", self.workspace])
RemoveDVDFolder(self)
-
-def Burn(session, project):
- j = DVDJob(project)
- job_manager.AddJob(j)
- return j
-
-def PreviewMenu(session, project):
- j = DVDJob(project, menupreview=True)
- job_manager.AddJob(j)
- return j
-
-def BurnDataTS(session, project):
- j = DVDdataJob(project)
- job_manager.AddJob(j)
- return j