Merge pull request #198 from TylerNorris214/main

Add seriesPart metadata tag for Audiobookshelf series ordering
This commit is contained in:
kikootwo
2026-05-15 06:38:50 -04:00
committed by GitHub
2 changed files with 20 additions and 0 deletions
+2
View File
@@ -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;
+18
View File
@@ -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');
}