From 0cfff0b0b20b82d8f16e20f80bc0e40ffcfb900c Mon Sep 17 00:00:00 2001 From: tryptz Date: Mon, 6 Apr 2026 23:20:31 -0400 Subject: [PATCH] fix: make Q optional in EQ import regex for shelf filters --- js/audio-context.js | 4 ++-- js/equalizer.js | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/js/audio-context.js b/js/audio-context.js index d94019a..807ad3d 100644 --- a/js/audio-context.js +++ b/js/audio-context.js @@ -1014,13 +1014,13 @@ class AudioContextManager { // Parse filter lines (handle "Filter:" and "Filter X:" formats) const filterMatch = line.match( - /^Filter\s*\d*:\s*ON\s+(\w+)\s+Fc\s+(\d+)\s+Hz\s+Gain\s*([+-]?\d+\.?\d*)\s*dB\s+Q\s+(\d+\.?\d*)/i + /^Filter\s*\d*:\s*ON\s+(\w+)\s+Fc\s+(\d+)\s+Hz\s+Gain\s*([+-]?\d+\.?\d*)\s*dB(?:\s+Q\s+(\d+\.?\d*))?/i ); if (filterMatch) { const type = filterMatch[1].toUpperCase(); const freq = parseInt(filterMatch[2], 10); const gain = parseFloat(filterMatch[3]); - const q = parseFloat(filterMatch[4]); + const q = filterMatch[4] ? parseFloat(filterMatch[4]) : Math.SQRT1_2; filters.push({ type, freq, gain, q }); } } diff --git a/js/equalizer.js b/js/equalizer.js index d8a9c72..0186f5d 100644 --- a/js/equalizer.js +++ b/js/equalizer.js @@ -661,13 +661,13 @@ export class Equalizer { // Parse filter lines (handle "Filter:" and "Filter X:" formats) const filterMatch = line.match( - /^Filter\s*\d*:\s*ON\s+(\w+)\s+Fc\s+(\d+)\s+Hz\s+Gain\s*([+-]?\d+\.?\d*)\s*dB\s+Q\s+(\d+\.?\d*)/i + /^Filter\s*\d*:\s*ON\s+(\w+)\s+Fc\s+(\d+)\s+Hz\s+Gain\s*([+-]?\d+\.?\d*)\s*dB(?:\s+Q\s+(\d+\.?\d*))?/i ); if (filterMatch) { const type = filterMatch[1].toUpperCase(); const freq = parseInt(filterMatch[2], 10); const gain = parseFloat(filterMatch[3]); - const q = parseFloat(filterMatch[4]); + const q = filterMatch[4] ? parseFloat(filterMatch[4]) : Math.SQRT1_2; filters.push({ type, freq, gain, q }); } }