Fix synthesized music's last note cutting short

This commit is contained in:
mochi
2020-09-16 13:11:41 +02:00
parent 8e4784579e
commit ceb427fd64
+7 -3
View File
@@ -255,16 +255,20 @@
* Processes our song.
*/
/datum/song/proc/process_song(wait)
if(!length(compiled_chords) || current_chord > length(compiled_chords) || should_stop_playing(user_playing))
if(!length(compiled_chords) || should_stop_playing(user_playing))
stop_playing()
return
var/list/chord = compiled_chords[current_chord]
if(++elapsed_delay >= delay_by)
// We were sustaining the final note but not anymore
if(current_chord > length(compiled_chords))
stop_playing()
return
var/list/chord = compiled_chords[current_chord]
play_chord(chord)
elapsed_delay = 0
delay_by = tempodiv_to_delay(chord[length(chord)])
current_chord++
if(current_chord > length(compiled_chords))
if(current_chord > length(compiled_chords) + 1)
if(repeat)
repeat--
current_chord = 1