diff options
author | Campbell Barton <ideasman42@gmail.com> | 2007-10-18 23:40:59 +0400 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2007-10-18 23:40:59 +0400 |
commit | 5beb23236469befdb91537cd2844fedbf17b8115 (patch) | |
tree | 04d0bdb5b870f4f599cea077134d7878340a71bb /source/blender | |
parent | fde4edd1bd03bc8cc1b0878a1f72abc9a26fc8d3 (diff) |
adding a sequence would grab the markers, workaround for this.
Diffstat (limited to 'source/blender')
-rw-r--r-- | source/blender/include/BIF_editseq.h | 1 | ||||
-rw-r--r-- | source/blender/src/editseq.c | 32 |
2 files changed, 24 insertions, 9 deletions
diff --git a/source/blender/include/BIF_editseq.h b/source/blender/include/BIF_editseq.h index 81353c48a9a..54c57e3331d 100644 --- a/source/blender/include/BIF_editseq.h +++ b/source/blender/include/BIF_editseq.h @@ -65,6 +65,7 @@ void swap_select_seq(void); void touch_seq_files(void); void seq_remap_paths(void); void transform_seq(int mode, int context); +void transform_seq_nomarker(int mode, int context); void un_meta(void); void seq_cut(int cutframe); void seq_separate_images(void); diff --git a/source/blender/src/editseq.c b/source/blender/src/editseq.c index eb1ccd966a8..866802036cc 100644 --- a/source/blender/src/editseq.c +++ b/source/blender/src/editseq.c @@ -853,7 +853,7 @@ void mouse_select_seq(void) if(get_last_seq()) allqueue(REDRAWIPO, 0); BIF_undo_push("Select Strips, Sequencer"); - std_rmouse_transform(transform_seq); + std_rmouse_transform(transform_seq_nomarker); } /* marker transform */ @@ -1300,7 +1300,7 @@ static void add_image_strips(char *name) waitcursor(0); BIF_undo_push("Add Image Strip, Sequencer"); - transform_seq('g', 0); + transform_seq_nomarker('g', 0); } @@ -1335,7 +1335,7 @@ static void add_movie_strip(char *name) waitcursor(0); BIF_undo_push("Add Movie Strip, Sequencer"); - transform_seq('g', 0); + transform_seq_nomarker('g', 0); } @@ -1371,7 +1371,7 @@ static void add_movie_and_hdaudio_strip(char *name) waitcursor(0); BIF_undo_push("Add Movie and HD-Audio Strip, Sequencer"); - transform_seq('g', 0); + transform_seq_nomarker('g', 0); } @@ -1400,7 +1400,7 @@ static void add_sound_strip_ram(char *name) waitcursor(0); BIF_undo_push("Add Sound (RAM) Strip, Sequencer"); - transform_seq('g', 0); + transform_seq_nomarker('g', 0); } static void add_sound_strip_hd(char *name) @@ -1428,7 +1428,7 @@ static void add_sound_strip_hd(char *name) waitcursor(0); BIF_undo_push("Add Sound (HD) Strip, Sequencer"); - transform_seq('g', 0); + transform_seq_nomarker('g', 0); } #if 0 @@ -1673,7 +1673,7 @@ static int add_seq_effect(int type, char *str) BIF_undo_push("Add Effect Strip, Sequencer"); } - transform_seq('g', 0); + transform_seq_nomarker('g', 0); return 1; } @@ -1851,7 +1851,7 @@ void add_sequence(int type) if(seq->len>0) strip->stripdata= MEM_callocN(seq->len*sizeof(StripElem), "stripelem"); BIF_undo_push("Add Scene Strip, Sequencer"); - transform_seq('g', 0); + transform_seq_nomarker('g', 0); } } MEM_freeN(str); @@ -2289,7 +2289,7 @@ void add_duplicate_seq(void) addlisttolist(ed->seqbasep, &new); BIF_undo_push("Add Duplicate, Sequencer"); - transform_seq('g', 0); + transform_seq_nomarker('g', 0); } int insert_gap(int gap, int cfra) @@ -3242,6 +3242,20 @@ void transform_seq(int mode, int context) allqueue(REDRAWSEQ, 0); } +/* since grab can move markers, we must turn this off before adding a new sequence + I am not so happy with this, but the baddness in contained here - Campbell */ +void transform_seq_nomarker(int mode, int context) { + SpaceSeq *sseq= curarea->spacedata.first; + int flag_back; + if (!sseq) return; /* should never happen */ + flag_back = sseq->flag; + sseq->flag &= ~SEQ_MARKER_TRANS; + + transform_seq(mode, context); + + sseq->flag = flag_back; +} + void seq_cut(int cutframe) { Editing *ed; |