Midi Keyboard Not Transmitting to Reaper, but Midi Pad Does?

  1. Summary / Title

MIDI Keyboard object does not send MIDI to Reaper, while MIDI Buttons work correctly

  1. Steps to Reproduce

Step 1: Connect MetaGrid Pro to Reaper via MetaServer. Confirm the connection is working.

Step 2: Create a button in MetaGrid Pro that sends a MIDI note.

Step 3: In Reaper, arm a track and set the input to All MIDI Inputs.

Step 4: Press the MIDI button. Reaper immediately receives the MIDI and shows MIDI activity.

Step 5: On the same MetaGrid Pro grid, add a MIDI Keyboard object.

Step 6: Play notes on the MIDI Keyboard object (regardless of which MIDI channel it is set to).

  1. Expected Result

The MIDI Keyboard object should send MIDI note data to Reaper just like the MIDI button does, and the armed track should display MIDI activity and receive the notes.

  1. Actual Result

The MIDI Button successfully sends MIDI to Reaper every time.

However, the MIDI Keyboard object sends no MIDI at all. Reaper shows no MIDI activity on the armed track, regardless of which MIDI channel the keyboard is configured to use. Changing the MIDI channel does not affect the behavior.

No error messages are displayed.

  1. Screenshots or Video (if applicable)

None currently, but I can provide screenshots or a screen recording if that would help diagnose the issue.

  1. Device Information
    Operating System: macOS Tahoe (latest version)
    MetaGrid Pro version: v1.7.3
    MetaServer version: v6.1.3
    Device Model: iPad connected to Mac
    Affected software: REAPER (latest version)
  2. Additional Notes

I have already verified that MIDI communication between MetaGrid Pro and Reaper is functioning by using a MIDI Button object. Since the button successfully transmits MIDI, the connection appears to be working correctly.

The issue seems to be specific to the MIDI Keyboard object, which produces no MIDI output in Reaper under the same conditions. I’ve tested multiple MIDI channels on the keyboard object while Reaper is configured to receive All MIDI Inputs, but the behavior is always the same.

Just an update, I have run a MidiViewer app to log any/all midi coming into my computer and the midi keyboard/piano object does not transmit any data whatsoever.

Metagrid Pro v1.7.3
Metaserver v6.0.3 Build 6010

Thanks for the additional test. I have now traced the Piano Keyboard implementation in MetaGrid Pro.

Please check these points:

  1. Set the Piano Keyboard’s Velocity clearly above zero.
  2. In MetaServer, confirm that the Metasystem MIDI output is enabled or mapped.
  3. In REAPER or MIDI Monitor, select Metasystem - MIDI - In explicitly.
  4. Please also tell me which MIDI destination is selected for the working MIDI Button.

The Piano Keyboard always sends through the Metasystem MIDI destination, while a normal MIDI Button can be assigned to a different destination. This means the button can work even when the Piano Keyboard’s destination is not currently available.

Please also confirm whether the computer is running macOS or Windows, and the exact MetaServer version, as the two posts contain different environment details.

Thanks for the response! Here’s my responses to your advised steps:

  1. I have adjusted the velocity slider to 127 and many other settings between 127 and 0 with no change. Additionally, MidiView does not capture any MIDI data when adjusting any parameters related to the MIDI Piano.

  2. I confirmed in Metaserver under the “MIDI” category in the left-hand column, that Metasystem MIDI is enabled and that Reaper is also enabled (toggle is switched “on” to the right).

  3. (Metasystem - MIDI - In) is what I have selected in both Reaper and MidiView. For interests sake, I switched to Metasystem - Reaper as the input on my selected MIDI track in reaper and the button no longer triggered playback. Neither did the MIDI piano. When I switched the input back to (Metasystem - MIDI - In) the MIDI button I created began to work again (I have it set to play C#1 at 127 Velocity on MIDI channel 1). The MIDI Piano still did not trigger any MIDI events in Reaper or on MidiView. Both the MIDI Button and the MIDI keyboard are on the same Grid on my iPad. (see picture below)

  4. When you refer to MIDI destination, I assume you mean the settings under the “Macro” page? If I select the MIDI button I created and open the edit view. If I go under Macro, click “+ Add” under Actions, and then add “MIDI Note On” the settings under this category are “Note C1(36) Vel: 0 CH: 1” on one side of the momentary button and Vel: 127 on the other side of the momentary button (see pic)

If I click on the MIDI Piano and enter the editor view, the only setting pertaining to MIDI it lets me adjust is the MIDI Channel (see pic).

Another troubleshooting approach I have tried tonight:

I backed up my entire metagrid pro to the cloud. Removed app from iPad. Did a hard reset of the iPad and re-downloaded Metagrid Pro. I have clicked on “restore purchase” and entered my Apple ID password.

Instead of restoring my backup. I figured I would create a new blank grid and added a MIDI button and a MIDI Piano/Keyboard to a new grid page. The MIDI button works; however when I click on the midi keyboard i now see a red banner at the top of the screen which says “Object Locked: upgrade to premium”; however I am a Premium user and this shows up under subscription plans in the settings menu “Premium (Early Supporter)”.

I did not previously ever see this red banner at the top when pressing the MIDI keyboard?

Thank you for the detailed troubleshooting. This confirms that the problem is related to purchase entitlement rather than MIDI configuration.

In the previous purchase model, the Keyboard and Drum Pads object was a premium add-on that required a separate purchase. After MetaGrid Pro moved to the subscription model, premium objects such as Keyboard, Drum Pads, and Gesture Pads became included with the subscription.

Please contact us at help@metagrid.app and include your forum username and Apple ID purchase details. We will review your Early Supporter entitlement and find a solution for you.