Revision: 38775
          
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=38775
Author:   campbellbarton
Date:     2011-07-28 03:44:17 +0000 (Thu, 28 Jul 2011)
Log Message:
-----------
sequencer add strips now check for overlap by default (option can be disabled 
for python when this can become problematic for automation).

Modified Paths:
--------------
    trunk/blender/source/blender/editors/space_sequencer/sequencer_add.c

Modified: trunk/blender/source/blender/editors/space_sequencer/sequencer_add.c
===================================================================
--- trunk/blender/source/blender/editors/space_sequencer/sequencer_add.c        
2011-07-28 03:08:35 UTC (rev 38774)
+++ trunk/blender/source/blender/editors/space_sequencer/sequencer_add.c        
2011-07-28 03:44:17 UTC (rev 38775)
@@ -101,6 +101,8 @@
        
        RNA_def_boolean(ot->srna, "replace_sel", 1, "Replace Selection", 
"replace the current selection");
 
+       RNA_def_boolean(ot->srna, "overlap", 0, "Allow Overlap", "Don't correct 
overlap on new sequence strips");
+
        if(flag & SEQPROP_FILES)
                RNA_def_collection_runtime(ot->srna, "files", 
&RNA_OperatorFileListElement, "Files", "");
 }
@@ -250,7 +252,11 @@
                seq_active_set(scene, seq);
                seq->flag |= SELECT;
        }
-       
+
+       if(RNA_boolean_get(op->ptr, "overlap") == FALSE) {
+               if(seq_test_overlap(ed->seqbasep, seq)) 
shuffle_seq(ed->seqbasep, seq, scene);
+       }
+
        WM_event_add_notifier(C, NC_SCENE|ND_SEQUENCER, scene);
        
        return OPERATOR_FINISHED;
@@ -303,8 +309,9 @@
        Scene *scene= CTX_data_scene(C); /* only for sound */
        Editing *ed= seq_give_editing(scene, TRUE);
        SeqLoadInfo seq_load;
-       /* Sequence *seq; */ /* UNUSED */
+       Sequence *seq;
        int tot_files;
+       const short overlap= RNA_boolean_get(op->ptr, "overlap");
 
        seq_load_operator_info(&seq_load, op);
 
@@ -324,13 +331,21 @@
                        RNA_string_get(&itemptr, "name", file_only);
                        BLI_join_dirfile(seq_load.path, sizeof(seq_load.path), 
dir_only, file_only);
 
-                       /* seq= */ seq_load_func(C, ed->seqbasep, &seq_load);
+                       seq= seq_load_func(C, ed->seqbasep, &seq_load);
+
+                       if(overlap == FALSE) {
+                               if(seq_test_overlap(ed->seqbasep, seq)) 
shuffle_seq(ed->seqbasep, seq, scene);
+                       }
                }
                RNA_END;
        }
        else {
                /* single file */
-               /* seq= */ seq_load_func(C, ed->seqbasep, &seq_load);
+               seq= seq_load_func(C, ed->seqbasep, &seq_load);
+
+               if(overlap == FALSE) {
+                       if(seq_test_overlap(ed->seqbasep, seq)) 
shuffle_seq(ed->seqbasep, seq, scene);
+               }
        }
 
        if (seq_load.tot_success==0) {
@@ -506,7 +521,11 @@
 
        /* last active name */
        strncpy(ed->act_imagedir, strip->dir, FILE_MAXDIR-1);
-       
+
+       if(RNA_boolean_get(op->ptr, "overlap") == FALSE) {
+               if(seq_test_overlap(ed->seqbasep, seq)) 
shuffle_seq(ed->seqbasep, seq, scene);
+       }
+
        WM_event_add_notifier(C, NC_SCENE|ND_SEQUENCER, scene);
 
        return OPERATOR_FINISHED;
@@ -656,7 +675,9 @@
                }
        }
 
-       if(seq_test_overlap(ed->seqbasep, seq)) shuffle_seq(ed->seqbasep, seq, 
scene);
+       if(RNA_boolean_get(op->ptr, "overlap") == FALSE) {
+               if(seq_test_overlap(ed->seqbasep, seq)) 
shuffle_seq(ed->seqbasep, seq, scene);
+       }
 
        update_changed_seq_and_deps(scene, seq, 1, 1); /* runs calc_sequence */
 

_______________________________________________
Bf-blender-cvs mailing list
[email protected]
http://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to