I use a vst live host that allows showing / hiding the GUI of a plugin by sending a midi message. If I f.e. move a fader on my controller, the plugin shows up. But what I need is another midi message that gets send after a delay of f.e. 3 seconds after the fader has been moved to hide the GUI again.
Just attach that core module between your controller and your computer, scan for respective messages to the VST, and if you encounter one, set an internal timer to send out a “close midi packet” after three seconds.
the controller is actually an MB_NG. And I already did a little bit of coding on this. But since the faders, etc. are not “hardcoded”, this might be not that easy to implement. If you have any ideas, please let me know!
As the controller already is a MIDIbox NG, you could also do it on the controller itself then without the need for another 32-bit core. You would “just” need a bit of customization of the NG code base, that essentially performs the following steps:
a) detect a packet sent out to your VST - this could be registered e.g. using a new META description keyword in your control file
b) if that packet was detected, set an internal timer, that is always set to 3 seconds (if a new packet was detected and the timer is already running).
c) if the timer expires, manually send out the “closing” MIDI data packet on the correct interface (this is just one MIOS function call and a few lines of code).
For this, you would need to do a bit of C coding and looking around in the codebase, e.g. to learn how the configuration mechanism (META config stuff) works. I am myself completely out of time since about 19 months :-), can’t really help you out on this one, all i can say is, that it is easier than you might think, especially if you already did some hacking!
Yes, sure. But the NGR doesn’t track any other midi commands. So for example take a fader which sends CC80. If the fader is not moved for 3 seconds, CC81 value 127 should be send. But if the fader is moved after 2 seconds, the timer needs to reset. This is not possible with NGR afaik.