I'm getting a cheap (but not so much for brazilians) mpe controller by keith mcmillen, let's dig in :)

I made progress and found that Live, for instance, is able to edit and send MPE data and I was better checking things in MAX, which never ceases to amaze me with the creepy feature bloated objects and unnecessary complexity and I'm trying to pick up on what's important.

People use MPE to control virtual synth plugins and it's nice then for PlugData to support this in a neat way, so I'm gonna offer it a solution with ELSE. 

In the Pd world, we need something like [poly] to drive a [clone] object and send the MPE control data to the corresponding active voice. I'm still not sure how it works, but it seems that Pd people are happy enough in just using existing MIDI objects with some minor tweaks and routing...

MAX has a special object to get MPE data inside instances loaded in [poly~] (their version of [clone], per se), I didn't even want to look at that but I did. It seems it needs a [midiin] connected to a [mpeparse] connected to [poly~] and inside [poly~] you have [polymidiin] connected to a [midiparse]... pheeew, that's insane! No wonder I practically gave up on Cyclone :)

On the other hand, MAX does support any minor detail of MPE implementation. In a sense, I can look at it in the same way as OSC. Pd Vanilla has a very simple solution that can be good for most cases, but for a full blast support you need externals. Maybe MPE could be a bit like that. I'm yet to see if a simple handling of MIDI data without a specialized object is ok and then I can also just document it as such in the help file of MIDI. If I can see that a simple object is a better option, I'll propose it. It's still early for me to say, but something tells me we DO need an object. 

And I can think of a more complex solution for an external in ELSE/PlugData.
 
> Now, only external I found in the wild was
> https://github.com/pure-data/pure-data/issues/2117
> <https://urldefense.com/v3/__https://github.com/pure-data/pure-data/issues/2117__;!!Mih3wA!A8bJjPI9BgeXtnabP92vhFFobFt-zlghD1Ddy02SilyrawGh_T1YHxvWYAq8DnY3Uk_a6ffTFg$>
> and I'm trying to check it to see how things work.

oops, I had sent the wrong link, I was referring to this https://github.com/DanielRudrich/pd_mpe

And it actually looks like a very simple "Pd Vanilla like" object, we could use the same idea and structure and call it [mpein], and we'd also need a [mpeout] counterpart.

Cheers