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
// Both events have the same tick value. Per MIDI standard, the order is undefined. However, most implementations use a FIFO ordering here,
57
57
// which we cannot use, because heap sort is not stable. To make sure that fluidsynth behaves correctly from a user perspective,
58
58
// we do the following:
59
-
// * System reset events are always first,
60
-
// * Unregistering events are second (this gives clients the chance to reset themselves before unregistering at the same tick),
59
+
// * NoteOff events have the highest precedence and are processed before System reset events (this allows turning off notes before a channel is potentially disabled via channel mode messages on the same tick),
60
+
// * Unregistering events are third (this gives clients the chance to reset and silence themselves before unregistering at the same tick),
61
61
// * Bank changes must precede Prog changes (to ensure correct preset fallback AND preset selection within a certain bank),
62
62
// * NoteOn events are always last (this makes sure that all other "state-change" events have been processed and NoteOff events
63
63
// with the same key as the NoteOn have been processed (zero-length notes are not a use-case here)).
0 commit comments