class RenderPresetManager(PresetManager): default_path = get_renderpresets_dir() user_path = os.path.join(xdg_data_home(), 'render_presets') def _loadSection(self, filepath): parser = json.loads(open(filepath).read()) name = parser["name"] container = parser["container"] acodec = parser["acodec"] vcodec = parser["vcodec"] cached_encs = CachedEncoderList() if (acodec not in [fact.get_name() for fact in cached_encs.aencoders] or vcodec not in [fact.get_name() for fact in cached_encs.vencoders] or container not in [fact.get_name() for fact in cached_encs.muxers]): return try: width = parser["width"] height = parser["height"] except: width = 0 height = 0 framerate_num = parser["framerate-num"] framerate_denom = parser["framerate-denom"] framerate = Gst.Fraction(framerate_num, framerate_denom) channels = parser["channels"] sample_rate = parser["sample-rate"] self.addPreset(name, { "container": container, "acodec": acodec, "vcodec": vcodec, "width": width, "height": height, "frame-rate": framerate, "channels": channels, "sample-rate": sample_rate, "filepath": filepath, }) def _saveSection(self, fout, section): values = self.presets[section] data = json.dumps({ "name": section, "container": str(values["container"]), "acodec": str(values["acodec"]), "vcodec": str(values["vcodec"]), "width": int(values["width"]), "height": int(values["height"]), "framerate-num": values["frame-rate"].num, "framerate-denom": values["frame-rate"].denom, "channels": values["channels"], "sample-rate": int(values["sample-rate"]), }, indent=4) fout.write(data)
def __init__(self): default_path = get_renderpresets_dir() user_path = os.path.join(xdg_data_home(), 'render_presets') PresetManager.__init__(self, default_path, user_path)
def __init__(self, system, encoders): default_path = get_renderpresets_dir() user_path = os.path.join(xdg_data_home(), 'render_presets') PresetManager.__init__(self, default_path, user_path, system) self.encoders = encoders