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

In certain cases, FX parameter automation is considered as "touched" #416

Closed
helgoboss opened this issue Aug 5, 2021 · 3 comments
Closed
Labels
bug Something isn't working high priority

Comments

@helgoboss
Copy link
Owner

Especially bad for "Global: Last touched" target while project is playing.

@helgoboss helgoboss added the bug Something isn't working label Aug 5, 2021
@helgoboss
Copy link
Owner Author

Here's what doesn't work in particular: Touching an FX parameter a while another FX parameter b is being automated (project is playing). At first, a will be picked up as touched, but immediately after that b as well.

Reason: fx_has_been_touched_just_a_moment_ago in change_detection_middleware.rs. It's set to true (on ExtSetLastTouchedFx) shortly before ExtSetFxParam is called for b.

@helgoboss
Copy link
Owner Author

Solution approaches:

a. GetFXEnvelope to detect the existence of an envelope for b and therefore exclude it from "touched" detection.
b. Compare the FX ID stored in ExtSetLastTouchedFx with the FX ID in ExtSetFxParam and only consider as touched if they match. If REAPER itself gets this detection right (e.g. doesn't detect a b touch, which I hope ExtSetLastTouchedFx is all about), then this is the preferable solution.

helgoboss added a commit that referenced this issue Aug 10, 2021
helgoboss added a commit that referenced this issue Aug 17, 2021
@helgoboss
Copy link
Owner Author

Solved within reaper-rs by actively querying the last touched FX parameter whenever getting a FX parameter notification to detect if it was touched or automated.

helgoboss added a commit that referenced this issue Aug 19, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working high priority
Projects
None yet
Development

No branches or pull requests

1 participant