def _display_file_info(media_file): clip = current_sequence().create_file_producer_clip(media_file.path) width = clip.get("width") height = clip.get("height") size = str(width) + " x " + str(height) length = utils.get_tc_string(clip.get_length()) try: img = guiutils.get_gtk_image_from_file(media_file.icon_path, 300) except: print "_display_file_info() failed to get thumbnail" video_index = clip.get_int("video_index") audio_index = clip.get_int("audio_index") long_video_property = "meta.media." + str(video_index) + ".codec.long_name" long_audio_property = "meta.media." + str(audio_index) + ".codec.long_name" sample_rate_property = "meta.media." + str(audio_index) + ".codec.sample_rate" channels_property = "meta.media." + str(audio_index) + ".codec.channels" vcodec = clip.get(str(long_video_property)) acodec = clip.get(str(long_audio_property)) channels = str(clip.get_int(str(channels_property))) frequency = str(clip.get_int(str(sample_rate_property))) + "Hz" try: num = float(clip.get("meta.media.frame_rate_num")) # from producer_avformat.c den = float(clip.get("meta.media.frame_rate_den")) # from producer_avformat.c fps = str(num/den) except: fps ="N/A" dialogs.file_properties_dialog((media_file, img, size, length, vcodec, acodec, channels, frequency, fps))
def _display_file_info(media_file): # get info clip = current_sequence().create_file_producer_clip(media_file.path) info = utils.get_file_producer_info(clip) width = info["width"] height = info["height"] size = str(width) + " x " + str(height) length = utils.get_tc_string(info["length"]) try: img = guiutils.get_gtk_image_from_file(media_file.icon_path, 300) except: print "_display_file_info() failed to get thumbnail" vcodec = info["vcodec"] acodec = info["acodec"] channels = str(info["channels"]) frequency = str(info["frequency"]) + "Hz" try: num = info["fps_num"] den = info["fps_den"] fps = float(num/den) except: fps ="N/A" dialogs.file_properties_dialog((media_file, img, size, length, vcodec, acodec, channels, frequency, fps))
def _display_file_info(media_file): # get info clip = current_sequence().create_file_producer_clip(media_file.path) info = utils.get_file_producer_info(clip) width = info["width"] height = info["height"] size = str(width) + " x " + str(height) length = utils.get_tc_string(info["length"]) try: img = guiutils.get_gtk_image_from_file(media_file.icon_path, 300) except: print "_display_file_info() failed to get thumbnail" vcodec = info["vcodec"] acodec = info["acodec"] channels = str(info["channels"]) frequency = str(info["frequency"]) + "Hz" try: num = info["fps_num"] den = info["fps_den"] fps = float(num / den) except: fps = "N/A" dialogs.file_properties_dialog((media_file, img, size, length, vcodec, acodec, channels, frequency, fps))
def export_screenshot_dialog(callback, frame, parent_window, project_name): cancel_str = _("Cancel").encode("utf-8") ok_str = _("Export Image").encode("utf-8") dialog = Gtk.Dialog( _("Export Frame Image"), parent_window, Gtk.DialogFlags.MODAL | Gtk.DialogFlags.DESTROY_WITH_PARENT, (cancel_str, Gtk.ResponseType.CANCEL, ok_str, Gtk.ResponseType.YES), ) global _screenshot_img _screenshot_img = guiutils.get_gtk_image_from_file(get_displayed_image_path(), 300) frame_frame = guiutils.get_named_frame_with_vbox(None, [_screenshot_img]) INPUT_LABELS_WITDH = 320 project_name = project_name.strip(".flb") file_name = Gtk.Entry() file_name.set_text(project_name) extension_label = Gtk.Label(label=".png") extension_label.set_size_request(35, 20) name_pack = Gtk.HBox(False, 4) name_pack.pack_start(file_name, True, True, 0) name_pack.pack_start(extension_label, False, False, 0) name_row = guiutils.get_two_column_box(Gtk.Label(label=_("Export file name:")), name_pack, INPUT_LABELS_WITDH) out_folder = Gtk.FileChooserButton(_("Select target folder")) out_folder.set_action(Gtk.FileChooserAction.SELECT_FOLDER) out_folder.set_current_folder(os.path.expanduser("~") + "/") folder_row = guiutils.get_two_column_box(Gtk.Label(label=_("Export folder:")), out_folder, INPUT_LABELS_WITDH) file_type_combo = Gtk.ComboBoxText() for img in _img_types: file_type_combo.append_text(img) file_type_combo.set_active(0) file_type_combo.connect("changed", _file_type_changed, extension_label) file_type_row = guiutils.get_two_column_box(Gtk.Label(label=_("Image type:")), file_type_combo, INPUT_LABELS_WITDH) file_frame = guiutils.get_named_frame_with_vbox(None, [file_type_row, name_row, folder_row]) vbox = Gtk.VBox(False, 2) vbox.pack_start(frame_frame, False, False, 0) vbox.pack_start(guiutils.pad_label(12, 12), False, False, 0) vbox.pack_start(file_frame, False, False, 0) alignment = guiutils.set_margins(vbox, 12, 12, 12, 12) dialog.vbox.pack_start(alignment, True, True, 0) dialogutils.set_outer_margins(dialog.vbox) dialogutils.default_behaviour(dialog) dialog.connect( "response", callback, (file_name, out_folder, file_type_combo, frame) ) # (file_name, out_folder, track_select_combo, cascade_check, op_combo, audio_track_select_combo)) dialog.show_all()
def export_screenshot_dialog(callback, frame, parent_window, project_name): cancel_str = _("Cancel").encode('utf-8') ok_str = _("Export Image").encode('utf-8') dialog = gtk.Dialog(_("Export Frame Image"), parent_window, gtk.DIALOG_MODAL | gtk.DIALOG_DESTROY_WITH_PARENT, (cancel_str, gtk.RESPONSE_CANCEL, ok_str, gtk.RESPONSE_YES)) global _screenshot_img _screenshot_img = guiutils.get_gtk_image_from_file(get_displayed_image_path(), 300) frame_frame = guiutils.get_named_frame_with_vbox(None, [_screenshot_img]) INPUT_LABELS_WITDH = 320 project_name = project_name.strip(".flb") file_name = gtk.Entry() file_name.set_text(project_name) extension_label = gtk.Label(".png") extension_label.set_size_request(35, 20) name_pack = gtk.HBox(False, 4) name_pack.pack_start(file_name, True, True, 0) name_pack.pack_start(extension_label, False, False, 0) name_row = guiutils.get_two_column_box(gtk.Label(_("Export file name:")), name_pack, INPUT_LABELS_WITDH) out_folder = gtk.FileChooserButton(_("Select target folder")) out_folder.set_action(gtk.FILE_CHOOSER_ACTION_SELECT_FOLDER) out_folder.set_current_folder(os.path.expanduser("~") + "/") folder_row = guiutils.get_two_column_box(gtk.Label(_("Export folder:")), out_folder, INPUT_LABELS_WITDH) file_type_combo = gtk.combo_box_new_text() for img in _img_types: file_type_combo.append_text(img) file_type_combo.set_active(0) file_type_combo.connect("changed", _file_type_changed, extension_label) file_type_row = guiutils.get_two_column_box(gtk.Label(_("Image type:")), file_type_combo, INPUT_LABELS_WITDH) file_frame = guiutils.get_named_frame_with_vbox(None, [file_type_row, name_row, folder_row]) vbox = gtk.VBox(False, 2) vbox.pack_start(frame_frame, False, False, 0) vbox.pack_start(guiutils.pad_label(12, 12), False, False, 0) vbox.pack_start(file_frame, False, False, 0) alignment = gtk.Alignment(0.5, 0.5, 1.0, 1.0) alignment.set_padding(12, 12, 12, 12) alignment.add(vbox) dialog.vbox.pack_start(alignment, True, True, 0) dialogutils.default_behaviour(dialog) dialog.connect('response', callback, (file_name, out_folder, file_type_combo, frame)) #(file_name, out_folder, track_select_combo, cascade_check, op_combo, audio_track_select_combo)) dialog.show_all()
def export_screenshot_dialog(callback, frame, parent_window, project_name): cancel_str = _("Cancel").encode('utf-8') ok_str = _("Export Image").encode('utf-8') dialog = Gtk.Dialog(_("Export Frame Image"), parent_window, Gtk.DialogFlags.MODAL | Gtk.DialogFlags.DESTROY_WITH_PARENT, (cancel_str, Gtk.ResponseType.CANCEL, ok_str, Gtk.ResponseType.YES)) global _screenshot_img _screenshot_img = guiutils.get_gtk_image_from_file(get_displayed_image_path(), 300) frame_frame = guiutils.get_named_frame_with_vbox(None, [_screenshot_img]) INPUT_LABELS_WITDH = 320 project_name = project_name.strip(".flb") file_name = Gtk.Entry() file_name.set_text(project_name) extension_label = Gtk.Label(label=".png") extension_label.set_size_request(35, 20) name_pack = Gtk.HBox(False, 4) name_pack.pack_start(file_name, True, True, 0) name_pack.pack_start(extension_label, False, False, 0) name_row = guiutils.get_two_column_box(Gtk.Label(label=_("Export file name:")), name_pack, INPUT_LABELS_WITDH) out_folder = Gtk.FileChooserButton(_("Select target folder")) out_folder.set_action(Gtk.FileChooserAction.SELECT_FOLDER) out_folder.set_current_folder(os.path.expanduser("~") + "/") folder_row = guiutils.get_two_column_box(Gtk.Label(label=_("Export folder:")), out_folder, INPUT_LABELS_WITDH) file_type_combo = Gtk.ComboBoxText() for img in _img_types: file_type_combo.append_text(img) file_type_combo.set_active(0) file_type_combo.connect("changed", _file_type_changed, extension_label) file_type_row = guiutils.get_two_column_box(Gtk.Label(label=_("Image type:")), file_type_combo, INPUT_LABELS_WITDH) file_frame = guiutils.get_named_frame_with_vbox(None, [file_type_row, name_row, folder_row]) vbox = Gtk.VBox(False, 2) vbox.pack_start(frame_frame, False, False, 0) vbox.pack_start(guiutils.pad_label(12, 12), False, False, 0) vbox.pack_start(file_frame, False, False, 0) alignment = guiutils.set_margins(vbox, 12, 12, 12, 12) dialog.vbox.pack_start(alignment, True, True, 0) dialogutils.set_outer_margins(dialog.vbox) dialogutils.default_behaviour(dialog) dialog.connect('response', callback, (file_name, out_folder, file_type_combo, frame)) #(file_name, out_folder, track_select_combo, cascade_check, op_combo, audio_track_select_combo)) dialog.show_all()
def _display_file_info(media_file): # get info clip = current_sequence().create_file_producer_clip(media_file.path) info = utils.get_file_producer_info(clip) width = info["width"] height = info["height"] if media_file.type == appconsts.IMAGE: graphic_img = Image.open(media_file.path) width, height = graphic_img.size size = str(width) + " x " + str(height) length = utils.get_tc_string(info["length"]) try: img = guiutils.get_gtk_image_from_file(media_file.icon_path, 300) except: print "_display_file_info() failed to get thumbnail" vcodec = info["vcodec"] acodec = info["acodec"] if vcodec == None: vcodec = _("N/A") if acodec == None: acodec = _("N/A") channels = str(info["channels"]) frequency = str(info["frequency"]) + "Hz" if media_file.type == appconsts.VIDEO: match_profile_index = mltprofiles.get_closest_matching_profile_index( info) match_profile_name = mltprofiles.get_profile_name_for_index( match_profile_index) else: match_profile_name = _("N/A") if media_file.type == appconsts.VIDEO: if media_file.matches_project_profile(): matches_project_profile = _("Yes") else: matches_project_profile = _("No") else: matches_project_profile = _("N/A") try: num = info["fps_num"] den = info["fps_den"] fps = float(num / den) except: fps = _("N/A") dialogs.file_properties_dialog( (media_file, img, size, length, vcodec, acodec, channels, frequency, fps, match_profile_name, matches_project_profile))
def _display_file_info(media_file): # get info clip = current_sequence().create_file_producer_clip(media_file.path) info = utils.get_file_producer_info(clip) width = info["width"] height = info["height"] if media_file.type == appconsts.IMAGE: graphic_img = Image.open(media_file.path) width, height = graphic_img.size size = str(width) + " x " + str(height) length = utils.get_tc_string(info["length"]) try: img = guiutils.get_gtk_image_from_file(media_file.icon_path, 300) except: print "_display_file_info() failed to get thumbnail" vcodec = info["vcodec"] acodec = info["acodec"] if vcodec == None: vcodec = _("N/A") if acodec == None: acodec = _("N/A") channels = str(info["channels"]) frequency = str(info["frequency"]) + "Hz" if media_file.type == appconsts.VIDEO: match_profile_index = mltprofiles.get_closest_matching_profile_index(info) match_profile_name = mltprofiles.get_profile_name_for_index(match_profile_index) else: match_profile_name = _("N/A") if media_file.type == appconsts.VIDEO: if media_file.matches_project_profile(): matches_project_profile = _("Yes") else: matches_project_profile = _("No") else: matches_project_profile = _("N/A") try: num = info["fps_num"] den = info["fps_den"] fps = float(num/den) except: fps = _("N/A") dialogs.file_properties_dialog((media_file, img, size, length, vcodec, acodec, channels, frequency, fps, match_profile_name, matches_project_profile))