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

CLIP ENVINS does not work #6

Open
ldrolez opened this issue Jun 11, 2021 · 5 comments
Open

CLIP ENVINS does not work #6

ldrolez opened this issue Jun 11, 2021 · 5 comments
Assignees
Labels
bug Something isn't working help wanted Extra attention is needed

Comments

@ldrolez
Copy link
Owner

ldrolez commented Jun 11, 2021

the envelope is cleared, but nothing is inserted

@ldrolez ldrolez added the bug Something isn't working label Jun 11, 2021
@ldrolez
Copy link
Owner Author

ldrolez commented Jan 1, 2024

CLIP ENVINS ... SQR now works, but no saws... :(
API was updated in Live 11 and no documentation really exists

@ldrolez ldrolez added the help wanted Extra attention is needed label Jan 1, 2024
@ldrolez ldrolez self-assigned this Jan 1, 2024
@light2peter
Copy link
Contributor

I think it's broken in live 10 also. probably instead of trying to add breakpoints it just has to add a bunch of little steps

@ldrolez
Copy link
Owner Author

ldrolez commented Jan 18, 2024

I played with the API for hours and managed to make a ramp without steps. I've tried to contact some api experts but nobody knows...
As you see there is a way to make a true ramp. It seems like a bug was introduced in the api at some point...

@light2peter
Copy link
Contributor

light2peter commented Jun 5, 2024

based on your post, I wonder if the API function insert_step(beat, duration, value) works like this... assuming envelopes are stored as an ordered list of points [(time,val)...]

  1. Save the current envelope values @ beat [old1] and beat+duration [old2].
  2. Remove any points between beat and beat+duration, inclusive.
  3. Add 4 points at:
    (beat, old1), (beat,new),
    (beat+duration, new) (beat+duration,old2)

So that means: if duration is positive it just creates a step. But if duration is negative, this
ends up creating a ramp from whatever the previous point was to (beat+duration, new).
Then a vertical line to (beat+duration, old2), horizontal to (beat, old1), vertical to (beat,new)
So there will always be a "glitch" between beat and beat+duration, but we could overwrite after that with
a short step at the desired value.

@light2peter
Copy link
Contributor

Ideally if duration is 0, the API would just create a single point instead of all 4. but maybe that's not what it does after Live 9.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working help wanted Extra attention is needed
Projects
None yet
Development

No branches or pull requests

2 participants