From ae2542795c5799b4ff66cdc1325a7ed7cfe6a402 Mon Sep 17 00:00:00 2001 From: Owen Green Date: Wed, 15 Jul 2020 18:29:46 +0100 Subject: [PATCH] NRT data clients need their own synth def to actually create named controls for setters to work --- .../Classes/FluidManipulationClient.sc | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/release-packaging/Classes/FluidManipulationClient.sc b/release-packaging/Classes/FluidManipulationClient.sc index 3713ad9..9e748f8 100644 --- a/release-packaging/Classes/FluidManipulationClient.sc +++ b/release-packaging/Classes/FluidManipulationClient.sc @@ -176,6 +176,24 @@ FluidDataClient : FluidManipulationClient { }; } + + makeDef {|defName,uid,args| + var defControls = synthControls; + var ugenControls = [this.class.name] ++ synthControls ++ uid; + + var f = ( + "{ |dataClient|" + " SynthDef("++defName.asCompileString++", { |" ++ defControls.join(",") ++ "|" + " var ugen = FluidProxyUgen.kr(" ++ ugenControls.join(",") ++ ");" + " dataClient.ugen = ugen;" + " ugen" + " })" + "}" + ); + var res = f.interpret.value(this); + ^res + } + updateSynthControls{ synth !? { synth.set(*parameters.asKeyValuePairs); }; }