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); }; }