When an event is called from SongPlayer's loop which is in async thread it can't be cancelled. Affected events are: SongLoopEvent and SongDestroyingEvent.
SongPlayer also continues playing the Song without waiting for event listeners of events bellow to finish their execution. Affected events are: SongStoppedEvent, SongNextEvent and SongEndEvent. For example when SongPlayer is paused in SongNextEvent it plays first few notes of the next Song before it's paused.
It is caused by schedulling the events execution in order to execute them in synchronized thread (not async with server main thread).
When an event is called from
SongPlayer
's loop which is in async thread it can't be cancelled. Affected events are:SongLoopEvent
andSongDestroyingEvent
.SongPlayer also continues playing the Song without waiting for event listeners of events bellow to finish their execution. Affected events are:
SongStoppedEvent
,SongNextEvent
andSongEndEvent
. For example whenSongPlayer
is paused inSongNextEvent
it plays first few notes of the nextSong
before it's paused.It is caused by schedulling the events execution in order to execute them in synchronized thread (not async with server main thread).