FR to help avoid race conditions

Yes, I read that definition in Wikipedia too, before I posted. But I’m having a hard time getting my head around how that definition applies to the situation in your original post. Perhaps you could explain what YOU mean by it?

1 Like

Speaking as a lay-idiot…The original question arose here where there were unexplained playback effects. @johnkprice kindly provided a technical answer and has since delved more deeply into it. His conclusion appears to expose a possible problem with how Dorico converts its internal representation of notes to midi and can lead to incorrect playback.

Yes, more English, less computer jargon. In John’s original example, I had difficulty deducing exactly what he wanted to happen of the various alternates he showed.

When two notes have the same pitch and the first note ends at the same time as the second one begins, there will be two MIDI events that are supposed to happen at the same time: a note off event for the first note, and a note on event for the second note. It becomes a race to see which of these events will be processed first. If the note off event is processed first, there is no problem. But if the note on event is processed first, then the second note starts and immediately ends along with the first note because they have the same pitch.

In the first post of this topic, I wrote:

I thought that made it clear that I liked what Dorico was doing and wanted it to do the same thing in a different but similar situation.

Thanks for this, I can reproduce the problem here. I suspect Dorico is not considering that this problem can occur if the notes are set to play back at exactly 100% of the notated duration - if it is either 99% or 101% then the problem doesn’t occur. I’ll log it for one of the developers to look at.

1 Like

Thank you very much! :slightly_smiling_face:

I would like to belatedly thank the Dorico team for adding the feature in Dorico 4.1 that if I set the played duration of default notes to 100% of their written duration, an option appears which allows me to shorten every note which is followed by an abutting note of the same pitch by one tick. While this doesn’t eliminate every race condition I have encountered, it does help me when using Dorico as the host application for my virtual choir.