def _relink_project_media_paths(): # Collect relink paths relinked_paths = {} for media_asset in media_assets: if media_asset.relink_path != None: relinked_paths[media_asset.orig_path] = media_asset.relink_path # Relink media file media assets for media_file_id, media_file in target_project.media_files.iteritems(): if isinstance(media_file, patternproducer.AbstractBinClip): continue if media_file.path in relinked_paths: media_file.path = relinked_paths[media_file.path] for seq in target_project.sequences: # Relink clip media assets for track in seq.tracks: for i in range(0, len(track.clips)): clip = track.clips[i] if (clip.is_blanck_clip == False and (clip.media_type != appconsts.PATTERN_PRODUCER)): if clip.path in relinked_paths: clip.path = relinked_paths[clip.path] # Relink wipe lumas for compositor in seq.compositors: if compositor.type_id == "##wipe": res_path = propertyparse.get_property_value(compositor.transition.properties, "resource") if res_path in relinked_paths: propertyparse.set_property_value(compositor.transition.properties, "resource", relinked_paths[res_path]) if compositor.type_id == "##region": res_path = propertyparse.get_property_value(compositor.transition.properties, "composite.luma") if res_path in relinked_paths: propertyparse.set_property_value(compositor.transition.properties, "composite.luma", relinked_paths[res_path])
def copy_comp_resourse_file(compositor, res_property, media_folder): res_path = propertyparse.get_property_value( compositor.transition.properties, res_property) directory, file_name = os.path.split(res_path) res_file_copy = media_folder + file_name if not os.path.isfile(res_file_copy): shutil.copyfile(res_path, res_file_copy)
def _update_media_assets(): # Collect all media assets used by project new_assets = [] asset_paths = {} # Media file media assets for media_file_id, media_file in target_project.media_files.iteritems(): if isinstance(media_file, patternproducer.AbstractBinClip): continue try: new_assets.append(MediaAsset(media_file.path, media_file.type)) asset_paths[media_file.path] = media_file.path except: print "failed loading:", media_file for seq in target_project.sequences: # Clip media assets for track in seq.tracks: for i in range(0, len(track.clips)): clip = track.clips[i] # Only producer clips are affected if (clip.is_blanck_clip == False and (clip.media_type != appconsts.PATTERN_PRODUCER)): if not (clip.path in asset_paths): new_assets.append( MediaAsset(clip.path, clip.media_type)) asset_paths[clip.path] = clip.path # Wipe lumas for compositor in seq.compositors: res_path = None if compositor.type_id == "##wipe": # Wipe may have user luma and needs to be looked up relatively res_path = propertyparse.get_property_value( compositor.transition.properties, "resource") if compositor.type_id == "##region": # Wipe may have user luma and needs to be looked up relatively res_path = propertyparse.get_property_value( compositor.transition.properties, "composite.luma") if res_path != None: if not (res_path in asset_paths): new_assets.append(MediaAsset(res_path, appconsts.IMAGE)) asset_paths[res_path] = res_path global media_assets media_assets = new_assets
def _update_media_assets(): # Collect all media assets used by project new_assets = [] asset_paths = {} # Media file media assets for media_file_id, media_file in target_project.media_files.iteritems(): if isinstance(media_file, patternproducer.AbstractBinClip): continue try: new_assets.append(MediaAsset(media_file.path, media_file.type)) asset_paths[media_file.path] = media_file.path except: print "failed loading:", media_file for seq in target_project.sequences: # Clip media assets for track in seq.tracks: for i in range(0, len(track.clips)): clip = track.clips[i] # Only producer clips are affected if (clip.is_blanck_clip == False and (clip.media_type != appconsts.PATTERN_PRODUCER)): if not(clip.path in asset_paths): new_assets.append(MediaAsset(clip.path, clip.media_type)) asset_paths[clip.path] = clip.path # Wipe lumas for compositor in seq.compositors: res_path = None if compositor.type_id == "##wipe": # Wipe may have user luma and needs to be looked up relatively res_path = propertyparse.get_property_value(compositor.transition.properties, "resource") if compositor.type_id == "##region": # Wipe may have user luma and needs to be looked up relatively res_path = propertyparse.get_property_value(compositor.transition.properties, "composite.luma") if res_path != None: if not(res_path in asset_paths): new_assets.append(MediaAsset(res_path, appconsts.IMAGE)) asset_paths[res_path] = res_path global media_assets media_assets = new_assets
def _set_wipe_res_path(compositor, res_property): res_path = propertyparse.get_property_value( compositor.transition.properties, res_property) new_path = get_media_asset_path(res_path, _load_file_path) propertyparse.set_property_value(compositor.transition.properties, res_property, new_path)
def copy_comp_resourse_file(compositor, res_property, media_folder): res_path = propertyparse.get_property_value(compositor.transition.properties, res_property) directory, file_name = os.path.split(res_path) res_file_copy = media_folder + file_name if not os.path.isfile(res_file_copy): shutil.copyfile(res_path, res_file_copy)
def _set_wipe_res_path(compositor, res_property): res_path = propertyparse.get_property_value(compositor.transition.properties, res_property) new_path = get_media_asset_path(res_path, _load_file_path) propertyparse.set_property_value(compositor.transition.properties, res_property, new_path)