Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCampbell Barton <ideasman42@gmail.com>2010-07-04 14:51:10 +0400
committerCampbell Barton <ideasman42@gmail.com>2010-07-04 14:51:10 +0400
commit8aa0f9b033eff5aa4f6b66d3148d6379a60ebf06 (patch)
tree20eae6fde0fcaed87b259d9aad3f26fd1957edd7 /source/blender
parent4a6cc10d756ddccf1912daaa6cef1d1e25538c0c (diff)
last fix still could give corrupt sound, rather then updating the sound info just add and remove the sound handle.
Diffstat (limited to 'source/blender')
-rw-r--r--source/blender/blenkernel/intern/sequencer.c4
-rw-r--r--source/blender/editors/space_sequencer/sequencer_edit.c11
2 files changed, 10 insertions, 5 deletions
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);