FantomXR Posted June 13, 2017 Report Share Posted June 13, 2017 Hey people, 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. Any ideas how to do that? Thanks, Chris Quote Link to comment Share on other sites More sharing options...
Hawkeye Posted June 13, 2017 Report Share Posted June 13, 2017 Hi Chris, if you can't do it on your VST host with a software tool, it should be a quite easy task to do it in hardware with a bit of MIOS32 coding. If you have an old 32-bit core lying around, you could write the MIOS app mostly from looking at TK.'s great coding examples: http://ucapps.de/mios32_c.html 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. Many greets! Peter Quote Link to comment Share on other sites More sharing options...
FantomXR Posted June 13, 2017 Author Report Share Posted June 13, 2017 Hi Peter, 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! ;-) Quote Link to comment Share on other sites More sharing options...
Hawkeye Posted June 13, 2017 Report Share Posted June 13, 2017 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! Best regards and good luck! Peter Quote Link to comment Share on other sites More sharing options...
FantomXR Posted June 13, 2017 Author Report Share Posted June 13, 2017 (edited) Dear Peter, alright! I'll check that ;-) I already implemented a few META-commands by myself... let's see how far I can get... (I have an idea already!) :-) Edited June 13, 2017 by FantomXR Quote Link to comment Share on other sites More sharing options...
Zam Posted June 13, 2017 Report Share Posted June 13, 2017 Hello You should be able to delay anything using .NGR with delay_ms 3000 Best Zam Quote Link to comment Share on other sites More sharing options...
FantomXR Posted June 13, 2017 Author Report Share Posted June 13, 2017 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. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.