-
Notifications
You must be signed in to change notification settings - Fork 754
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
[plugins] EnvGen: fix initialization #6175
base: develop
Are you sure you want to change the base?
[plugins] EnvGen: fix initialization #6175
Conversation
This comment was marked as resolved.
This comment was marked as resolved.
This comment was marked as resolved.
This comment was marked as resolved.
d604626
to
564317a
Compare
This comment was marked as resolved.
This comment was marked as resolved.
This comment was marked as outdated.
This comment was marked as outdated.
46aa6c9
to
2c6bb59
Compare
2c6bb59
to
838ac4d
Compare
This comment was marked as outdated.
This comment was marked as outdated.
97e8a83
to
79c3099
Compare
This comment was marked as resolved.
This comment was marked as resolved.
79c3099
to
035ba2f
Compare
This comment was marked as outdated.
This comment was marked as outdated.
035ba2f
to
b276450
Compare
Should we have some more tests for envelope? |
@mtmccrea thanks for this! Are you considering adding tests for this or would should we pull this in as is? |
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
b276450
to
8089323
Compare
I've now added a few tests for the initialization of wrt the env duration bug, #6180, this PR mostly fixes it, though there's an edge case regarding the last sample of the last segment, which should be handled in a separate PR, since this PR is primarily concerned with proper initialization. |
c459080
to
83b6f54
Compare
Delay1.kr hew behavior as of supercollider#6110, in which the predelay sample needs to be specified if not equal to the first input value.
Previously, this value didn't matter because the erroneous UGen initialization swallowed it and it was never output. Now that that's fixed, it gets output for a single sample on account of the construction of the `first0Then1` initial time mechanism. So better to start at (and repeat) the first level, rather than arbitrarily start at `0.0`, which could be destructive if the SynthDef graph isn't designed around the env having a value of 0 (e.g. a freq arg.)
83b6f54
to
316a306
Compare
There was a spurious test timeout failure in the pitch tracker (macOS), which I can't recreate on my machine and doesn't fail after re-running, so I think it's ok... Otherwise I think I've addressed all the issues raised by commenters so far and it's ready for review. |
Purpose and Motivation
This fixes the initialization of
EnvGen
as well as improves (but doesn't fully fix) a segment duration bug, #6180.Additionally:
Env.circle
startup behaviorThis PR is part of an ongoing effort to fix UGen initializations, the progress of which is tracked here.
Note: I did some cleanup of extraneous print statements and stray comments, as a standalone commit. If this isn't preferred, I can remove it. I think it's helpful to clean up as we go.
Types of changes
To-do list
the state of the CoreUGens unit test is the same as reported in Fix UGen initialization: LFUGens pt. 1/3, Trig, Trig1 #6035 (all relevant tests passing)TestEnvGen_server:test_shapeHold_setEndValue
fails but is fixed by fixed by Tests: TestEnvGen_server: fix 2 tests #6185