diff options
author | Hein-Pieter van Braam <hp@tmm.cx> | 2018-05-13 21:35:44 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-05-13 21:35:44 +0200 |
commit | 24dbe5e3102a0d4830904901de8f6a9ee25d68d5 (patch) | |
tree | 8e4e32627c4e5af8c73ebffb0330d0670cc26a8a /scene/2d | |
parent | dc7060973c6a58fa8b6b1df726edc58b8f1d31c1 (diff) | |
parent | bc1522e26865c9b84159ff4b4bcde7896fd73496 (diff) |
Merge pull request #17367 from ShyRed/audio_playing_
Use fake audio playing property in editor
Diffstat (limited to 'scene/2d')
-rw-r--r-- | scene/2d/audio_stream_player_2d.cpp | 11 | ||||
-rw-r--r-- | scene/2d/audio_stream_player_2d.h | 4 |
2 files changed, 14 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; diff --git a/scene/2d/audio_stream_player_2d.h b/scene/2d/audio_stream_player_2d.h index 9ae8e3a518..eae18c8404 100644 --- a/scene/2d/audio_stream_player_2d.h +++ b/scene/2d/audio_stream_player_2d.h @@ -69,6 +69,10 @@ private: volatile bool active; volatile float setplay; +#ifdef TOOLS_ENABLED + volatile bool fake_active; +#endif + float volume_db; float pitch_scale; bool autoplay; |