def _add_autofade(data): clip, track, item_id, item_data = data x, compositor_type = item_data frame = tlinewidgets.get_frame(x) clip_index = track.get_clip_index_at(frame) target_track_index = track.id - 1 clip_length = clip.clip_out - clip.clip_in if compositor_type == "##auto_fade_in": compositor_in = current_sequence().tracks[track.id].clip_start( clip_index) compositor_out = compositor_in + int(utils.fps()) - 1 else: clip_start = current_sequence().tracks[track.id].clip_start(clip_index) compositor_out = clip_start + clip_length compositor_in = compositor_out - int(utils.fps()) + 1 edit_data = { "origin_clip_id": clip.id, "in_frame": compositor_in, "out_frame": compositor_out, "a_track": target_track_index, "b_track": track.id, "compositor_type": compositor_type, "clip": clip } action = edit.add_compositor_action(edit_data) action.do_edit() updater.repaint_tline()
def _add_autofade(data): clip, track, item_id, item_data = data x, compositor_type = item_data frame = tlinewidgets.get_frame(x) clip_index = track.get_clip_index_at(frame) target_track_index = track.id - 1 clip_length = clip.clip_out - clip.clip_in if compositor_type == "##auto_fade_in": compositor_in = current_sequence().tracks[track.id].clip_start(clip_index) compositor_out = compositor_in + int(utils.fps()) - 1 else: clip_start = current_sequence().tracks[track.id].clip_start(clip_index) compositor_out = clip_start + clip_length compositor_in = compositor_out - int(utils.fps()) + 1 edit_data = {"origin_clip_id":clip.id, "in_frame":compositor_in, "out_frame":compositor_out, "a_track":target_track_index, "b_track":track.id, "compositor_type":compositor_type, "clip":clip} action = edit.add_compositor_action(edit_data) action.do_edit() updater.repaint_tline()
def _write_offsets(video_file_path, audio_file_path, completed_callback): print "Starting clapperless analysis..." fps = str(int(utils.fps() + 0.5)) idstr = _get_offset_file_idstr(video_file_path, audio_file_path) FLOG = open(utils.get_hidden_user_dir_path() + "log_clapperless", 'w') # clapperless.py computes offsets and writes them to file clapperless.OFFSETS_DATA_FILE p = subprocess.Popen([sys.executable, respaths.LAUNCH_DIR + "flowbladeclapperless", video_file_path, audio_file_path, "--rate", fps, "--idstr", idstr], stdin=FLOG, stdout=FLOG, stderr=FLOG) p.wait() # Offsets are now available GLib.idle_add(completed_callback, (video_file_path, audio_file_path, idstr))
def _add_autofade(data): # NOTE: These stay synhced only in "Top Down Auto Follow" mode, see: edit.get_full_compositor_sync_data() clip, track, item_id, item_data = data x, compositor_type, add_compositors_is_multi_selection = item_data frame = tlinewidgets.get_frame(x) clip_index = track.get_clip_index_at(frame) target_track_index = track.id - 1 if add_compositors_is_multi_selection == True: for clip_index in range(movemodes.selected_range_in, movemodes.selected_range_out + 1): composited_clip = track.clips[clip_index] if composited_clip.is_blanck_clip == True: continue clip_length = composited_clip.clip_out - composited_clip.clip_in if compositor_type == "##auto_fade_in": compositor_in = current_sequence().tracks[track.id].clip_start( clip_index) compositor_out = compositor_in + int(utils.fps()) - 1 else: # fade out clip_start = current_sequence().tracks[track.id].clip_start( clip_index) compositor_out = clip_start + clip_length compositor_in = compositor_out - int(utils.fps()) + 1 edit_data = { "origin_clip_id": composited_clip.id, "in_frame": compositor_in, "out_frame": compositor_out, "a_track": target_track_index, "b_track": track.id, "compositor_type": compositor_type, "clip": composited_clip } action = edit.add_compositor_action(edit_data) action.do_edit() updater.repaint_tline() return clip_length = clip.clip_out - clip.clip_in if compositor_type == "##auto_fade_in": compositor_in = current_sequence().tracks[track.id].clip_start( clip_index) compositor_out = compositor_in + int(utils.fps()) - 1 else: # fade out clip_start = current_sequence().tracks[track.id].clip_start(clip_index) compositor_out = clip_start + clip_length compositor_in = compositor_out - int(utils.fps()) + 1 edit_data = { "origin_clip_id": clip.id, "in_frame": compositor_in, "out_frame": compositor_out, "a_track": target_track_index, "b_track": track.id, "compositor_type": compositor_type, "clip": clip } action = edit.add_compositor_action(edit_data) action.do_edit() updater.repaint_tline()