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-07 12:27:34 +0300
committerSergey Sharybin <sergey.vfx@gmail.com>2019-06-07 12:59:30 +0300
commit7081935a307b1dbdb3d8c564611c5f82c45d1ec2 (patch)
treedb4247dd2a668b125c2b11a2d82fb984575716d9 /source/blender/depsgraph/intern/builder/deg_builder_nodes.cc
parentd4a5691d0fd5be0517968a95ebbe84778fb82b3a (diff)
Sequencer: Fix missing sound from nested scene strips
Diffstat (limited to 'source/blender/depsgraph/intern/builder/deg_builder_nodes.cc')
-rw-r--r--source/blender/depsgraph/intern/builder/deg_builder_nodes.cc14
1 files changed, 13 insertions, 1 deletions
diff --git a/source/blender/depsgraph/intern/builder/deg_builder_nodes.cc b/source/blender/depsgraph/intern/builder/deg_builder_nodes.cc
index 9bdc815518d..64e5455dcbe 100644
--- a/source/blender/depsgraph/intern/builder/deg_builder_nodes.cc
+++ b/source/blender/depsgraph/intern/builder/deg_builder_nodes.cc
@@ -1582,7 +1582,8 @@ void DepsgraphNodeBuilder::build_scene_sequencer(Scene *scene)
if (scene->ed == NULL) {
return;
}
- Scene *scene_cow = get_cow_datablock(scene_);
+ build_scene_audio(scene);
+ Scene *scene_cow = get_cow_datablock(scene);
add_operation_node(&scene->id,
NodeType::SEQUENCER,
OperationCode::SEQUENCES_EVAL,
@@ -1593,6 +1594,14 @@ void DepsgraphNodeBuilder::build_scene_sequencer(Scene *scene)
if (seq->sound != NULL) {
build_sound(seq->sound);
}
+ if (seq->scene != NULL) {
+ build_scene_parameters(seq->scene);
+ }
+ if (seq->type == SEQ_TYPE_SCENE && seq->flag & SEQ_SCENE_STRIPS) {
+ if (seq->scene != NULL) {
+ build_scene_sequencer(seq->scene);
+ }
+ }
/* TODO(sergey): Movie clip, scene, camera, mask. */
}
SEQ_END;
@@ -1600,6 +1609,9 @@ void DepsgraphNodeBuilder::build_scene_sequencer(Scene *scene)
void DepsgraphNodeBuilder::build_scene_audio(Scene *scene)
{
+ if (built_map_.checkIsBuiltAndTag(scene, BuilderMap::TAG_SCENE_AUDIO)) {
+ return;
+ }
add_operation_node(&scene->id, NodeType::AUDIO, OperationCode::SOUND_EVAL);
}