Best way to assign LFO to two places in an FX plugin
-
Couldn't you use a global modulator for this instead of scripting it?
-
@d-healey do they work on FX plugins?
-
@tomekslesicki - use a Global Modulator:
- Create a Global Modulator Container in your top level container,
- Select Modulators and create an LFO
- Assign the modulator(and apply inverse) in each spot you want your modulator
-
So this all works fine for destinations that allow you to assign a modulator (like say Filter Frequency), but if you want to assign a modulator to an on-screen widget then you can use a Macro Modulation source and apply that to your widget...
-
the down side of this is that the widget then shows up with a little "flag" letting you know the macro modulator has been assigned, and doesnt then allow the end user to move the widget....
If you want to hide this then you need to define two widgets for each control you want to manage this way:
Widget 1 - the one visible in the interface - whos call back simply updates the value and issues changed() on the second widget
Widget 2 - does the actual backend processing in its call back, and has a macro modulator assigned to it
-
@Lindon thanks! The problem is that it's an FX plugin and last time I checked, Global Modulators were not exporting in this case? I may be wrong, it was a while ago.
-
@tomekslesicki actually no, the global modulators (and macro modulation source container) will not be processed in an FX plugin, but that was requested multiple times and makes sense so I‘ll probably fix it soon.
In the meantime you might try your luck with the (undeferred)
onTimer
callback, this should give you at least some real time predictability (the other timers run on the UI thread and have no guaranteed timing). -
@Christoph-Hart sounds promising! I can't find a way to implement it in the docs. Should be a pretty simple call I guess?
-
-
@tomekslesicki said in Best way to assign LFO to two places in an FX plugin:
@Lindon @d-healey I guess you’ve used this call before. Could you please tell me how to use it? It seems different than the standard timer...
Go to HISE, open the APICollection panel, and type Timer into the search box....
-
@Lindon I got that part, just not sure how to assign the function to it :-)
-
Timer.setTimerCallback()
-
Christoph is referring to the synth timer callback, not to timer objects. It's just a callback like the note on/off callbacks. Select it from the drop down menu and put your code in there. Start/stop it with
Synth.startTimer()
andSynth.stopTimer()
- do this in a non-deferred script. -
@d-healey what is a non-deffered script? Sorry for so many questions, it’s just new to me.
-
-
This post is deleted! -
Thank you!