Repository navigation
model: split the audio-thread types out of Cue.h into CueTypes.h - #7
Merged
Merged
Conversation
CueVoice.h included the whole editable model to get three things from it: RoutePoint, VampRelease and the limits ceilings. Cue.h is the cue as the editor and the file format see it — file paths, juce::var persistence, control messages, streaming settings — none of which the audio thread has any business reaching, and all of which forced an audio-thread rebuild whenever an unrelated part of the model changed. CueTypes.h holds those three and includes nothing at all, JUCE included. The juce::String conversions for VampRelease stay in Cue.h, beside the strings they exist for, so the new header stays plain data. Measured rather than asserted: CueVoice.h's project-header closure is now Audio/SampleSource.h, Model/CueTypes.h and Model/FadeCurve.h. Cue.h, StreamingSettings.h and ControlMessage.h are no longer reachable from it. Cue.h is 236 lines to 211. Nothing else moves, no behaviour changes, and the desktop build and its 380 engine checks pass unchanged. Suggested by the webcue spike (#6), which found this while shimming, but it stands on its own and this commit has nothing to do with the browser build. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
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.
CueVoice.hincluded the whole editable model to get three things from it:RoutePoint,VampReleaseand thelimitsceilings.Cue.his the cue as the editor and the file format see it — file paths,juce::varpersistence, control messages, streaming settings — none of which the audio thread should be able to reach, and all of which forced an audio-thread rebuild when an unrelated part of the model changed.CueTypes.hholds those three and includes nothing at all, JUCE included. Thejuce::Stringconversions forVampReleasestay inCue.h, beside the strings they exist for.Measured rather than asserted —
CueVoice.h's project-header closure is now:Cue.h,StreamingSettings.handControlMessage.hare no longer reachable from it.Cue.hgoes 236 → 211 lines.No behaviour changes. Desktop build and the 380 engine checks pass unchanged locally.
The webcue spike (#6) found this while shimming, but it stands on its own merits and this PR has nothing to do with the browser build — it touches no CMake and adds no dependency.
🤖 Generated with Claude Code