def update_marks_display(self): if _player.producer.mark_in == -1: self.mark_in_info.set_text("-") else: self.mark_in_info.set_text(utils.get_tc_string_with_fps(_player.producer.mark_in, _current_fps)) if _player.producer.mark_out == -1: self.mark_out_info.set_text("-") else: self.mark_out_info.set_text(utils.get_tc_string_with_fps(_player.producer.mark_out, _current_fps)) self.mark_in_info.queue_draw() self.mark_out_info.queue_draw()
def show_render_properties_panel(render_item): if render_item.render_data.user_args == False: enc_opt = renderconsumer.encoding_options[render_item.render_data.enc_index] enc_desc = enc_opt.name audio_desc = enc_opt.audio_desc quality_opt = enc_opt.quality_options[render_item.render_data.quality_index] quality_desc = quality_opt.name else: enc_desc = " -" quality_desc = " -" audio_desc = " -" user_args = str(render_item.render_data.user_args) start_frame, end_frame, wait_for_stop_render = get_render_range(render_item) start_str = utils.get_tc_string_with_fps(start_frame, render_item.render_data.fps) end_str = utils.get_tc_string_with_fps(end_frame, render_item.render_data.fps) LEFT_WIDTH = 200 render_item.get_display_name() row0 = guiutils.get_two_column_box(guiutils.bold_label(_("Encoding:")), Gtk.Label(label=enc_desc), LEFT_WIDTH) row1 = guiutils.get_two_column_box(guiutils.bold_label(_("Quality:")), Gtk.Label(label=quality_desc), LEFT_WIDTH) row2 = guiutils.get_two_column_box(guiutils.bold_label(_("Audio Encoding:")), Gtk.Label(label=audio_desc), LEFT_WIDTH) row3 = guiutils.get_two_column_box(guiutils.bold_label(_("Use User Args:")), Gtk.Label(label=user_args), LEFT_WIDTH) row4 = guiutils.get_two_column_box(guiutils.bold_label(_("Start:")), Gtk.Label(label=start_str), LEFT_WIDTH) row5 = guiutils.get_two_column_box(guiutils.bold_label(_("End:")), Gtk.Label(label=end_str), LEFT_WIDTH) row6 = guiutils.get_two_column_box(guiutils.bold_label(_("Frames Per Second:")), Gtk.Label(label=str(render_item.render_data.fps)), LEFT_WIDTH) row7 = guiutils.get_two_column_box(guiutils.bold_label(_("Render Profile Name:")), Gtk.Label(label=str(render_item.render_data.profile_name)), LEFT_WIDTH) row8 = guiutils.get_two_column_box(guiutils.bold_label(_("Render Profile:")), Gtk.Label(label=render_item.render_data.profile_desc), LEFT_WIDTH) vbox = Gtk.VBox(False, 2) vbox.pack_start(Gtk.Label(label=render_item.get_display_name()), False, False, 0) vbox.pack_start(guiutils.get_pad_label(12, 16), False, False, 0) vbox.pack_start(row0, False, False, 0) vbox.pack_start(row1, False, False, 0) vbox.pack_start(row2, False, False, 0) vbox.pack_start(row3, False, False, 0) vbox.pack_start(row4, False, False, 0) vbox.pack_start(row5, False, False, 0) vbox.pack_start(row6, False, False, 0) vbox.pack_start(row7, False, False, 0) vbox.pack_start(row8, False, False, 0) vbox.pack_start(Gtk.Label(), True, True, 0) title = _("Render Properties") dialogutils.panel_ok_dialog(title, vbox)
def update_marks_display(self): if _player.producer.mark_in == -1: self.mark_in_info.set_text("-") else: self.mark_in_info.set_text(utils.get_tc_string_with_fps(_player.producer.mark_in, _current_fps)) if _player.producer.mark_out == -1: self.mark_out_info.set_text("-") else: self.mark_out_info.set_text(utils.get_tc_string_with_fps(_player.producer.mark_out + 1, _current_fps)) if _player.producer.mark_in == -1 or _player.producer.mark_out == -1: self.length_info.set_text("-") else: self.length_info.set_text(str(_player.producer.mark_out - _player.producer.mark_in + 1) + " " + _("frames")) self.mark_in_info.queue_draw() self.mark_out_info.queue_draw() self.length_info.queue_draw()
def run(self): start_time = time.time() try: # For the case the render fails shutil.copyfile(get_current_frame_file(), get_preview_file()) except IOError: # No we have failed to extract a png file from source file Gdk.threads_enter() _window.out_view.override_color((Gtk.StateFlags.NORMAL and Gtk.StateFlags.ACTIVE), Gdk.RGBA(red=1.0, green=0.0, blue=0.0)) _window.out_view.get_buffer().set_text("Extracting PNG frames from this file failed!") Gdk.threads_leave() return Gdk.threads_enter() _window.preview_info.set_markup("<small>" + _("Rendering preview...") + "</small>" ) buf = _window.script_view.get_buffer() view_text = buf.get_text(buf.get_start_iter(), buf.get_end_iter(), False) Gdk.threads_leave() script_str = "gmic " + get_current_frame_file() + " " + view_text + " -output " + get_preview_file() print "Render preview:", script_str FLOG = open(utils.get_hidden_user_dir_path() + "log_gmic_preview", 'w') p = subprocess.Popen(script_str, shell=True, stdin=FLOG, stdout=FLOG, stderr=FLOG) p.wait() FLOG.close() # read log f = open(utils.get_hidden_user_dir_path() + "log_gmic_preview", 'r') out = f.read() f.close() global _current_preview_surface _current_preview_surface = cairo.ImageSurface.create_from_png(get_preview_file()) Gdk.threads_enter() if p.returncode != 0: _window.out_view.override_color((Gtk.StateFlags.NORMAL and Gtk.StateFlags.ACTIVE), Gdk.RGBA(red=1.0, green=0.0, blue=0.0)) else: _window.out_view.override_color((Gtk.StateFlags.NORMAL and Gtk.StateFlags.ACTIVE), None) _window.out_view.get_buffer().set_text(out + "Return code:" + str(p.returncode)) render_time = time.time() - start_time time_str = "{0:.2f}".format(round(render_time,2)) _window.preview_info.set_markup("<small>" + _("Preview for frame: ") + \ utils.get_tc_string_with_fps(_player.current_frame(), _current_fps) + _(", render time: ") + time_str + "</small>" ) _window.preview_monitor.queue_draw() Gdk.threads_leave()
def run(self): start_time = time.time() shutil.copyfile(get_current_frame_file(), get_preview_file()) Gdk.threads_enter() _window.preview_info.set_markup("<small>" + _("Rendering preview...") + "</small>" ) buf = _window.script_view.get_buffer() view_text = buf.get_text(buf.get_start_iter(), buf.get_end_iter(), False) Gdk.threads_leave() script_str = "gmic " + get_current_frame_file() + " " + view_text + " -output " + get_preview_file() print "Render preview:", script_str FLOG = open(utils.get_hidden_user_dir_path() + "log_gmic_preview", 'w') p = subprocess.Popen(script_str, shell=True, stdin=FLOG, stdout=FLOG, stderr=FLOG) p.wait() FLOG.close() # read log f = open(utils.get_hidden_user_dir_path() + "log_gmic_preview", 'r') out = f.read() f.close() global _current_preview_surface _current_preview_surface = cairo.ImageSurface.create_from_png(get_preview_file()) Gdk.threads_enter() _window.out_view.get_buffer().set_text(out) render_time = time.time() - start_time time_str = "{0:.2f}".format(round(render_time,2)) _window.preview_info.set_markup("<small>" + _("Preview for frame: ") + \ utils.get_tc_string_with_fps(_player.current_frame(), _current_fps) + ", render time: " + time_str + "</small>" ) _window.preview_monitor.queue_draw() Gdk.threads_leave()
def show_render_properties_panel(render_item): if render_item.render_data.user_args == False: enc_opt = renderconsumer.encoding_options[ render_item.render_data.enc_index] enc_desc = enc_opt.name audio_desc = enc_opt.audio_desc quality_opt = enc_opt.quality_options[ render_item.render_data.quality_index] quality_desc = quality_opt.name else: enc_desc = " -" quality_desc = " -" audio_desc = " -" user_args = str(render_item.render_data.user_args) start_frame, end_frame, wait_for_stop_render = get_render_range( render_item) start_str = utils.get_tc_string_with_fps(start_frame, render_item.render_data.fps) end_str = utils.get_tc_string_with_fps(end_frame, render_item.render_data.fps) LEFT_WIDTH = 200 render_item.get_display_name() row0 = guiutils.get_two_column_box(guiutils.bold_label(_("Encoding:")), gtk.Label(enc_desc), LEFT_WIDTH) row1 = guiutils.get_two_column_box(guiutils.bold_label(_("Quality:")), gtk.Label(quality_desc), LEFT_WIDTH) row2 = guiutils.get_two_column_box( guiutils.bold_label(_("Audio Encoding:")), gtk.Label(audio_desc), LEFT_WIDTH) row3 = guiutils.get_two_column_box( guiutils.bold_label(_("Use User Args:")), gtk.Label(user_args), LEFT_WIDTH) row4 = guiutils.get_two_column_box(guiutils.bold_label(_("Start:")), gtk.Label(start_str), LEFT_WIDTH) row5 = guiutils.get_two_column_box(guiutils.bold_label(_("End:")), gtk.Label(end_str), LEFT_WIDTH) row6 = guiutils.get_two_column_box( guiutils.bold_label(_("Frames Per Second:")), gtk.Label(str(render_item.render_data.fps)), LEFT_WIDTH) row7 = guiutils.get_two_column_box( guiutils.bold_label(_("Render Profile Name:")), gtk.Label(str(render_item.render_data.profile_name)), LEFT_WIDTH) row8 = guiutils.get_two_column_box( guiutils.bold_label(_("Render Profile:")), gtk.Label(render_item.render_data.profile_desc), LEFT_WIDTH) vbox = gtk.VBox(False, 2) vbox.pack_start(gtk.Label(render_item.get_display_name()), False, False, 0) vbox.pack_start(guiutils.get_pad_label(12, 16), False, False, 0) vbox.pack_start(row0, False, False, 0) vbox.pack_start(row1, False, False, 0) vbox.pack_start(row2, False, False, 0) vbox.pack_start(row3, False, False, 0) vbox.pack_start(row4, False, False, 0) vbox.pack_start(row5, False, False, 0) vbox.pack_start(row6, False, False, 0) vbox.pack_start(row7, False, False, 0) vbox.pack_start(row8, False, False, 0) vbox.pack_start(gtk.Label(), True, True, 0) title = _("Render Properties") dialogutils.panel_ok_dialog(title, vbox)