There are some major updates/rewrites to the internals and engine that greatly improve realtime operations. The following areas were updated.
1. Realtime synth triggering and timing. The mechanism to send realtime events to instruments was reworked to make MIDI timing buffer size independent. Synths can now be triggered with the same timing accuracy irrespective of the audio buffer size.
2. Made the following operations fully asynchronous and seamless, minimizing interruptions in audio. (this makes gaps almost imperceptible). Many changes were made to make them more lightweight.
- Inserting virtual instruments, dragging to create new instruments from browser, also minor improvements for inserting audio plugins.
- undo and redo of inserting effects and synths
- Unloading and reloading virtual instruments in the rack. This operation can now be done during playback
- Quick Freeze and unfreeze no longer interrupt audio, so you can actually A/B the results during playback
- Changing loop points on the timeline doesn't require a gap
- Audio metronome no longer requires a gap to turn it on or off
- Preferences dialog can now be opened when browser or groove matrix preview is active (it will stop preview and automatically resume when you close the dialog)
3. Improvements for operations that require small interruptions in audio playback for re-synchronization. For these we now adopt a new "adaptive smoothing" technique to minimize the perceived effect of the operation. This kicks in whenever any perceivable interruption in audio is detected and subtly smooths out the transition. This makes many edit operations feel seamless now.
4. Non linear playback engine rework. This component is responsible for all non linear playback of audio and MIDI including events triggered from the browser and Matrix.
Among hundreds of improvements, a big change was reworking the scheduler, making it synchronous with the audio engine. This makes triggered events from the matrix sample accurate and independent of the audio buffer size.
5. Previewing events in browser now caches the first 16 events and will avoid reloading them when triggered. This makes auditioning loops seamless.