diff options
author | Campbell Barton <ideasman42@gmail.com> | 2011-04-01 12:51:12 +0400 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2011-04-01 12:51:12 +0400 |
commit | 6d3546069c270136856815365883c6490dbff25d (patch) | |
tree | 0cdff0a0afd6927ade990f868e331a8ce3e7eaad /source/blender/editors/space_sequencer | |
parent | 308f813f3a1e7269e33212d07438d312bc8fcd58 (diff) |
fix [#26713] Video Sequencer: Audio mute after making meta strip copy/paste
was not recursively restoring sound strips on paste.
also found many duplicate functions were defining the transform mode as in int but getting as an enum, use enum for both now.
Diffstat (limited to 'source/blender/editors/space_sequencer')
-rw-r--r-- | source/blender/editors/space_sequencer/sequencer_edit.c | 28 |
1 files changed, 4 insertions, 24 deletions
diff --git a/source/blender/editors/space_sequencer/sequencer_edit.c b/source/blender/editors/space_sequencer/sequencer_edit.c index 48bdcb88618..048581e207e 100644 --- a/source/blender/editors/space_sequencer/sequencer_edit.c +++ b/source/blender/editors/space_sequencer/sequencer_edit.c @@ -62,6 +62,7 @@ #include "WM_types.h" #include "RNA_define.h" +#include "RNA_enum_types.h" /* for menu/popup icons etc etc*/ @@ -1678,7 +1679,7 @@ void SEQUENCER_OT_duplicate(wmOperatorType *ot) ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO; /* to give to transform */ - RNA_def_int(ot->srna, "mode", TFM_TRANSLATION, 0, INT_MAX, "Mode", "", 0, INT_MAX); + RNA_def_enum(ot->srna, "mode", transform_mode_types, TFM_TRANSLATION, "Mode", ""); } /* delete operator */ @@ -2671,21 +2672,6 @@ void SEQUENCER_OT_copy(wmOperatorType *ot) /* properties */ } -static void seq_offset(Scene *scene, Sequence *seq, int ofs) -{ - if(seq->type == SEQ_META) { - Sequence *iseq; - for(iseq= seq->seqbase.first; iseq; iseq= iseq->next) { - seq_offset(scene, iseq, ofs); - } - } - else { - seq->start += ofs; - } - - calc_sequence_disp(scene, seq); -} - static int sequencer_paste_exec(bContext *C, wmOperator *UNUSED(op)) { Scene *scene= CTX_data_scene(C); @@ -2702,14 +2688,8 @@ static int sequencer_paste_exec(bContext *C, wmOperator *UNUSED(op)) /* transform pasted strips before adding */ if(ofs) { for(iseq= nseqbase.first; iseq; iseq= iseq->next) { - seq_offset(scene, iseq, ofs); - /* XXX, ffmpeg too? */ - if(iseq->sound) { - iseq->scene_sound = sound_add_scene_sound(scene, iseq, iseq->startdisp, iseq->enddisp, iseq->startofs + iseq->anim_startofs); - } - if(iseq->scene) { - sound_scene_add_scene_sound(scene, iseq, iseq->startdisp, iseq->enddisp, iseq->startofs + iseq->anim_startofs); - } + seq_translate(scene, iseq, ofs); + seq_sound_init(scene, iseq); } } |