diff --git a/README.md b/README.md index d2f20b1..addc2d6 100644 --- a/README.md +++ b/README.md @@ -10,5 +10,8 @@ This template should help get you started developing with Tauri, React and Types - Move meters polling logic outside dsp state because it causes re-render of everything tied to dsp constantly - Check render to improve perfoormances - Check in meter if clip bool is limit instead +- On close disconenct all ds^p +- Ma-trix gain block sometimes +- Q out of range - Check end to end behavioour \ No newline at end of file diff --git a/src/features/dsp408/utils/graph/peq.ts b/src/features/dsp408/utils/graph/peq.ts index 334469e..82d290e 100644 --- a/src/features/dsp408/utils/graph/peq.ts +++ b/src/features/dsp408/utils/graph/peq.ts @@ -139,16 +139,14 @@ function peqBandResponseDb( /** Sum of all bands' contributions at a given frequency. */ function peqTotalCurveDb( freq: number, - bands: Record, + bands: Partial>, sampleRate: number = DEFAULT_SAMPLE_RATE ): number { - let sum = 0; - - for (const band of Object.values(PEQBand)) { - sum += peqBandResponseDb(freq, bands[band], sampleRate); - } - - return sum; + return Object.values(bands).reduce( + (sum, band) => + band ? sum + peqBandResponseDb(freq, band, sampleRate) : sum, + 0 + ); } /** @@ -307,16 +305,14 @@ function peqBandPhaseDeg( function peqTotalPhaseDeg( freq: number, - bands: Record, + bands: Partial>, sampleRate: number = DEFAULT_SAMPLE_RATE ): number { - let sum = 0; - - for (const band of Object.values(PEQBand)) { - sum += peqBandPhaseDeg(freq, bands[band], sampleRate); - } - - return sum; + return Object.values(bands).reduce( + (sum, band) => + band ? sum + peqBandPhaseDeg(freq, band, sampleRate) : sum, + 0 + ); } export function getPeqPhasePoints({