diff options
author | Bastien Montagne <montagne29@wanadoo.fr> | 2013-10-01 00:53:53 +0400 |
---|---|---|
committer | Bastien Montagne <montagne29@wanadoo.fr> | 2013-10-01 00:53:53 +0400 |
commit | ab3194187403a5a2e6ee15321f4c05315d86b215 (patch) | |
tree | 3a3201a3edc26c5c97cd3cd466b53351bc57ef40 | |
parent | 15e5d3ef7b455bf4150cb1c52461370a65b1cec9 (diff) |
Fix [#36422] Trimmed audio files (hard cut only) in a metastrip have their trim removed
Meta sound update (seq_update_sound_bounds_recursive_rec) was not taking into account hard trim (anim_startofs) when setting sound's start, while default sound strip update (sound_move_scene_sound_defaults) did... This could use some refactor, though, with a single func used in both cases, to avoid such issue.
Also added soft trim to sound panel, only hard one was available.
-rw-r--r-- | release/scripts/startup/bl_ui/space_sequencer.py | 7 | ||||
-rw-r--r-- | source/blender/blenkernel/intern/sequencer.c | 5 |
2 files changed, 9 insertions, 3 deletions
diff --git a/release/scripts/startup/bl_ui/space_sequencer.py b/release/scripts/startup/bl_ui/space_sequencer.py index 7137a5097ee..ea88d35b4e9 100644 --- a/release/scripts/startup/bl_ui/space_sequencer.py +++ b/release/scripts/startup/bl_ui/space_sequencer.py @@ -685,10 +685,15 @@ class SEQUENCER_PT_sound(SequencerButtonsPanel, Panel): layout.prop(strip, "pan") col = layout.column(align=True) - col.label(text="Trim Duration:") + col.label(text="Trim Duration (hard):") col.prop(strip, "animation_offset_start", text="Start") col.prop(strip, "animation_offset_end", text="End") + col = layout.column(align=True) + col.label(text="Trim Duration (soft):") + col.prop(strip, "frame_offset_start", text="Start") + col.prop(strip, "frame_offset_end", text="End") + class SEQUENCER_PT_scene(SequencerButtonsPanel, Panel): bl_label = "Scene" diff --git a/source/blender/blenkernel/intern/sequencer.c b/source/blender/blenkernel/intern/sequencer.c index 43845638754..dd7e847feaf 100644 --- a/source/blender/blenkernel/intern/sequencer.c +++ b/source/blender/blenkernel/intern/sequencer.c @@ -632,7 +632,7 @@ static void seq_update_sound_bounds_recursive_rec(Scene *scene, Sequence *metase endofs = seq->start + seq->len - end; sound_move_scene_sound(scene, seq->scene_sound, seq->start + startofs, - seq->start + seq->len - endofs, startofs); + seq->start + seq->len - endofs, startofs + seq->anim_startofs); } } } @@ -664,8 +664,9 @@ void BKE_sequence_calc_disp(Scene *scene, Sequence *seq) if (ELEM(seq->type, SEQ_TYPE_SOUND_RAM, SEQ_TYPE_SCENE)) { BKE_sequencer_update_sound_bounds(scene, seq); } - else if (seq->type == SEQ_TYPE_META) + else if (seq->type == SEQ_TYPE_META) { seq_update_sound_bounds_recursive(scene, seq); + } } void BKE_sequence_calc(Scene *scene, Sequence *seq) |