def addtranscode (self, filename): model = self.ui.transview.model() newfile = QtCore.QFileInfo (filename) row = model.rowCount() model.insertRow (row) path = QtCore.QDir.toNativeSeparators (newfile.absolutePath()) model.setData (model.index (row, 0), newfile.fileName()) model.setData (model.index (row, 1), 0) model.setData (model.index (row, 2), self.tr ("Transcoding...")) model.setData (model.index (row, 3), path) transcode = Transcoder (QtCore.QDir.toNativeSeparators (newfile.absoluteFilePath()), path, row, self) transcode.playsignal.connect (transcode.play) transcode.pausesignal.connect (transcode.pause) transcode.removesignal.connect (transcode.remove) transcode.updatemodel.connect (self.updatetransmodel) transcode.finished.connect (transcode.deleteLater) transcode.startnewtransfer.connect (self.newtransferred) transcode.startworker() self.transcoding.append ({"worker": transcode, "status": TransTaskProcessing})
def mediafilediscovered (self, row, verified, params): if row >= len (self.checkers): return checker = self.checkers[row] if not verified: le = LoadError() le.move (self.pos() + self.rect().center() - le.rect().center()) le.exec_() # le.show() if checker["operation"] == "Merge": mergerow = checker["params"] model = self.ui.mergeview.model() if not verified: model.setData (model.index (mergerow, 1), "%s" % (self.tr ("Video Source Criteria Not Met"))) model.setData (model.index (mergerow, 2), "") self.removemergerow (mergerow) rownum = 0 for i in xrange (model.rowCount()): if self.mergelist[i] == MergeTaskReadyToProcess or self.mergelist[i] == MergeTaskVerifying: rownum += 1 self.ui.labelmerge.setText (self.tr ("There are %d video clips to be merged.") % rownum) else: model.setData (model.index (mergerow, 1), "%s" % (time2str (params.get ("length")))) model.setData (model.index (mergerow, 2), "%d X %d" % (params.get ("videowidth"), params.get ("videoheight"))) self.mergelist[mergerow] = MergeTaskReadyToProcess self.merger.verifiedtasksignal.emit (mergerow, params, verified) elif checker["operation"] == "Player": if verified: self.player.params = params self.player.playurisignal.emit (checker["params"]) self.ui.labelfilmtitle.setText (QtCore.QFileInfo (checker["params"]).fileName()) elif checker["operation"] == "Transcode": transrow = checker["params"][2] if not verified: self.transcoding [transrow]["status"] = TransTaskDeleted self.ui.transview.setRowHidden (transrow, QtCore.QModelIndex(), True) return transcode = Transcoder (*checker["params"]) transcode.playsignal.connect (transcode.play) transcode.pausesignal.connect (transcode.pause) transcode.removesignal.connect (transcode.remove) transcode.updatemodel.connect (self.updatetransmodel) transcode.finished.connect (transcode.deleteLater) transcode.startnewtransfer.connect (self.newtransferred) transcode.startworker() self.transcoding [transrow]["worker"] = transcode self.transcoding [transrow]["status"] = TransTaskProcessing del checker