예제 #1
0
def _add_compositor(data):
    clip, track, item_id, item_data = data
    x, compositor_type, add_compositors_is_multi_selection = item_data

    target_track_index = track.id - 1
    if current_sequence(
    ).compositing_mode == appconsts.COMPOSITING_MODE_STANDARD_AUTO_FOLLOW:
        target_track_index = current_sequence().first_video_index

    a_track = target_track_index
    b_track = track.id

    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
            compositor_in = current_sequence().tracks[track.id].clip_start(
                clip_index)
            clip_length = composited_clip.clip_out - composited_clip.clip_in
            compositor_out = compositor_in + clip_length

            edit_data = {
                "origin_clip_id": composited_clip.id,
                "in_frame": compositor_in,
                "out_frame": compositor_out,
                "a_track": a_track,
                "b_track": b_track,
                "compositor_type": compositor_type,
                "clip": composited_clip
            }
            action = edit.add_compositor_action(edit_data)
            action.do_edit()

        updater.repaint_tline()
        return

    frame = tlinewidgets.get_frame(x)
    clip_index = track.get_clip_index_at(frame)

    compositor_in = current_sequence().tracks[track.id].clip_start(clip_index)
    clip_length = clip.clip_out - clip.clip_in
    compositor_out = compositor_in + clip_length

    edit_data = {
        "origin_clip_id": clip.id,
        "in_frame": compositor_in,
        "out_frame": compositor_out,
        "a_track": a_track,
        "b_track": b_track,
        "compositor_type": compositor_type,
        "clip": clip
    }
    action = edit.add_compositor_action(edit_data)
    action.do_edit()

    updater.repaint_tline()
예제 #2
0
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()
예제 #3
0
def _add_compositor(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

    compositor_in = current_sequence().tracks[track.id].clip_start(clip_index)
    clip_length = clip.clip_out - clip.clip_in
    compositor_out = compositor_in + clip_length

    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()
예제 #4
0
def _add_compositor(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

    if current_sequence().compositing_mode == appconsts.COMPOSITING_MODE_STANDARD_AUTO_FOLLOW:
        target_track_index = current_sequence().first_video_index

    compositor_in = current_sequence().tracks[track.id].clip_start(clip_index)
    clip_length = clip.clip_out - clip.clip_in
    compositor_out = compositor_in + clip_length

    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()
예제 #5
0
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()
예제 #6
0
def _add_compositor(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

    compositor_in = current_sequence().tracks[track.id].clip_start(clip_index)
    clip_length = clip.clip_out - clip.clip_in
    compositor_out = compositor_in + clip_length

    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}
    action = edit.add_compositor_action(edit_data)
    action.do_edit()
    
    updater.repaint_tline()
예제 #7
0
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()