Page MenuHome

Fix T97028: Audio plays when scene is updated
AbandonedPublic

Authored by Richard Antalik (ISS) on Apr 4 2022, 4:56 PM.

Details

Summary

Audio scrubbing was integrated into generic seek functionality. This
caused audible glitches when dependency graph updated scene and audio
scrubbing was enabled.

Decouple audio scrubbing from generic seeking. Scrubbing is now handled
by ANIM_OT_change_frame operator explicitly.


Not sure if this is good change. I would probably do this if it was up to me. But perhaps I am missing some obstacle.

Diff Detail

Repository
rB Blender
Branch
T97028 (branched from master)
Build Status
Buildable 21455
Build 21455: arc lint + arc unit

Event Timeline

Richard Antalik (ISS) requested review of this revision.Apr 4 2022, 4:56 PM
Richard Antalik (ISS) created this revision.
Sergey Sharybin (sergey) requested changes to this revision.Apr 4 2022, 6:20 PM

Color management settings should not be triggering audio update.
There is the a related discussion with more properly looking patch: https://developer.blender.org/T97003#1334937

This patch does not feel correct to me: it tries to bypass something in a tricky way, doesn't cover all operators which modify frame, and it is not clear why it is an intrinsic issue of seeking/scrubbing both done as a dependency graph evaluation.

source/blender/editors/animation/anim_ops.c
157–158

Scene is not guaranteed to be evaluated and really usable here. If such direct access is needed use CTX_data_ensure_evaluated_depsgraph.

source/blender/editors/screen/screen_ops.c
2983–2984

Same as above.

This revision now requires changes to proceed.Apr 4 2022, 6:20 PM

Yes, I was discussion, I thought it would be more robust solution to move responsibility of audio scrubbing to UI, but then you have to not miss any instance where this needs to be done. Thinking about it bit more it's probably not best solution either. I was basically trying to mimick how other areas render or present data to user, which is not directly done by operators either...

So will close this since issue is resolved already.