Fix #115305: Sound equalizer not applied when rendering
This was caused by 5c76c7bf84, which only updated sound when tagged by
`ID_RECALC_AUDIO`. On undo or rendering, this flag is missing.
Update equalizer when recalc is flagged by `ID_RECALC_COPY_ON_WRITE`.
Pull Request: https://projects.blender.org/blender/blender/pulls/116282
This commit is contained in:
committed by
Richard Antalik
parent
a2317726ca
commit
e02eeaf888
@@ -927,11 +927,15 @@ static void seq_update_sound_modifiers(Sequence *seq)
|
|||||||
BKE_sound_update_sequence_handle(seq->scene_sound, sound_handle);
|
BKE_sound_update_sequence_handle(seq->scene_sound, sound_handle);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static bool must_update_strip_sound(Scene *scene, Sequence *seq)
|
||||||
|
{
|
||||||
|
return (scene->id.recalc & ID_RECALC_AUDIO | ID_RECALC_COPY_ON_WRITE) != 0 ||
|
||||||
|
(seq->sound->id.recalc & ID_RECALC_AUDIO | ID_RECALC_COPY_ON_WRITE) != 0;
|
||||||
|
}
|
||||||
|
|
||||||
static void seq_update_sound_strips(Scene *scene, Sequence *seq)
|
static void seq_update_sound_strips(Scene *scene, Sequence *seq)
|
||||||
{
|
{
|
||||||
if (seq->sound == nullptr || ((scene->id.recalc & ID_RECALC_AUDIO) == 0 &&
|
if (seq->sound == nullptr || !must_update_strip_sound(scene, seq)) {
|
||||||
(seq->sound->id.recalc & ID_RECALC_AUDIO) == 0))
|
|
||||||
{
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
/* Ensure strip is playing correct sound. */
|
/* Ensure strip is playing correct sound. */
|
||||||
|
|||||||
Reference in New Issue
Block a user