How do you change FilterView floating til 'processorId' by script?
-
@Chazrox said in How do you change FilterView floating til 'processorId' by script?:
"processorId"
..should be ProcessorId <--those caps are a pain to deal with....
-
@Lindon I actually tried both. Does it have anything to do with it being under 'Data' in property editor?
Would I access them like this? This actually isnt working but its what im trying now...
FilterViewMain.set(Data.ProcessorId, "Filter1"); FilterViewMain.set(FilterViewMain.Data.ProcessorId, Filter1); // undefined parameter error with these lines... -
@Chazrox said in How do you change FilterView floating til 'processorId' by script?:
Does it have anything to do with it being under 'Data' in property editor?
Yes. You can change these properties dynamically but you might hit some weird issues.
Convert the data property to an object by parsing the json. Then edit the properties in the object. Then convert the object back to a json string and assign it as the floating tile's Data property. There's a thread about this somewhere. Search for parse json.
-
@d-healey
Can you help me? Been going in circles. I just cant access the 'Data' properly. I've tried a bunch of different ways but I keep getting 'undefined' or 'property doesnt exist'. Do you have an example of how to do this? Im just chaning processor Id's to keep one filter one the UI and have it change by the current trigger button (what is shown below is inside one of my button callbacks).I just need similar behavior that everything else is doing.
Please.

if (value) { Synth.playNote(60, 80); AudioWaveform9.set("processorId", "Audio Loop Player1"); AudioWaveform9.sendRepaintMessage(); AudioWaveform9.set("processorId", "Audio Loop Player1"); AudioWaveform9.sendRepaintMessage(); knbAttack.set("processorId", "DefaultEnvelope1"); knbAttack.updateValueFromProcessorConnection(); knbRelease.set("processorId", "DefaultEnvelope1"); knbRelease.updateValueFromProcessorConnection(); cmbLoopModeTime.set("processorId", "Audio Loop Player1"); cmbLoopModeTime.updateValueFromProcessorConnection(); btnReverse.set("processorId", "Audio Loop Player1"); btnReverse.updateValueFromProcessorConnection(); btnLoop1.set("processorId", "Audio Loop Player1"); btnLoop1.updateValueFromProcessorConnection(); // Change FilterViewMain here // I've tried a bunch of different methods but have not gotten it right yet. This is just trying to print... Console.print(trace(FilterViewMain.Data.ProcessorId)); } -
Something like this
const data = myFloatingTile.get("data"); const dataAsObj = data.parseAsJSON(); Console.print(trace(dataAsObj)); data.processorId = "whateverYouWant"; myFloatingTile.set("data", trace(dataAsObj)); -
@d-healey OK we got prints, but I get this error...am I missing something?
// I moved the 'const' outside of the function....should I keep inside and make local? Console.print(trace(dataAsObj)); data.processorId = "Filter1"; FilterViewMain.set("Data", trace(dataAsObj));
Console.print(trace(dataAsObj)); data.processorId = "Filter1"; FilterViewMain.set("Data", trace(dataAsObj)); -
@Chazrox said in How do you change FilterView floating til 'processorId' by script?:
data.processorId = "Filter1";
Aha, looks like I left you a
typomystery to solve. -
@d-healey haha. I have been trying to use uppercase ProcessorId, ProcessorID, processorId.....
Those still same results..
Also, I know data is in property editor as "Data" not "data" so I already tried that too, but im getting all mixed up now. lol.
this is what prints good:
const Data = FilterViewMain.get("Data"); < ---- Prints Good Console.print(Data); -
@Chazrox said in How do you change FilterView floating til 'processorId' by script?:
I have been trying to use uppercase ProcessorId, ProcessorID, processorId.....
Won't help you here. Look at the error, it says it can't assign to this expression, that means the thing on the right of the
=can't be assigned to the thing on the left.In this case
datais just the text we got from the floating tile.What you should be assigning to (and where my typo comes in) is the object
dataAsObj -
@d-healey Can you show me please. Im confused now.

-
@Chazrox I'll let Dave of the past show you - https://forum.hise.audio/topic/7466/updating-floatingtile-content-data/2
-
@d-healey
Well thats a new one!
It works!
Thank You!
In case anyone needs this solution specifically:
const Data = FilterViewMain.get("Data"); // Declare this outside of your function // inside your function call: //THIS WORKS! local data = FilterViewMain.get("Data").parseAsJSON(); data.ProcessorId = "Filter1"; // We're changing FilterView connection dynamically FilterViewMain.set("Data", trace(data)); -
C Chazrox has marked this topic as solved