|
@@ -292,7 +292,6 @@ void AudioStreamPlayer3D::_notification(int p_what) {
|
|
|
Vector<Ref<AudioStreamPlayback>> playbacks_to_remove;
|
|
|
for (Ref<AudioStreamPlayback> &playback : stream_playbacks) {
|
|
|
if (playback.is_valid() && !AudioServer::get_singleton()->is_playback_active(playback) && !AudioServer::get_singleton()->is_playback_paused(playback)) {
|
|
|
- emit_signal(SNAME("finished"));
|
|
|
playbacks_to_remove.push_back(playback);
|
|
|
}
|
|
|
}
|
|
@@ -305,6 +304,9 @@ void AudioStreamPlayer3D::_notification(int p_what) {
|
|
|
active.clear();
|
|
|
set_physics_process_internal(false);
|
|
|
}
|
|
|
+ if (!playbacks_to_remove.is_empty()) {
|
|
|
+ emit_signal(SNAME("finished"));
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
while (stream_playbacks.size() > max_polyphony) {
|