Modulator level broadcaster
-
@d-healey is it a global mod?
-
@Christoph-Hart This is huge! Well done!
-
@Christoph-Hart Yes
-
@d-healey then you can attach a global cable to the modulator and a broadcaster to the global cable.
-
@Christoph-Hart Which attach function do I use to attach the broadcaster to the cable?
Also, any reason I shouldn't do it this way?
const var gm = Engine.getGlobalRoutingManager(); const var c = gm.getCable("Global LFO 1"); c.connectToGlobalModulator("LFO Modulator1", true); const var Knob1 = Content.getComponent("Knob1"); c.registerCallback(function(value) {Knob1.setValue(value);}, false);
-
You just pass in the broadcaster into the
registerCallback()
function and then it will distribute it to its listeners:const var rm = Engine.getGlobalRoutingManager(); const var lfo_cable = rm.getCable("LFO"); lfo_cable.connectToGlobalModulator("LFO Modulator1", true); const var bc = Engine.createBroadcaster({ "id": "Mod Output", "args": ["value"] }); // Use the broadcaster instead of a function lfo_cable.registerCallback(bc, AsyncNotification); bc.addListener("", "logger", function(value) { //Console.print(value); });
Whether you want a broadcaster or directly use a function is up to your project layout, but using a broadcaster will get you more flexibility.
-
@Christoph-Hart And if you want to connect it to a knob, you even don't need to script that, but let the
addComponentValueListener()
function do its job:bc.addComponentValueListener("Knob1", "direct link", "");
-
@Christoph-Hart Thank you. Yes the broadcaster solution will be more suitable here because I have multiple controls being linked to the LFO.
-
This post is deleted! -
Now I'm thinking this may just look annoying and not be very useful. What does the group think?
-
@d-healey well it might work better is your modulator wasnt running so fast...
-
@Lindon But the faster the better, no? :) In the end I won't be able to control what speed the user sets it to so I'm going for ugliest scenario here.
-
@d-healey well its really up to the user as you say - as a user if I set my modulator speed high then I would expect it to show me something like you have....
-
You can add a simple low pass filter on the scripting layer to the values if you want to smooth fast changes.
-