FX attribute numbers....
-
Okay, so.....
I have a dynamically loadable set of fx using a slot FX...and this is only going to grow when I add Master ScriptNode FX stuff...
Currently I have a "bulky" solution to displaying and changing FX param values - each possible FX has a panel containing all its controls...and I just hide/show these as required. So this means every possible FX has a panel with all the required widgets in it . Multiply this by 4 slot FX and 4 x Master Slot FX and we have a very very large set of widgets...
So I'd like to move to a more dynamic approach - where I have a single set of UI widgets for each slot that control params dependent upon which FX is currently loaded in the slot.
All this is do-able (I've did something similar in Kontakt -KSP - shudder)... here's some psudocode:
on FXSelection: get the fx json for the loaded FX get the used widgets params (x,y,min,max,middle, default, type etc.) layout the widgets correctly....
leaving my widget callback like this:
myFX.setAttribute(myFX.attributeName, value);
Where myFX.attributeName is an "in module constant", basically a way to de-couple the code from any possible changes to the FX attribute number....
we know it as this:myChorus.setAttribute(myChorus.Depth, value);
So my psudo code above wont know which FX is loaded, or which FX attribute its supposed to be changing - still its simple enough to have this recoded in the "fx json"
so for example in the json I could have some thing like this:
EffectName: "Chorus", EffectParams: [ { Title:"Depth", xpos:12, ypos:22, min: 0, max:1, type:"percentage", .... attributeNumber: 0 }, ],
so my call back looks like this(sort of)
on Widget01(component, value) { //some code to go get the correct effect json ...into-> myJASON myFX.setAttribute(myJASON.attributeNumber, value); }
Okay enough around the houses....
my problem is this:
attributeNumber: 0
-I have to set up the JSON before I use (or load) any given FX
so - does anyone know any way to get the attribute values for each FX using their attribute names - WITHOUT loading an FX?
or - how likely are we to see these attribute values change? - I know they havent moved much since ground zero - but just in case....
(sorry for the long post to a fairly, simple question set)
-
@Lindon Yes it's possible, this is what we did in Mndala. I'll dig out some details when I'm at my computer.
-
@d-healey cool - thanks
-
So I had a look and we're using a function
SlotFX.getParameterProperties()
which returns a JSON object containing a bunch of data about all of the controls of the currently loaded effect. We then loop over that data and set those properties for our UI controls.There is just one problem. It seems this function is currently only working with Hardcoded Master FX and not regular SlotFX (the API doc is wrong).
@Christoph-Hart Is this an easy fix?
-
@d-healey yep @Christoph-Hart I(clearly) would be very keen on this...