# IMidiMsg::kPitchWheel not sent to OnMidiMsgUI?

**URL:** <https://iplug2.discourse.group/t/imidimsg-kpitchwheel-not-sent-to-onmidimsgui/61>\
**Category:** Uncategorized\
**Created:** [18 April 2020 11:49 UTC](https://iplug2.discourse.group/t/imidimsg-kpitchwheel-not-sent-to-onmidimsgui/61 "2020-04-18T11:49:16Z")\
**Posts on this page:** 9\
**Page:** 1

<div class="post-metadata">

**Author:** ![E-Phonic](https://avatars.discourse-cdn.com/v4/letter/e/a9adbd/32.png) [@E-Phonic](https://iplug2.discourse.group/u/E-Phonic)\
**Post date:** [18 April 2020 11:49 UTC](https://iplug2.discourse.group/t/imidimsg-kpitchwheel-not-sent-to-onmidimsgui/61/1 "2020-04-18T11:49:16Z")

</div>

Hi,

I’m trying to map my IControl to incoming kPitchWheel events and implemented OnMidiMsgUI to check for incoming events. While noteOn / noteOff messages seem to work, kPitchWheel messages do not seem to be send to the UI. On the processor side, they are send correctly to ProcessMidiMsg. Could this be a bug or am I missing something? The plugin is build as VST3 OSX.

```
void IPlugEffect::OnMidiMsgUI(const IMidiMsg& msg) {
    int status = msg.StatusMsg();

    DBGMSG("OnMidiMsgUI @ %i \n", status);

    switch (status) {
        case IMidiMsg::kPitchWheel:
            // update IControl
        break;
    }
}

```

PJ

---

<div class="post-metadata">

**Author:** ![renzoruggieri.com](https://avatars.discourse-cdn.com/v4/letter/r/dec6dc/32.png) [@renzoruggieri.com](https://iplug2.discourse.group/u/renzoruggieri.com)\
**Post date:** [18 April 2020 13:20 UTC](https://iplug2.discourse.group/t/imidimsg-kpitchwheel-not-sent-to-onmidimsgui/61/2 "2020-04-18T13:20:08Z")

</div>

Ciao PJ  
I’m not professional programmer and sorry for my english,  
but I had same problem.

What I understand by looking around in the forums is that the VST3 standard - for STUPID reason arrive at MIDIOUT - has been limited. In practice, only the NOTE-ON / OFF and some others (I checked the NRPN, strangely also the CC11 goes into my project… it working good in VST2).

I recommend this post:  
[https://www.steinberg.net/forums/viewtopic.php?t=153909](https://www.steinberg.net/forums/viewtopic.php?t=153909)

The reason that many audio programmers have not joined VST3 for many years and STEINBERG’s recent decision to inhibit the distribution of VST2 makes it clear how completely this company has moved away from MUSICIANS (I am a professional and live in concerts and I know what am I talking about) and they has come to its “creative death”.

In my opinion - seeing their latest software productions - I noticed how much they tend to favor their choices by imposing them on musicians (for example the instrumental “articulations”, the audio tracks connected to a single instrument, the clumsiness of the interfaces, etc … ).

They do not realize, however, that they have directed their focus to AMATEURS.  
A professional musician never looks for  
“imitations”  
but looks for “personalizations”  
and they dont like “limits”.

At the end a starting point for reflection (sorry for long post)…  
Can a KEYBOARDS PLAYER program a drum track in “artistically” way?  
No!. He pay for drummer if want a professional drums track.  
Only amateurs do these things…  
but STEINBERG still doesn’t understand it.

---

<div class="post-metadata">

**Author:** ![olilarkin](https://yyz2.discourse-cdn.com/free1/user_avatar/iplug2.discourse.group/olilarkin/32/2_2.png) [@olilarkin](https://iplug2.discourse.group/u/olilarkin)\
**Post date:** [18 April 2020 13:56 UTC](https://iplug2.discourse.group/t/imidimsg-kpitchwheel-not-sent-to-onmidimsgui/61/3 "2020-04-18T13:56:31Z")

</div>

VST3 makes the wacky decision to split up the MIDI stream and CCs and Pitch bend work as plugin parameters.

Nevertheless you have discovered a bug in iPlug2, which i can fix. Need to modify IPlugVST3ProcessorBase::ProcessParameterChanges() to push MIDI parameters into IPlugAPIBase::mMidiMsgsFromProcessor queue.

BTW, you can also make an IControl directly respond to MIDI messages with IControl::SetWantsMidi(true), then handle in IControl::OnMidi()

---

<div class="post-metadata">

**Author:** ![olilarkin](https://yyz2.discourse-cdn.com/free1/user_avatar/iplug2.discourse.group/olilarkin/32/2_2.png) [@olilarkin](https://iplug2.discourse.group/u/olilarkin)\
**Post date:** [18 April 2020 14:03 UTC](https://iplug2.discourse.group/t/imidimsg-kpitchwheel-not-sent-to-onmidimsgui/61/4 "2020-04-18T14:03:11Z")

</div>

> <https://github.com/iPlug2/iPlug2/commit/a86fa6907b5b084e8dc813beb2b2d1c79e062a43>

---

<div class="post-metadata">

**Author:** ![E-Phonic](https://avatars.discourse-cdn.com/v4/letter/e/a9adbd/32.png) [@E-Phonic](https://iplug2.discourse.group/u/E-Phonic)\
**Post date:** [18 April 2020 14:11 UTC](https://iplug2.discourse.group/t/imidimsg-kpitchwheel-not-sent-to-onmidimsgui/61/5 "2020-04-18T14:11:34Z")

</div>

Yeah, the VST3 SDK is full of surprises. 😉 I decided to abandon my VST3 SDK projects and port them to iPlug2. It’s just overly complicated and has some bad design choices.

I was just checking out IControl::OnMidi(). Nice to have this option. It seem to suffer from the same bug btw.

---

<div class="post-metadata">

**Author:** ![olilarkin](https://yyz2.discourse-cdn.com/free1/user_avatar/iplug2.discourse.group/olilarkin/32/2_2.png) [@olilarkin](https://iplug2.discourse.group/u/olilarkin)\
**Post date:** [18 April 2020 14:25 UTC](https://iplug2.discourse.group/t/imidimsg-kpitchwheel-not-sent-to-onmidimsgui/61/6 "2020-04-18T14:25:53Z")

</div>

should be fixed if you git pull

---

<div class="post-metadata">

**Author:** ![E-Phonic](https://avatars.discourse-cdn.com/v4/letter/e/a9adbd/32.png) [@E-Phonic](https://iplug2.discourse.group/u/E-Phonic)\
**Post date:** [18 April 2020 14:37 UTC](https://iplug2.discourse.group/t/imidimsg-kpitchwheel-not-sent-to-onmidimsgui/61/7 "2020-04-18T14:37:27Z")

</div>

Thanks! You’re fast!

---

<div class="post-metadata">

**Author:** ![renzoruggieri.com](https://avatars.discourse-cdn.com/v4/letter/r/dec6dc/32.png) [@renzoruggieri.com](https://iplug2.discourse.group/u/renzoruggieri.com)\
**Post date:** [18 April 2020 16:08 UTC](https://iplug2.discourse.group/t/imidimsg-kpitchwheel-not-sent-to-onmidimsgui/61/8 "2020-04-18T16:08:00Z")

</div>

Thanks Oli for answer

---

<div class="post-metadata">

**Author:** ![underbiz](https://yyz2.discourse-cdn.com/free1/user_avatar/iplug2.discourse.group/underbiz/32/169_2.png) [@underbiz](https://iplug2.discourse.group/u/underbiz)\
**Post date:** [8 June 2021 11:08 UTC](https://iplug2.discourse.group/t/imidimsg-kpitchwheel-not-sent-to-onmidimsgui/61/9 "2021-06-08T11:08:51Z")

</div>

Faced the same problem in vst3. Plugin can not send CCs, PC and PB. Note on/off works fine. I new in iplug2 and starting with examples. Please can anybody give an simple example how to send CCs and ets. from plugin parametrs and passthrough in vst3.I would be very grateful!
