Am Mi., 11. Dez. 2019 um 14:25 Uhr schrieb Tom M. via fluid-dev <address@hidden
> > then we open ourselves up to bug reports where people ask: why does this (broken) MIDI file sound different in Fluidsynth than in almost all other MIDI players?
> Not quite, because for now this change would be limited to the sequencer only, the fluid_player will be unchanged. The sequencer is a fluidsynth specific component, so I do believe that we have the freedom to tweak things here and there. So far I can't see any drawbacks of the event ordering I've proposed. And if we ever decide to make the fluid_player use the sequencer, we can just assign an alternative ordering function internally, that restores the FIFO ordering.
Ah, I wasn't aware that the player doesn't use the sequencer internally. Still, the custom ordering of events might be at least surprising to sequencer users. And if I understand corrently, then it's a change of existing behaviour. I guess I still haven't understood whose problem you are actually trying to solve. If it is a problem specific to your usage of the sequencer, couldn't you ensure your preferred ordering of simultaneous events in your client application?
> > Couldn't we simply implement that kind of heap/queue in C?
> ... we could. But I'm not a friend of adding yet another custom heap/queue implementation to the code base, when we can simply use one from a library.
One good reason might be because it's not "simply use one from a library", as it creates additional dependencies. Is the sequencer heap/queue used in other parts of the code? If not, then it wouldn't be yet another implementation, but simply a different one.
> [For the record, I'm appending Marcus' last mail below, which he mistakenly only sent to me]
Sorry about that. And thanks for posting it here!