Poly aftertouch to zone's channel aftertouch

Hello, I finally got myself an ASM Hydrasynth that is able to send polyphonic aftertouch. However I didn’t really do much reading about it beforehand and of course now if I try to use aftertouch in GP I always end up mapping only one particular key’s aftertouch to a parameter on the panel. What I want is using aftertouch zone-wise, i. e. I use one or more instances of the MIDI in block and, if needed, restrict the range to generate different zones. Now I want to map every single-note aftertouch in the respective zone to the channel aftertouch of the entire MIDI in block. Is there any easy way of doing this or will there be much programming involved?

For my understanding;

You have polyphonic aftertouch and now you want map for example Aftertouch C3 to a widget
and Aftertouch D3 to a different widget?

No, the opposite actually. GP (correctly) handles every poly aftertouch message key-specific. So when I try to map aftertouch from the Hydrasynth to a parameter on my panel I can do it for a specific key, not for the entire MIDI In block.

If I just want to use aftertouch with my virtual instrument what technically would be the best solution is to have a node that transforms every incoming poly aftertouch to channel aftertouch. Then when I put this node after the MIDI In then it will only receive poly aftertouch messages from the selected key zone and submit these as channel aftertouch to the virtual instrument.

However I think with the panel controls things are a bit different. There I need to implement this mapping outside the rig wiring in order to have the desired effect, don’t I?

So no mapping to widgets needed?
You send a Polyphonic Aftertouch and want to get channel aftertouch when the range for example is between C3 and C4?

Did you try to remap Polyphonic Key Aftertouch to Aftertouch in the MIDI Filter Plugin?

Yes, the goal is to map the aftertouch to a widget on zone level, i.e. all aftertouch messages from a specific zone should control a widget.

OK, here a solution

Set the Zone in a MIDI In Block

Connect A MIDI Filter Plugin an remap Polhonic Key Aftertouch to Aftertouch

In the Scriptlet use this code

//Called when an aftertouch (channel pressure) message is received
On AfterTouchEvent(m : AfterTouchMessage)
 InjectMidiEvent("Local GP Port", m)

Now you can learn a MIDI Widget to react on Aftertouch


Thanks a lot, this almost works perfectly. I can now use channel aftertouch as intended if I use GP Port aftertouch. What doesn’t work is the zone limitation. GP apparently blocks midi notes coming from the MIDI in block if I limit the keyzone but it doesn’t block the poly aftertouch messages.

Please upload a small gig showing the issue.

Hmm, sounds like a buglet

We will look into it

1 Like

I can confirm, PolyTouch is not blocked.

1 Like

It will be fixed for the next (post 4.5) update. Good catch.

1 Like