Mixer, Pattern: fixed pattern freeze with MIDI-based instruments
When freezing patterns the freezer hung forever as it checked for any running play handles in order to render echoes etc. after the last note. However if there are MIDI-based instruments such as LB302, ZASF, Sf2Player etc. there will always be play handles (InstrumentPlayHandles) in the mixer's play handle array. Therefore explicitely check for remaining NotePlayHandles when freezing pattern. Furthermore added a counter variable for safety reasons so rendering note tails will never exceed 2000 buffer periods. Thanks to Mikobuntu for reporting this issue! Closes #3109262.
This commit is contained in:
@@ -240,10 +240,7 @@ public:
|
||||
|
||||
void removePlayHandles( track * _track );
|
||||
|
||||
inline bool hasPlayHandles() const
|
||||
{
|
||||
return !m_playHandles.empty();
|
||||
}
|
||||
bool hasNotePlayHandles();
|
||||
|
||||
|
||||
// methods providing information for other classes
|
||||
|
||||
Reference in New Issue
Block a user