This commit is contained in:
kikootwo
2026-05-15 06:38:57 -04:00
2 changed files with 20 additions and 0 deletions
+2
View File
@@ -252,6 +252,8 @@ export class FileOrganizer {
narrator: audiobook.narrator, narrator: audiobook.narrator,
year: audiobook.year, year: audiobook.year,
asin: audiobook.asin, asin: audiobook.asin,
series: audiobook.series,
seriesPart: audiobook.seriesPart,
}); });
const successCount = taggingResults.filter((r) => r.success).length; const successCount = taggingResults.filter((r) => r.success).length;
+18
View File
@@ -17,6 +17,8 @@ export interface MetadataTaggingOptions {
narrator?: string; narrator?: string;
year?: number; year?: number;
asin?: string; asin?: string;
series?: string;
seriesPart?: string;
} }
export interface TaggingResult { export interface TaggingResult {
@@ -83,6 +85,14 @@ export async function tagAudioFileMetadata(
args.push('-metadata', `----:com.apple.iTunes:ASIN="${escapeMetadata(metadata.asin)}"`); 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) // Explicitly specify output format (fixes .tmp extension issue)
args.push('-f', 'mp4'); args.push('-f', 'mp4');
} }
@@ -134,6 +144,14 @@ export async function tagAudioFileMetadata(
args.push('-metadata', `ASIN="${escapeMetadata(metadata.asin)}"`); 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) // Explicitly specify output format (fixes .tmp extension issue)
args.push('-f', 'mp3'); args.push('-f', 'mp3');
} }