public void NoteOff(int channel, int note)
{
if (_synthChannels[channel].HoldPedal)
{
var node = _voiceManager.Registry[channel][note];
while (node != null)
{
node.Value.VoiceParams.NoteOffPending = true;
node = node.Next;
}
}
else
{
var node = _voiceManager.Registry[channel][note];
while (node != null)
{
node.Value.Stop();
node = node.Next;
}
_voiceManager.RemoveFromRegistry(channel, note);
}
}