You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
A little bit off-topic... Non-MIDI-based instruments check for m_totalFramesPlayed and create plugin data if the value equals 0. However, this issue shows that the method is unreliable. It means LMMS does unneeded allocations and removes the way to access previously allocated data.
I think we can replace the check with m_pluginData check instead.
Reported by
@FairPlay137-TTS#8972
on Discord. An example project that I made:4536.zip
Here's the backtrace I've got:
It seems like
NotePlayHandle::play
callsmemset
when_working_buffer
isnullptr
.lmms/src/core/NotePlayHandle.cpp
Lines 244 to 247 in 2ecc8bb
The reason for the crash
m_usesBuffer
of the master notefalse
.NotePlayHandle::resize
changesm_totalFramesPlayed
on tempo change. SA Envelope + (Rapidly) varying tempo give undesirable output. #3775.m_totalFramesPlayed
becomes 0 even though the note is being played.m_totalFramesPlayed == 0
.NotePlayHandle::play
callsmemset
withnullptr
.Possible solutions
memset
call. It should work fine thanks to 6fc4577.m_totalFramesPlayed
to check if the note was played before.The text was updated successfully, but these errors were encountered: