Portamento plugin and poly scale properties #27
Closed
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
In #5 I suggest a portamento module for BEAST, so far the remaining issue was that the time parameter should have a inituitive slider position -> value mapping. In the issue we found that it should be an x^3 function. So here is the portamento module with an x^3 mapping. I added a poly scale (as in polynomial) param spec (parameter: exponent, as in x^2, x^3, ... x^e) and ui.
Although it would have been possible to support fractional exponents (x^2.34), I don't support this case, the exponent needs to be an unsigned integer value. The reason is that once we have automation/modulation, we may need to map every single sample value through the function, and integer exponents can be computed more quickly than pow() and friends.
This is an attempt to add only the minimal set of changes to get it working. This means that I encountered other code that was special cased for log scales, but since I didn't know how to trigger these cases, so I couldn't test it, I did not change these things: