Still testing and chasing down minor bugs. UPDATE: The script is still coming along. I'll post the script soon (after more testing) in case anyone else runs into the same problem. When the JS script is added to the Incoming FX chain on the EZDrummer channel the cymbal choke works correctly and no longer gets stuck in the 'grab' state, and I can see where Reaper records the Channel Pressure in the lane under the MIDI notes.
I also added code to remove the MIDI timing code messages that are constantly being sent from the Nitro. When the script receives the incoming Poly Aftertouch message from the Nitro, it sends 2 Channel Pressure messages out (first one with value higher than 64, and second with value 64 or lower). I found EZDrummer requires this by recording the crash (without grabbing it), then went into the MIDI editor and drew in the Channel Pressure to see how it works. I found that EZDrummer requires at least 2 Channel Pressure (Channel Aftertouch) messages with first value higher than 64 and second value 64 or lower. The Alesis Nitro module sends only one Poly Aftertouch MIDI message (a9 31 7f) for the crash cymbal choke. I made a JSFX script for this problem that seems to be working great. It also switches back to the Basic kit in the add-ons. This will work only for the Basic kit that comes with EZDrummer (or any add on Basic kits). Please post ideas if you have any knowledge on it. I'm still looking for a good work around. For example if you are using "Modern Vintage" kit in EZDrummer, it will switch back to "Basic" kit when it plays across the Program Change. The Program Change will switch the drum kit back to the Basic kit when the recorded MIDI is played back. UPDATE: I've found a problem with this solution. I just know EZDrummer doesn't like 'a9 31 7F' poly aftertouch MIDI code for cymbal chokes (at least on my setup) and converting to 'ProgChg Inc' works. If anyone knows a better solution I'd like to hear it. So it seems to be required in the final MIDI. I went into the MIDI editor and removed it and the cymbal stopped choking.It just rang out like no grab. It doesn't seem to cause any problems on my setup, but not sure if if it would cause problems on another system/setup if I share the MIDI or REAPER projects. I did notice in the recorded MIDI item there is a 'PC' where I grabbed the cymbal (attached).
I think it's great REAPER has all these great tools for problems like this. I was thrilled to see it working and thought I would share it here. It converts the Poly aftertouch to a Program Change. The fix is to add MIDI Converter 3 on the Input FX (before EZDrummer) and set the sliders like in the attached image. (This is after it is converted from a9 31 7F to c9 00 00). See in attached examiner and logger image. This is on note C#2 crash on the Nitro and in EZDrummer. I found the Nitro module choke/grab sends poly aftertouch (a9 31 7F). I don't know exactly what Program Change it's using in the MIDI Converter, but it works great. I was playing around with it again today using VSTi MIDI Converter 3, JS MIDI Examiner, and JS MIDI Logger, and happened onto this fix. I would have to restart Reaper to get it unstuck. Problem was when I did a crash cymbal choke (grab) on the Alesis Nitro drum kit, the choke would get stuck in EzDrummer. (The solution in this post didn't work out).
UPDATE 2: Skip this and go to next 2 post. I finally gave up and bought Addictive Drums (which cymbal chokes work fine in it). I searched all over the web for months and never could find and answer. Thanks for all the great info! I ran across a fix today and hope this may help someone. I've been reading the Reaper forums for years.