I'm not sure if this is useful, but I have an implementation of the Minimoog's key triggering in the [s_minimoog] object in https://github.com/danomatika/rc-patches

It basically keeps a sorted, unique list of the keys being held down & only allows the lowest note & velocity through. It also retriggers when the low key changes back and forth. It's fun to play with, like a real mono synth is :) As it's list-based, it may be too slow for your use case.

On Jul 3, 2017, at 11:26 AM, pd-list-request@lists.iem.at wrote:

From: Simon Iten <itensimon@gmail.com>
Subject: Re: [PD] legato portamento
Date: July 3, 2017 at 11:26:42 AM GMT+2
To: Roman Haefeli <reduzent@gmail.com>



On 3 Jul 2017, at 10:41, Roman Haefeli <reduzent@gmail.com> wrote:

You not always want to mute the first note when a second note with the
same pitch is triggered, regardless whether such an instrument exists
or not. When creating software instruments, I often explicitly allow to
trigger two or more notes of the same pitch because of the way it
affects the sound. The phasing or  (with a small amount of random
pitch) pulsing can be nice. 
of course, but since i try to find a nice solution for legato portamento playing monophonic synths in puredata (4 of them on different channels, see below), there is only really one voice sounding at a time.

--------
Dan Wilcox
@danomatika
danomatika.com
robotcowboy.com