Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Portamento plugin and poly scale properties #27

Closed
wants to merge 10 commits into from

Conversation

swesterfeld
Copy link
Collaborator

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:

  • there is no gxk-spinner.cc support (log scales have it, but it appears to be never used)
  • there is no bstparam*cc support
  • I added two FIXMEs gxkparam.cc because I have no idea whether my conversion function handles step increment and page increment properly

Signed-off-by: Stefan Westerfeld <[email protected]>
The scale has one parameter exponent, and should use: x^exponent

Signed-off-by: Stefan Westerfeld <[email protected]>
Register editor for "poly-scale" - for now, we just print out a line with
the exponent, as a poly scale adjustment is not implemented yet.

Signed-off-by: Stefan Westerfeld <[email protected]>
Signed-off-by: Stefan Westerfeld <[email protected]>
…lues

Due to poly scale, users can select a value of 0 or very close to 0 for
portamento time.  This change avoid problems for these cases.

Signed-off-by: Stefan Westerfeld <[email protected]>
Signed-off-by: Stefan Westerfeld <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant