diff options
author | A Thousand Ships <96648715+AThousandShips@users.noreply.github.com> | 2023-10-22 16:27:43 +0200 |
---|---|---|
committer | A Thousand Ships <96648715+AThousandShips@users.noreply.github.com> | 2023-10-22 22:35:32 +0200 |
commit | 72fccd82c556b6f0d9678fc12eb8c331ff86d9f4 (patch) | |
tree | 71e115d2777a5ea37b7b08c103cdb5af29995497 | |
parent | 8c25a98fdf68dc388eddaefa188f3386236cdfe4 (diff) | |
download | redot-engine-72fccd82c556b6f0d9678fc12eb8c331ff86d9f4.tar.gz |
[Audio] Fix pausing stream on entering tree
The paused notifications are only sent when pause status is changed,
this ensures that streams that are non-processing do not play when added
to the tree. Also ensures that the `process_mode` property applies
generally.
-rw-r--r-- | scene/2d/audio_stream_player_2d.cpp | 2 | ||||
-rw-r--r-- | scene/3d/audio_stream_player_3d.cpp | 2 | ||||
-rw-r--r-- | scene/audio/audio_stream_player.cpp | 2 |
3 files changed, 3 insertions, 3 deletions
diff --git a/scene/2d/audio_stream_player_2d.cpp b/scene/2d/audio_stream_player_2d.cpp index 0a80467b6b..afc5748ac5 100644 --- a/scene/2d/audio_stream_player_2d.cpp +++ b/scene/2d/audio_stream_player_2d.cpp @@ -43,7 +43,7 @@ void AudioStreamPlayer2D::_notification(int p_what) { if (autoplay && !Engine::get_singleton()->is_editor_hint()) { play(); } - set_stream_paused(false); + set_stream_paused(!can_process()); } break; case NOTIFICATION_EXIT_TREE: { diff --git a/scene/3d/audio_stream_player_3d.cpp b/scene/3d/audio_stream_player_3d.cpp index 9f99b5ecbd..3971e615a1 100644 --- a/scene/3d/audio_stream_player_3d.cpp +++ b/scene/3d/audio_stream_player_3d.cpp @@ -245,7 +245,7 @@ void AudioStreamPlayer3D::_notification(int p_what) { if (autoplay && !Engine::get_singleton()->is_editor_hint()) { play(); } - set_stream_paused(false); + set_stream_paused(!can_process()); } break; case NOTIFICATION_EXIT_TREE: { diff --git a/scene/audio/audio_stream_player.cpp b/scene/audio/audio_stream_player.cpp index 7f6dfd0ab8..f3c986f9b3 100644 --- a/scene/audio/audio_stream_player.cpp +++ b/scene/audio/audio_stream_player.cpp @@ -40,7 +40,7 @@ void AudioStreamPlayer::_notification(int p_what) { if (autoplay && !Engine::get_singleton()->is_editor_hint()) { play(); } - set_stream_paused(false); + set_stream_paused(!can_process()); } break; case NOTIFICATION_INTERNAL_PROCESS: { |