分享码功能的实现,并修复了几个 bug

This commit is contained in:
eafonyang
2026-06-15 18:00:06 +08:00
parent b620805e13
commit b421fe1ca3
12 changed files with 756 additions and 222 deletions
+14
View File
@@ -1,4 +1,5 @@
import type { PeqFilter, PeqState } from "@/lib/luxsinApi";
import { normalizePeqFiltersForSubmit } from "@/lib/luxsinApi";
import { getFilterShortName, getFilterType } from "@/lib/peqAudio";
import {
BAND_FREQ_MIN,
@@ -197,6 +198,19 @@ export function getUniquePresetName(
return `${base}_${index}`;
}
/** Normalize shared/imported EQ filters into device PeqFilter[]. */
export function importedFiltersToPeqFilters(filters: unknown): PeqFilter[] {
return normalizePeqFiltersForSubmit(filters).map((f) => {
const item = f as Record<string, unknown>;
return {
fc: Number(item.fc ?? item.freq ?? item.frequency ?? 1000),
gain: Number(item.gain ?? 0),
q: Number(item.q ?? 1),
type: getFilterType(item.type as string | number),
};
});
}
/* ── Convert UI band → device PeqFilter ── */
export function bandToPeqFilter(b: {
freq: number;