diff options
Diffstat (limited to 'scene/2d/audio_stream_player_2d.cpp')
-rw-r--r-- | scene/2d/audio_stream_player_2d.cpp | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/scene/2d/audio_stream_player_2d.cpp b/scene/2d/audio_stream_player_2d.cpp index f998f23d3b..94db832e9f 100644 --- a/scene/2d/audio_stream_player_2d.cpp +++ b/scene/2d/audio_stream_player_2d.cpp @@ -233,7 +233,6 @@ void AudioStreamPlayer2D::_notification(int p_what) { //stop playing if no longer active if (!active) { set_physics_process_internal(false); - //do not update, this makes it easier to animate (will shut off otherwise) //_change_notify("playing"); //update property in editor emit_signal("finished"); } @@ -313,6 +312,11 @@ void AudioStreamPlayer2D::stop() { bool AudioStreamPlayer2D::is_playing() const { +#ifdef TOOLS_ENABLED + if (Engine::get_singleton()->is_editor_hint()) + return fake_active; +#endif + if (stream_playback.is_valid()) { return active; // && stream_playback->is_playing(); } @@ -357,11 +361,16 @@ bool AudioStreamPlayer2D::is_autoplay_enabled() { void AudioStreamPlayer2D::_set_playing(bool p_enable) { +#ifdef TOOLS_ENABLED + fake_active = p_enable; +#endif + if (p_enable) play(); else stop(); } + bool AudioStreamPlayer2D::_is_active() const { return active; |