diff --git a/src/core/note_play_handle.cpp b/src/core/note_play_handle.cpp index 6a434aea6..16ce402fe 100644 --- a/src/core/note_play_handle.cpp +++ b/src/core/note_play_handle.cpp @@ -305,9 +305,10 @@ void notePlayHandle::play( sampleFrame * _working_buffer ) // can set m_releaseFramesDone to m_releaseFramesToDo so that // notePlayHandle::done() returns true and also this base-note is // removed from mixer's active note vector - if( isArpeggioBaseNote() && m_subNotes.size() == 0 ) + if( m_released && isArpeggioBaseNote() && m_subNotes.size() == 0 ) { m_releaseFramesDone = m_releaseFramesToDo; + m_frames = 0; } // update internal data