diffsinger: always retake pitch locally; remove the LocalRetaking option - #2406
Open
KakaruHayate wants to merge 1 commit into
Open
diffsinger: always retake pitch locally; remove the LocalRetaking option#2406KakaruHayate wants to merge 1 commit into
KakaruHayate wants to merge 1 commit into
Conversation
"Load rendered pitch" (the batch edit) calls DiffSingerRenderer's selected-notes overload. Until now that overload only performed local retaking when the DiffSingerLocalRetaking preference was enabled; by default it fell back to re-predicting the whole phrase, ignoring the selection. Local retaking is what the edit's name implies, and what the live path (LoadRenderedPitchLive) already does unconditionally, so the preference added a second, mutually exclusive behaviour to the same operation and made the default the less useful one. Remove the option and always retake locally: * with a selection, only the selected notes are re-predicted and spliced into the existing pitch curve; * with no selection (or a selection covering the phrase), all notes are re-predicted -- unchanged; * playback and the regular render path go through the single-phrase overload and are unaffected. The preference, its UI toggle, the view-model wiring and its string are removed. Preferences files that still contain the key are ignored by the JSON deserializer.
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.
What and why
"Load rendered pitch" (the batch edit behind
pianoroll.menu.notes.loadrenderedpitch) callsDiffSingerRenderer's selected-notes overload. Until now that overload only performed local retaking when theDiffSingerLocalRetakingpreference was enabled; by default it fell back to re-predicting the whole phrase and ignored the selection.Local retaking is what the edit's name implies, and what the live path (
LoadRenderedPitchLive) already does unconditionally — it bypasses the preference. So the option added a second, mutually exclusive behaviour to the same operation and made the default the less useful one.This removes the option and always retakes locally:
The preference, its UI toggle in the preferences dialog, the view-model wiring and its string are removed. Existing preferences files that still contain the key are ignored by the JSON deserializer.
Verification
dotnet buildwith the patchdotnet testfull suiteforceLocalRetakereferences on masterThe retake logic itself is covered by the existing
BuildRetakeFrameMask_*/GetRetakeFrameRanges_*tests; this PR changes no retake behaviour.