Type-enforce the waveform overlay contract, narrow waveformLanes to LaneSplit, fix laneCount/cache/path-fallback bugs

This commit is contained in:
2026-07-30 09:35:11 -04:00
parent 2a0d10fab5
commit fb12c53522
19 changed files with 233 additions and 174 deletions
+7 -1
View File
@@ -48,6 +48,12 @@ struct WaveformLanes {
Rect upper;
Rect lower; // empty() in mono
};
WaveformLanes waveformLanes(const Rect& waveform, bool stereo);
// A RESOLVED lane-split decision, not "is the instrument in stereo mode" — a mono source
// stays Single even in stereo mode (dual-mono, no second channel to draw). Only
// waveformSurface (waveform_view) folds the source channel count in; a bare bool here would
// let a caller pass isStereoMode straight through and skip that check.
enum class LaneSplit { Single, Stereo };
WaveformLanes waveformLanes(const Rect& waveform, LaneSplit split);
} // namespace reasampler::instrument::ui