Hallo, Frank Barknecht hat gesagt: // Frank Barknecht wrote:
cyrille henry hat gesagt: // cyrille henry wrote:
in the system I'm curently using (made around a custom pbank object) list are interpolated element by element (if the 2 interpolated list are the same size). the possibility to have symbol instead of float is the solution not to interpol every value. exemple of what is currently running on my computer :
preset_default : 1 2 3 4 5 6 7 8 9 110 preset_1 : 4 5 6 7 8 9 1 2 3 foo preset_2 : 1 3 5 7 9 1 3 5 7 foo preset_3 : 2 2 2 2 2 2 2 2 2 foo preset_4 : 0 9 0 9 0 9 0 9 0 foo
Action speaks louder than words: I tried to mimick this with Memento in attached patches, which require Memento of course + zexy.
More loud action regarding this cute problem: tester2.pd shows some more ideas in this interpolation business, which I'd prefer to call weighting actually (like in "weighted sum").
Now I abstracted out the weighting into a list scale abstraction rrad.lscale, which simply scales all floats in a list by some value, then sends out the scaled list. This maybe should be an external in the end, because it's probably called many times and has to be fast.
Then tester2.pd uses this rrad.lscale in two ways: One is for scaling OSC messages, as they are put out or accepted in the OSC-xlets of rradical patches. This will let one abstraction scale another one of the same type (or at least with the same OSC-target names). However this will not easily let a change of scaling factor trigger a change of the child abstraction's settings.
This is possible with the second approach I took in the same patch: Here I use a wrapper around [commun] which decorates commun with a second outlet for scaled values. Scaling (weighting, interpolation) then is simply possible by replacing [commun]-objects with [lscale-commun]-objects and reading out the scaled outlet. The example abstraction lscale-sliders.pd has such a scaler inside.
Is this any good?
Ciao