def __init__(self, name, renderer, tasks): VisualJob.__init__(self, name, groupId="render") self.renderer = renderer self.tasks = tasks self.SetMaxProgress(len(tasks)) self.resultsForRendererLock = threading.Lock() self.resultForRendererIdx = 0 self.resultsForRendererCache = {} self.taskResultCache = {} self.finalizeHandler = self.renderer.GetFinalizeHandler() self.__logger = logging.getLogger("RenderJob")
def Load(self, importPath=None): wxvJob = VisualJob(_("Loading project %s") % self._filename, self.__Load, args=(importPath,)) wxvJob.SetAltPath = self.SetAltPath dlg = DlgJobVisual(self.__wxParent, wxvJob) dlg.Bind(EVT_JOB_RESULT, self.__OnJobDone) wxvJob.AddVisualJobHandler(dlg) self.__wxvJob = wxvJob JobManager().EnqueueContext(wxvJob) try: return self.__WaitUntilJobDone() finally: dlg.Destroy()
def Load(self, importPath=None): wxvJob = VisualJob(_("Loading project %s") % self._filename, self.__Load, args=(importPath,)) wxvJob.SetAltPath = self.SetAltPath dlg = DlgJobVisual(self.__wxParent, wxvJob) dlg.Bind(EVT_JOB_RESULT, self.__OnJobDone) wxvJob.AddVisualJobHandler(dlg) self.__wxvJob = wxvJob JobManager().EnqueueContext(wxvJob) try: return self.__WaitUntilJobDone() finally: dlg.Destroy()
def Save(self, includePics=False): wxvJob = VisualJob(_("Saving project %s") % self._filename, self.__Save, args=(includePics,), maxProgress=len(self._project.GetPictures())) dlg = DlgJobVisual(self.__wxParent, wxvJob) dlg.Bind(EVT_JOB_RESULT, self.__OnJobDone) wxvJob.AddVisualJobHandler(dlg) self.__wxvJob = wxvJob JobManager().EnqueueContext(wxvJob) try: return self.__WaitUntilJobDone() finally: dlg.Destroy()
def _OnStart(self, outpath, profile=None, gstElements=None): self._UpdateProject() vj = StoryEngine(self.__story.GetMedias(), outpath, profile, gstElements) if outpath is None: # do a preview label = "Preview" groupId = "general" else: label = _("Generate video %s") % outpath groupId = "render" wxvJob = VisualJob(label, vj.Execute, maxProgress=100, groupId=groupId) if outpath: wxvJob.GetOutputFile = lambda: outpath JobManager().EnqueueContext(wxvJob)
def __init__(self, name, renderer, tasks): VisualJob.__init__(self, name, groupId="render") self.renderer = renderer self.tasks = tasks self.SetMaxProgress(len(tasks)) self.imgCacheLock = threading.Lock() self.imgCache = {} self.imgKeyStack = [] self.resultToFetchLock = threading.Lock() self.resultToFetch = 0 self.sink = None self.results = {} self.__logger = logging.getLogger("RenderJob")
def GetWorkLoad(self): task = VisualJob.GetWorkLoad(self) self.SetInfo(task.GetInfo()) self.__logger.debug("%s: %s: %s - start", threading.current_thread().getName(), self.GetName(), task.GetKey()) return task
def __init__(self, name): VisualJob.__init__(self, name, target=lambda: None) self.SetMaxProgress(100)