feat: add support for multi-disc albums

This commit is contained in:
2026-07-25 21:54:25 +01:00
parent 5185d4dc0b
commit c6080b975a
5 changed files with 292 additions and 108 deletions
+7 -2
View File
@@ -32,9 +32,14 @@ export async function POST(request: Request) {
if ('error' in track) return;
const trackNo = track.common?.track?.no;
const discNo = track.common?.disk?.no;
if (trackNo === undefined || trackNo === null) return;
const outputFilename = `${trackNo}.png`;
const discPrefix = (discNo && discNo > 1) || tracks.some(t => !('error' in t) && (t.common?.disk?.no ?? 1) > 1)
? `${discNo ?? 1}-`
: '';
const outputFilename = `${discPrefix}${trackNo}.png`;
const outputPath = path.join(albumSpecDir, outputFilename);
const relativePath = path.join(albumId, outputFilename);
const publicUrl = `/api/spectrogram?path=${encodeURIComponent(relativePath)}`;
@@ -43,7 +48,7 @@ export async function POST(request: Request) {
if (!exists) {
// Generate
const title = `${trackNo} - ${track.common?.title || track.filename}`;
const title = `${discPrefix}${trackNo} - ${track.common?.title || track.filename}`;
const args = [
track.path,