def update_hidden_track(self, hidden_track, seq_len): if len(self.segments) == 0: edit._insert_blank(hidden_track, 0, seq_len) else: in_frame = 0 index = 0 for segment in self.segments: if segment.start_frame >= seq_len: break # Blank between segments/sequence start if segment.start_frame > in_frame: edit._insert_blank(hidden_track, index, segment.start_frame - in_frame) index += 1 segment_length = segment.end_frame - segment.start_frame # Segment contents if segment.segment_state == SEGMENT_UNRENDERED or segment.segment_state == SEGMENT_DIRTY: edit._insert_blank(hidden_track, index, segment_length - 1) elif segment.segment_state == SEGMENT_RENDERED: edit.append_clip(hidden_track, segment.producer, 0, segment_length - 1) # -1, out incl. in_frame = segment.end_frame index += 1 if hidden_track.get_length() < seq_len: edit._insert_blank(hidden_track, index, seq_len - hidden_track.get_length())
def _copy_track_contents(from_track, to_track, to_sequence): # Copy clips for i in range(0, len(from_track.clips)): clip = from_track.clips[i] if clip.is_blanck_clip != True: edit.append_clip(to_track, clip, clip.clip_in, clip.clip_out) else: edit._insert_blank(to_track, i, clip.clip_out - clip.clip_in + 1) from_track.clear() from_track.clips = [] # Copy track attributes. to_sequence.set_track_mute_state(to_track.id, from_track.mute_state) to_track.edit_freedom = from_track.edit_freedom