Example #1
0
    def run(self):
        filename, width, height = self._filename, self._width, self._height

        try:
            if filename.endswith("gif"):
                palette_filename = op.join(get_nodegl_tempdir(), "palette.png")
                pass1_args = ["-vf", "palettegen"]
                pass2_args = self._extra_enc_args + [
                    # fmt: off
                    "-i",
                    palette_filename,
                    "-lavfi",
                    "paletteuse",
                    # fmt: on
                ]
                ok = self._export(palette_filename, width, height, pass1_args)
                if not ok:
                    return
                ok = self._export(filename, width, height, pass2_args)
            else:
                ok = self._export(filename, width, height,
                                  self._extra_enc_args)
            if ok:
                self.export_finished.emit()
        except Exception:
            self.failed.emit(
                "Something went wrong while trying to encode, check encoding parameters"
            )
Example #2
0
 def dump_image(img, dump_index, func_name=None):
     test_tmpdir = op.join(get_nodegl_tempdir(), "tests")
     os.makedirs(test_tmpdir, exist_ok=True)
     filename = op.join(test_tmpdir, f"{func_name}_{dump_index:03}.png")
     print(f"Dumping output image to {filename}")
     img.save(filename)
     dump_index += 1
Example #3
0
    def _update_graph(self, dot_scene):
        basename = op.join(misc.get_nodegl_tempdir(), 'ngl_scene.')
        dotfile = basename + 'dot'
        svgfile = basename + 'svg'
        with open(dotfile, 'w') as f:
            f.write(dot_scene.decode())
        try:
            subprocess.call(['dot', '-Tsvg', dotfile, '-o' + svgfile])
        except OSError as e:
            QtWidgets.QMessageBox.critical(
                self, 'Graphviz error',
                'Error while executing dot (Graphviz): %s' % e.strerror,
                QtWidgets.QMessageBox.Ok)
            return

        item = QtSvg.QGraphicsSvgItem(svgfile)
        self._scene.clear()
        self._scene.addItem(item)
        self._scene.setSceneRect(item.boundingRect())
Example #4
0
    def _update_graph(self, dot_scene):
        basename = op.join(misc.get_nodegl_tempdir(), "ngl_scene.")
        dotfile = basename + "dot"
        svgfile = basename + "svg"
        with open(dotfile, "w") as f:
            f.write(dot_scene.decode())
        try:
            subprocess.call(["dot", "-Tsvg", dotfile, "-o" + svgfile])
        except OSError as e:
            QtWidgets.QMessageBox.critical(
                self,
                "Graphviz error",
                "Error while executing dot (Graphviz): %s" % e.strerror,
                QtWidgets.QMessageBox.Ok,
            )
            return

        item = QtSvgWidgets.QGraphicsSvgItem(svgfile)
        self._scene.clear()
        self._scene.addItem(item)
        self._scene.setSceneRect(item.boundingRect())