From 8aa0f9b033eff5aa4f6b66d3148d6379a60ebf06 Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Sun, 4 Jul 2010 10:51:10 +0000 Subject: last fix still could give corrupt sound, rather then updating the sound info just add and remove the sound handle. --- source/blender/blenkernel/intern/sequencer.c | 4 ++-- source/blender/editors/space_sequencer/sequencer_edit.c | 11 ++++++++--- 2 files changed, 10 insertions(+), 5 deletions(-) (limited to 'source') diff --git a/source/blender/blenkernel/intern/sequencer.c b/source/blender/blenkernel/intern/sequencer.c index d0678bc1866..e21901f70d9 100644 --- a/source/blender/blenkernel/intern/sequencer.c +++ b/source/blender/blenkernel/intern/sequencer.c @@ -549,8 +549,8 @@ void calc_sequence(Scene *scene, Sequence *seq) if(seq->type==SEQ_META) { seqm= seq->seqbase.first; if(seqm) { - min= 1000000; - max= -1000000; + min= MAXFRAME * 2; + max= -MAXFRAME * 2; while(seqm) { if(seqm->startdisp < min) min= seqm->startdisp; if(seqm->enddisp > max) max= seqm->enddisp; diff --git a/source/blender/editors/space_sequencer/sequencer_edit.c b/source/blender/editors/space_sequencer/sequencer_edit.c index 1baf30ccc65..9e52c2f4e38 100644 --- a/source/blender/editors/space_sequencer/sequencer_edit.c +++ b/source/blender/editors/space_sequencer/sequencer_edit.c @@ -2678,12 +2678,17 @@ static int sequencer_swap_data_exec(bContext *C, wmOperator *op) return OPERATOR_CANCELLED; } + sound_remove_scene_sound(scene, seq_act->scene_sound); + sound_remove_scene_sound(scene, seq_other->scene_sound); + + seq_act->scene_sound= NULL; + seq_other->scene_sound= NULL; + calc_sequence(scene, seq_act); calc_sequence(scene, seq_other); - /* sound needs to be moved */ - if(seq_act->scene_sound) calc_sequence_disp(scene, seq_act); - if(seq_other->scene_sound) calc_sequence_disp(scene, seq_other); + if(seq_act->sound) sound_add_scene_sound(scene, seq_act, seq_act->startdisp, seq_act->enddisp, seq_act->startofs + seq_act->anim_startofs); + if(seq_other->sound) sound_add_scene_sound(scene, seq_other, seq_other->startdisp, seq_other->enddisp, seq_other->startofs + seq_other->anim_startofs); WM_event_add_notifier(C, NC_SCENE|ND_SEQUENCER, scene); -- cgit v1.2.3