# \[Solved\]\[Windows vst3 WebUI c++\] Send any messages on MIDI notes on/off

**URL:** <https://iplug2.discourse.group/t/solved-windows-vst3-webui-c-send-any-messages-on-midi-notes-on-off/603>\
**Category:** Windows\
**Created:** [22 March 2022 06:23 UTC](https://iplug2.discourse.group/t/solved-windows-vst3-webui-c-send-any-messages-on-midi-notes-on-off/603 "2022-03-22T06:23:35Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![Halloumi](https://avatars.discourse-cdn.com/v4/letter/h/7ea924/32.png) [@Halloumi](https://iplug2.discourse.group/u/Halloumi)\
**Post date:** [22 March 2022 06:23 UTC](https://iplug2.discourse.group/t/solved-windows-vst3-webui-c-send-any-messages-on-midi-notes-on-off/603/1 "2022-03-22T06:23:35Z")

</div>

```auto
void myplugin::ProcessMidiMsg(const IMidiMsg& msg)
{
    int status = msg.StatusMsg();
    IMidiMsg trns;
    switch (status)
    {
    case IMidiMsg::kNoteOn:
        SendControlValueFromDelegate(1, msg.NoteNumber()); // or SMMFD
        break;
        ...

```

```auto
        ...
handle:
    SendMidiMsg(trns);
    SendControlValueFromDelegate(1, msg.NoteNumber()); // or SMMFD
}

```

Both codes won’t work as I expected.  
Will calling functions inside ProcessMidiMsg be ignored?

---

<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:** [22 March 2022 08:20 UTC](https://iplug2.discourse.group/t/solved-windows-vst3-webui-c-send-any-messages-on-midi-notes-on-off/603/2 "2022-03-22T08:20:48Z")

</div>

You shouldn’t do this because ProcessMidiMsg() is called on the realtime thread. That being said, not sure why you wouldn’t see anything happening.

The IPlugControls example has something that should help…

> <https://github.com/iPlug2/iPlug2/blob/master/Examples/IPlugControls/IPlugControls.cpp#L508>

---

<div class="post-metadata">

**Author:** ![Halloumi](https://avatars.discourse-cdn.com/v4/letter/h/7ea924/32.png) [@Halloumi](https://iplug2.discourse.group/u/Halloumi)\
**Post date:** [22 March 2022 09:45 UTC](https://iplug2.discourse.group/t/solved-windows-vst3-webui-c-send-any-messages-on-midi-notes-on-off/603/3 "2022-03-22T09:45:37Z")

</div>

Thanks for your replying.  
UI updating should be happened real time for accuracy.  
But sending message inside a function that called from ProcessMidiMsg() won’t work.  
So, I’ll consider another approach.

Thanks.

---

<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:** [22 March 2022 12:11 UTC](https://iplug2.discourse.group/t/solved-windows-vst3-webui-c-send-any-messages-on-midi-notes-on-off/603/4 "2022-03-22T12:11:26Z")

</div>

The “realtime” thread is the high priority audio thread. OnMidiMsgUI() is a method you can override to do something (in realtime) but on the main thread

---

<div class="post-metadata">

**Author:** ![Halloumi](https://avatars.discourse-cdn.com/v4/letter/h/7ea924/32.png) [@Halloumi](https://iplug2.discourse.group/u/Halloumi)\
**Post date:** [22 March 2022 13:09 UTC](https://iplug2.discourse.group/t/solved-windows-vst3-webui-c-send-any-messages-on-midi-notes-on-off/603/5 "2022-03-22T13:09:10Z")

</div>

Thank you very much olilarkin!!  
That is simple and working like a charm!  
Now the problems was solved.
