If a player adds some notes under sostenuto pedal, then additionally uses the sustain pedal for some other notes and releases the sustain pedal, the notes under the sostenuto pedal shouldn’t be stopped.
it would avoid problems, if you’d only set sostenutoPedalDown = true for voices, whose key is down - e.g. some voices could already be in release or they haven’t been started on noteOn()
if (isDown) {
if (voice->isKeyDown ())
voice->sostenutoPedalDown = true;
}
}
else if...
I aske because once more
voice->sostenutoPedalDown
is a private member of voice and can’t be accessed from Synthesiser::
Thank you for this, too. I understand, that the BigInteger is an edge case. I would allow it nevertheless, because it’s not possible to get rid of Synthesiser::handleSustainPedal () - which contains a lock - without having access.
No, I really don’t want to open up internals like that, it’s just not something that should be public. Can you think of any other ways to get the result you need?