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:
authorSergey Sharybin <sergey.vfx@gmail.com>2019-06-04 17:52:48 +0300
committerSergey Sharybin <sergey.vfx@gmail.com>2019-06-05 15:23:54 +0300
commitbbaa1bffe9dbc35d2791b83d0014ccb4ffb6087a (patch)
treed0ded24e2fb254943831cacca7c28b7752e57eae /source/blender/render
parent863b7b3668fe67a082439181eaf49c3e94a87536 (diff)
Sound: Port to a copy-on-write concept
This change makes it so sound handles are created for evaluated scene, sequencer and speakers. This allows to have properly evaluated animation on them. For the viewport playback sound uses regular dependency graph. For the final render sound uses dependency graph created for render pipeline, which now also contains sequencer and sound datablocks. All the direct sound update calls are replaced with corresponding dependency graph recalc tag.
Diffstat (limited to 'source/blender/render')
-rw-r--r--source/blender/render/intern/source/pipeline.c12
1 files changed, 9 insertions, 3 deletions
diff --git a/source/blender/render/intern/source/pipeline.c b/source/blender/render/intern/source/pipeline.c
index 6bde162f507..2e27ec81bd0 100644
--- a/source/blender/render/intern/source/pipeline.c
+++ b/source/blender/render/intern/source/pipeline.c
@@ -2537,8 +2537,14 @@ void RE_RenderAnim(Render *re,
re->movie_ctx_arr[i] = mh->context_create();
- if (!mh->start_movie(
- re->movie_ctx_arr[i], scene, &re->r, width, height, re->reports, false, suffix)) {
+ if (!mh->start_movie(re->movie_ctx_arr[i],
+ re->pipeline_scene_eval,
+ &re->r,
+ width,
+ height,
+ re->reports,
+ false,
+ suffix)) {
is_error = true;
break;
}
@@ -2744,7 +2750,7 @@ void RE_RenderAnim(Render *re,
BLI_callback_exec(
re->main, (ID *)scene, G.is_break ? BLI_CB_EVT_RENDER_CANCEL : BLI_CB_EVT_RENDER_COMPLETE);
- BKE_sound_reset_scene_specs(scene);
+ BKE_sound_reset_scene_specs(re->pipeline_scene_eval);
RE_CleanAfterRender(re);