Revert "Fix T55668: Volume Keyframe on Cut-ted Metastrip."
authorBastien Montagne <montagne29@wanadoo.fr>
Fri, 11 Jan 2019 11:01:13 +0000 (12:01 +0100)
committerBastien Montagne <montagne29@wanadoo.fr>
Fri, 11 Jan 2019 18:49:06 +0000 (19:49 +0100)
This partially reverts commit bb98e83b99e63348e0396a5ffe5bb2a20ff1607a.
It fixed 'strips having same name' issue, but broke handling of
animation then. Need to find a better way to handle this.

source/blender/blenkernel/BKE_sequencer.h
source/blender/blenkernel/intern/sequencer.c
source/blender/editors/space_sequencer/sequencer_edit.c

index 7051434..043f08a 100644 (file)
@@ -392,7 +392,7 @@ typedef struct SeqLoadInfo {
 
 
 /* seq_dupli' flags */
-#define SEQ_DUPE_UNIQUE_NAME    (1 << 0)  /* WARNING: does NOT work when duplicating Meta strips! */
+#define SEQ_DUPE_UNIQUE_NAME    (1 << 0)
 #define SEQ_DUPE_CONTEXT        (1 << 1)
 #define SEQ_DUPE_ANIM           (1 << 2)
 #define SEQ_DUPE_ALL            (1 << 3) /* otherwise only selected are copied */
index 57b3cd4..ce42f80 100644 (file)
@@ -5516,7 +5516,6 @@ static Sequence *seq_dupli(const Scene *scene_src, Scene *scene_dst, Sequence *s
 
        if (scene_src == scene_dst) {
                if (dupe_flag & SEQ_DUPE_UNIQUE_NAME) {
-                       /* TODO this is broken in case of Meta strips recursive duplication... Not trivial to fix. */
                        BKE_sequence_base_unique_name_recursive(&scene_dst->ed->seqbase, seqn);
                }
 
index d9cc7cb..cb0034b 100644 (file)
@@ -737,7 +737,7 @@ static Sequence *cut_seq_hard(Scene *scene, Sequence *seq, int cutframe)
 
        if (!skip_dup) {
                /* Duplicate AFTER the first change */
-               seqn = BKE_sequence_dupli_recursive(scene, scene, seq, SEQ_DUPE_ANIM);
+               seqn = BKE_sequence_dupli_recursive(scene, scene, seq, SEQ_DUPE_UNIQUE_NAME | SEQ_DUPE_ANIM);
        }
 
        if (seqn) {
@@ -846,7 +846,7 @@ static Sequence *cut_seq_soft(Scene *scene, Sequence *seq, int cutframe)
 
        if (!skip_dup) {
                /* Duplicate AFTER the first change */
-               seqn = BKE_sequence_dupli_recursive(scene, scene, seq, SEQ_DUPE_ANIM);
+               seqn = BKE_sequence_dupli_recursive(scene, scene, seq, SEQ_DUPE_UNIQUE_NAME | SEQ_DUPE_ANIM);
        }
 
        if (seqn) {
@@ -2110,7 +2110,6 @@ static int sequencer_cut_exec(bContext *C, wmOperator *op)
 
                SEQP_BEGIN (ed, seq)
                {
-                       BKE_sequence_base_unique_name_recursive(&ed->seqbase, seq);
                        if (seq->seq1 || seq->seq2 || seq->seq3) {
                                BKE_sequence_calc(scene, seq);
                        }