'use client'; import * as React from 'react'; export interface MasterMeterProps { /** Peak level (0-1) */ peakLevel: number; /** RMS level (0-1) */ rmsLevel: number; /** Whether clipping has occurred */ isClipping: boolean; /** Callback to reset clip indicator */ onResetClip?: () => void; } export function MasterMeter({ peakLevel, rmsLevel, isClipping, onResetClip, }: MasterMeterProps) { // Convert linear 0-1 to dB scale for display const linearToDb = (linear: number): number => { if (linear === 0) return -60; const db = 20 * Math.log10(linear); return Math.max(-60, Math.min(0, db)); }; const peakDb = linearToDb(peakLevel); const rmsDb = linearToDb(rmsLevel); // Calculate bar heights (0-100%) const peakHeight = ((peakDb + 60) / 60) * 100; const rmsHeight = ((rmsDb + 60) / 60) * 100; return (