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:
authorSybren A. Stüvel <sybren@blender.org>2020-04-17 17:39:40 +0300
committerSybren A. Stüvel <sybren@blender.org>2020-04-17 17:39:40 +0300
commit20614d331d04f7e7b9e48b3408248aa53394989e (patch)
tree855d8773883c80e42f0f72989f450d205062c7db /source/blender/depsgraph
parentd923fb784f4f429c066ceb807c669a4308c1d9b4 (diff)
parent6adb254bb046ab337cfd4225ca55e17f196db312 (diff)
Merge remote-tracking branch 'origin/blender-v2.83-release'
Diffstat (limited to 'source/blender/depsgraph')
-rw-r--r--source/blender/depsgraph/intern/builder/deg_builder_nodes.cc7
-rw-r--r--source/blender/depsgraph/intern/builder/deg_builder_relations.cc10
-rw-r--r--source/blender/depsgraph/intern/node/deg_node_operation.cc2
-rw-r--r--source/blender/depsgraph/intern/node/deg_node_operation.h1
4 files changed, 19 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 7d93cec5086..01cc95813ca 100644
--- a/source/blender/depsgraph/intern/builder/deg_builder_nodes.cc
+++ b/source/blender/depsgraph/intern/builder/deg_builder_nodes.cc
@@ -1735,7 +1735,14 @@ 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);
+
+ Scene *scene_cow = get_cow_datablock(scene);
+ add_operation_node(&scene->id,
+ NodeType::AUDIO,
+ OperationCode::AUDIO_VOLUME,
+ function_bind(BKE_scene_update_tag_audio_volume, _1, scene_cow));
}
void DepsgraphNodeBuilder::build_scene_speakers(Scene * /*scene*/, ViewLayer *view_layer)
diff --git a/source/blender/depsgraph/intern/builder/deg_builder_relations.cc b/source/blender/depsgraph/intern/builder/deg_builder_relations.cc
index 89def9e0bdc..e968ad1ea5d 100644
--- a/source/blender/depsgraph/intern/builder/deg_builder_relations.cc
+++ b/source/blender/depsgraph/intern/builder/deg_builder_relations.cc
@@ -2544,8 +2544,16 @@ void DepsgraphRelationBuilder::build_scene_sequencer(Scene *scene)
}
}
-void DepsgraphRelationBuilder::build_scene_audio(Scene * /*scene*/)
+void DepsgraphRelationBuilder::build_scene_audio(Scene *scene)
{
+ OperationKey scene_audio_volume_key(&scene->id, NodeType::AUDIO, OperationCode::AUDIO_VOLUME);
+ OperationKey scene_sound_eval_key(&scene->id, NodeType::AUDIO, OperationCode::SOUND_EVAL);
+ add_relation(scene_audio_volume_key, scene_sound_eval_key, "Audio Volume -> Sound");
+
+ if (scene->audio.flag & AUDIO_VOLUME_ANIMATED) {
+ ComponentKey scene_anim_key(&scene->id, NodeType::ANIMATION);
+ add_relation(scene_anim_key, scene_audio_volume_key, "Animation -> Audio Volume");
+ }
}
void DepsgraphRelationBuilder::build_scene_speakers(Scene * /*scene*/, ViewLayer *view_layer)
diff --git a/source/blender/depsgraph/intern/node/deg_node_operation.cc b/source/blender/depsgraph/intern/node/deg_node_operation.cc
index 78399d5c953..1e03d51f557 100644
--- a/source/blender/depsgraph/intern/node/deg_node_operation.cc
+++ b/source/blender/depsgraph/intern/node/deg_node_operation.cc
@@ -61,6 +61,8 @@ const char *operationCodeAsString(OperationCode opcode)
/* Scene related. */
case OperationCode::SCENE_EVAL:
return "SCENE_EVAL";
+ case OperationCode::AUDIO_VOLUME:
+ return "AUDIO_VOLUME";
/* Object related. */
case OperationCode::OBJECT_BASE_FLAGS:
return "OBJECT_BASE_FLAGS";
diff --git a/source/blender/depsgraph/intern/node/deg_node_operation.h b/source/blender/depsgraph/intern/node/deg_node_operation.h
index bdc0df7f399..2faf139ec93 100644
--- a/source/blender/depsgraph/intern/node/deg_node_operation.h
+++ b/source/blender/depsgraph/intern/node/deg_node_operation.h
@@ -60,6 +60,7 @@ enum class OperationCode {
/* Scene related. ------------------------------------------------------- */
SCENE_EVAL,
+ AUDIO_VOLUME,
/* Object related. ------------------------------------------------------ */
OBJECT_BASE_FLAGS,