Hallo,
(I might answer to the other part of your email after some more thinking about it...)
cyrille henry hat gesagt: // cyrille henry wrote:
Wouldn't most interpolation issues be possible to solve with a kind of stored envelope? Like an ADSR also describes an interpolation, but it still can be stored using four static values.
weel, I don't see how an ADSR can help for interpolation. maybe I did not really undersant what you thinking of.
I mentioned the ADSR as an example for how to save an interpolation. An ADSR is just four numbers specifying the state: "adsr 10 100 0.9 200". However those four values are used to interpolate another value: the volume of a signal for example - this is enveloped interpolation. One never uses the A,D,S and R values directly. Thus the A,D,S and R values are very much like the C1, C2,... in your example.
Using this to handle interpolation would involve to do the actual interpolation outside the state saving system.
For example like this:
[state-holder] <---------- stores state1, state2,... with stateX for | example being (list 1 3 2 4 3 5) | state 2 being (list 7 6 8 7 9 0) etc. | [envelope-generator] <--- stores C1, C2, C3,... | has e.g. a [Cx 100(---[line~] construct | inside. Also has a volatile storage for | stateX lists. ...
Using this, one would select the wanted Cx variable(s), then use [state-holder] to send a list to [envelope-generator], then send another list, which [envelope-generator] will interpolate.
As Memento will save everything used in a patch, the envelope interpolation values would be saved as well as the stateX lists.
Do I make sense? ;)
Ciao