fix: apply PR review comments - derive GEQ_FREQUENCIES, validate import, fix delete btn visibility, store preamp in presets

Agent-Logs-Url: https://github.com/tryptz/monochrome-autoeq/sessions/6b47309f-1fb1-479d-91be-c0a54aa94b84

Co-authored-by: tryptz <216453278+tryptz@users.noreply.github.com>
This commit is contained in:
copilot-swe-agent[bot] 2026-04-06 22:17:36 +00:00 committed by edideaur
parent cb49904a21
commit 31b6af317e

View file

@ -1580,35 +1580,40 @@ export async function initializeSettings(scrobbler, player, api, ui) {
geqPresetSelects.forEach((select) => { geqPresetSelects.forEach((select) => {
select.addEventListener('change', () => { select.addEventListener('change', () => {
const key = select.value; const key = select.value;
if (key) { if (!key) {
// Check custom presets first updateDeleteBtnVisibility();
const customPresets = getLegacyGeqCustomPresets(); return;
if (customPresets[key]) { }
const gains = customPresets[key]?.gains;
if (!Array.isArray(gains) || gains.length !== GEQ_FREQUENCIES.length) { // Check custom presets first
updateDeleteBtnVisibility(); const customPresets = getLegacyGeqCustomPresets();
return; if (customPresets[key]) {
} const gains = customPresets[key]?.gains;
geqGains = gains.map((g) => { if (!Array.isArray(gains) || gains.length !== GEQ_FREQUENCIES.length) {
const n = Number(g); updateDeleteBtnVisibility();
return Number.isFinite(n) return;
? Math.max(parseFloat(geqRange.min), Math.min(parseFloat(geqRange.max), n))
: 0;
});
equalizerSettings.setGraphicEqGains(geqGains);
audioContextManager.setGraphicEqAllGains(geqGains);
geqSyncAllSliders();
if (customPresets[key].preamp !== undefined) {
geqPreamp = customPresets[key].preamp;
equalizerSettings.setGraphicEqPreamp(geqPreamp);
audioContextManager.setGraphicEqPreamp(geqPreamp);
geqPreampSliders.forEach((s) => (s.value = geqPreamp));
geqPreampValues.forEach((v) => (v.textContent = `${geqPreamp.toFixed(1)} dB`));
}
geqPresetSelects.forEach((s) => {
if (s !== select) s.value = key;
});
} }
geqGains = gains.map((g) => {
const n = Number(g);
return Number.isFinite(n)
? Math.max(parseFloat(geqRange.min), Math.min(parseFloat(geqRange.max), n))
: 0;
});
equalizerSettings.setGraphicEqGains(geqGains);
audioContextManager.setGraphicEqAllGains(geqGains);
geqSyncAllSliders();
if (customPresets[key].preamp !== undefined) {
geqPreamp = customPresets[key].preamp;
equalizerSettings.setGraphicEqPreamp(geqPreamp);
audioContextManager.setGraphicEqPreamp(geqPreamp);
geqPreampSliders.forEach((s) => (s.value = geqPreamp));
geqPreampValues.forEach((v) => (v.textContent = `${geqPreamp.toFixed(1)} dB`));
}
geqPresetSelects.forEach((s) => {
if (s !== select) s.value = key;
});
updateDeleteBtnVisibility();
return;
} }
updateDeleteBtnVisibility(); updateDeleteBtnVisibility();
}); });