From 6b76932a0a478cedb35689982dbaf732dd7077ce Mon Sep 17 00:00:00 2001 From: TylerNorris214 Date: Tue, 5 May 2026 20:59:12 -0500 Subject: [PATCH 1/2] Add series and seriesPart to audiobook metadata --- src/lib/utils/file-organizer.ts | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/lib/utils/file-organizer.ts b/src/lib/utils/file-organizer.ts index 85b520d..de3336f 100644 --- a/src/lib/utils/file-organizer.ts +++ b/src/lib/utils/file-organizer.ts @@ -252,6 +252,8 @@ export class FileOrganizer { narrator: audiobook.narrator, year: audiobook.year, asin: audiobook.asin, + series: audiobook.series, + seriesPart: audiobook.seriesPart, }); const successCount = taggingResults.filter((r) => r.success).length; From edecda9e64844596f4c18d1a9444eb319afba37c Mon Sep 17 00:00:00 2001 From: TylerNorris214 Date: Tue, 5 May 2026 21:00:38 -0500 Subject: [PATCH 2/2] Add series and seriesPart to metadata tagging --- src/lib/utils/metadata-tagger.ts | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/src/lib/utils/metadata-tagger.ts b/src/lib/utils/metadata-tagger.ts index b7f132e..50192ba 100644 --- a/src/lib/utils/metadata-tagger.ts +++ b/src/lib/utils/metadata-tagger.ts @@ -17,6 +17,8 @@ export interface MetadataTaggingOptions { narrator?: string; year?: number; asin?: string; + series?: string; + seriesPart?: string; } export interface TaggingResult { @@ -83,6 +85,14 @@ export async function tagAudioFileMetadata( args.push('-metadata', `----:com.apple.iTunes:ASIN="${escapeMetadata(metadata.asin)}"`); } + if (metadata.series) { + args.push('-metadata', `show="${escapeMetadata(metadata.series)}"`); + } + + if (metadata.seriesPart) { + args.push('-metadata', `episode_id="${escapeMetadata(metadata.seriesPart)}"`); + } + // Explicitly specify output format (fixes .tmp extension issue) args.push('-f', 'mp4'); } @@ -134,6 +144,14 @@ export async function tagAudioFileMetadata( args.push('-metadata', `ASIN="${escapeMetadata(metadata.asin)}"`); } + if (metadata.series) { + args.push('-metadata', `SERIES="${escapeMetadata(metadata.series)}"`); + } + + if (metadata.seriesPart) { + args.push('-metadata', `SERIES-PART="${escapeMetadata(metadata.seriesPart)}"`); + } + // Explicitly specify output format (fixes .tmp extension issue) args.push('-f', 'mp3'); }