fix: convert master meter levels to dB scale for consistent metering

Previously, master meters received raw linear values (0-1) while track
meters received dB-normalized values, causing inconsistent metering display.
Now both master peak and RMS levels are converted using linearToDbScale()
for accurate comparison between track and master levels.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
2025-11-19 00:50:27 +01:00
parent bb30aa95e1
commit 7a45a985c7

View File

@@ -152,14 +152,15 @@ export function useMultiTrackPlayer(
// Detect clipping (signal >= 1.0)
const isClipping = peak >= 1.0;
setMasterPeakLevel(peak);
setMasterRmsLevel(rms);
// Convert to dB scale (same as track levels) for consistent metering
setMasterPeakLevel(linearToDbScale(peak));
setMasterRmsLevel(linearToDbScale(rms));
if (isClipping) {
setMasterIsClipping(true);
}
masterLevelMonitorFrameRef.current = requestAnimationFrame(monitorMasterLevels);
}, []);
}, [linearToDbScale]);
// Apply automation values during playback
const applyAutomation = useCallback(() => {