Morphing between ProxyChain parameters

Hey everyone,

I have the following problem:
I would like to morph between different parameters of a ProxyChain over time, not changing it directly when I execute ProxyChain(\test).set(\val, 10)

I create a ProxyChain like this:

n = ProxyChain.new;
n = ProxyChain(\Process, [\effect1, \effect2, \effect3]);
n.gui();

In the gui I can acess the current state of the effects via the “doc” - button. I was wondering, if there is a way to morph over time between two different states of the Proxchain. So for example state1 (or Preset1) would look like this:

// I get these values from the "doc"-button
n.set('mix10', 0.7037037037037, 'mix20', 0.67195767195767, 'mix30', 0.85185185185185);

and state2 (after chaning some parameters in the gui) will look like this:

n.set('mix10', 0.1, 'mix20', 0, 'mix30', 0);

This is just a simplified example. The states of my actual ProxyChain have far more parameters. I can switch between the presets by executing the line. But what would be a way to morph over time between the two different states? I guess I could do something like this:

ProxyChain(\test).set(\decay, 10);

and change the parameters via OSC/Midi-Messages over time, but this will be really inconvient since I have a lot of parameters and the different values are quite diverse. Any suggestions?

Thank you :slight_smile:

1 Like

Did you or someone else find a solution for this?

You can take a look at ProxyPreset of GitHub - supercollider-quarks/JITLibExtensions: Some extensions to the common JITLib classes · GitHub, which has a morph method, which exists to morph between multiple parameters of a proxy. It plainly uses a Task to gradually change the parameter.

It would be nice to have the ability to tell the server “please set this parameter to x in y secs using z as warp”, but this is currently not possible w/o prior routing/abstraction.

1 Like