LFO2 sync draft#1978
Closed
nikodemus wants to merge 12 commits into
Closed
Conversation
nikodemus
marked this pull request as draft
May 20, 2024 21:14
Contributor
Test Results28 tests - 1 28 ✅ - 1 0s ⏱️ ±0s Results for commit c549b42. ± Comparison against base commit 3696aa0. This pull request removes 5 and adds 4 tests. Note that renamed tests count towards both.♻️ This comment has been updated with latest results. |
nikodemus
force-pushed
the
lfo2-sync-draft
branch
from
May 21, 2024 14:18
d26aba4 to
dd2cf31
Compare
* resyncGlobalLFO used to have a comment about how playbackhandler.isEitherClockActive() should true, and most call sites checked it was so--but not all. Locations which elided the check are all implementations of Output::resyncLFOs(), whose callers do check this. * The check is a simple bit-and, so running it redundantly on occastion should not be a performance issue, given we're deleting more code than we're adding.
- LFO::init() folded into the default constructor. - LFO::render() takes an LFOConfig, not LFOType. - Rename resyncLFOsAndArpeggiators() to resyncLFOs() -- no arps there. - Unify intial phase logic for synced LFOs into LFO::setInitialPhase()
- Store LFOConfigs in Sound in a array: the menu items can then index into that array, instead of using per-item classes. - Instead of having global LFO setters resync, have the menu setters and save loading handle the resync explicitly: this also removes some unnecessary resyncs after setting a sync level or loading an LFO config.
nikodemus
force-pushed
the
lfo2-sync-draft
branch
from
May 21, 2024 16:20
56e2af3 to
c549b42
Compare
Collaborator
Author
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
As per #813
TODO:
lfoConfig[]array, as part of the Rate/Sync/Type menu class unification.Cleanup / optimization: cache phase increment, instead of recomputing it every time.--> Nope, decided this is out of scope: there's more than a couple of cases when the cache would need to be invalidated, so if this is done it's better done separately.