diff options
author | Sergey Sharybin <sergey.vfx@gmail.com> | 2019-06-17 12:04:17 +0300 |
---|---|---|
committer | Sergey Sharybin <sergey.vfx@gmail.com> | 2019-06-17 12:04:17 +0300 |
commit | 7b8d4904d21e796f90c68fca797f051c2d536894 (patch) | |
tree | 51a502749308ef5486743f4664600f17c71ba36c /source/blender/depsgraph/intern/builder | |
parent | 5364e62b0535cdadbd1db27dc1633cfd253a49ef (diff) |
Fix T65817: Video Sequencer doesen't render speakers' sounds
Part of the issue was caused by missing speaker objects in the depsgraph
used for post-processing.
Remaining part was caused by missing scene sound update for this depsgraph.
Diffstat (limited to 'source/blender/depsgraph/intern/builder')
4 files changed, 13 insertions, 4 deletions
diff --git a/source/blender/depsgraph/intern/builder/deg_builder_nodes.h b/source/blender/depsgraph/intern/builder/deg_builder_nodes.h index 095fb17f622..9983b346355 100644 --- a/source/blender/depsgraph/intern/builder/deg_builder_nodes.h +++ b/source/blender/depsgraph/intern/builder/deg_builder_nodes.h @@ -153,7 +153,7 @@ class DepsgraphNodeBuilder : public DepsgraphBuilder { void build_id(ID *id); - void build_scene_render(Scene *scene); + void build_scene_render(Scene *scene, ViewLayer *view_layer); void build_scene_parameters(Scene *scene); void build_scene_compositor(Scene *scene); diff --git a/source/blender/depsgraph/intern/builder/deg_builder_nodes_scene.cc b/source/blender/depsgraph/intern/builder/deg_builder_nodes_scene.cc index 6f28228f632..3486d2c92ae 100644 --- a/source/blender/depsgraph/intern/builder/deg_builder_nodes_scene.cc +++ b/source/blender/depsgraph/intern/builder/deg_builder_nodes_scene.cc @@ -27,9 +27,10 @@ namespace DEG { -void DepsgraphNodeBuilder::build_scene_render(Scene *scene) +void DepsgraphNodeBuilder::build_scene_render(Scene *scene, ViewLayer *view_layer) { scene_ = scene; + view_layer_ = view_layer; const bool build_compositor = (scene->r.scemode & R_DOCOMP); const bool build_sequencer = (scene->r.scemode & R_DOSEQ); IDNode *id_node = add_id_node(&scene->id); @@ -43,6 +44,10 @@ void DepsgraphNodeBuilder::build_scene_render(Scene *scene) } if (build_sequencer) { build_scene_sequencer(scene); + build_scene_speakers(scene, view_layer); + } + if (scene->camera != NULL) { + build_object(-1, scene->camera, DEG_ID_LINKED_DIRECTLY, true); } } diff --git a/source/blender/depsgraph/intern/builder/deg_builder_relations.h b/source/blender/depsgraph/intern/builder/deg_builder_relations.h index 1a4784b5402..cfed5a73a49 100644 --- a/source/blender/depsgraph/intern/builder/deg_builder_relations.h +++ b/source/blender/depsgraph/intern/builder/deg_builder_relations.h @@ -196,7 +196,7 @@ class DepsgraphRelationBuilder : public DepsgraphBuilder { void build_id(ID *id); - void build_scene_render(Scene *scene); + void build_scene_render(Scene *scene, ViewLayer *view_layer); void build_scene_parameters(Scene *scene); void build_scene_compositor(Scene *scene); diff --git a/source/blender/depsgraph/intern/builder/deg_builder_relations_scene.cc b/source/blender/depsgraph/intern/builder/deg_builder_relations_scene.cc index 46e8b8e7acc..daaf90011c5 100644 --- a/source/blender/depsgraph/intern/builder/deg_builder_relations_scene.cc +++ b/source/blender/depsgraph/intern/builder/deg_builder_relations_scene.cc @@ -27,7 +27,7 @@ namespace DEG { -void DepsgraphRelationBuilder::build_scene_render(Scene *scene) +void DepsgraphRelationBuilder::build_scene_render(Scene *scene, ViewLayer *view_layer) { scene_ = scene; const bool build_compositor = (scene->r.scemode & R_DOCOMP); @@ -40,6 +40,10 @@ void DepsgraphRelationBuilder::build_scene_render(Scene *scene) } if (build_sequencer) { build_scene_sequencer(scene); + build_scene_speakers(scene, view_layer); + } + if (scene->camera != NULL) { + build_object(NULL, scene->camera); } } |