diff --git a/server/objects/metadata/AudioMetaTags.js b/server/objects/metadata/AudioMetaTags.js index 78c9d92ad..b2246a222 100644 --- a/server/objects/metadata/AudioMetaTags.js +++ b/server/objects/metadata/AudioMetaTags.js @@ -5,6 +5,7 @@ class AudioMetaTags { this.tagArtist = null this.tagArtistSort = null this.tagGenre = null + this.tagGenre1 = null this.tagTitle = null this.tagTitleSort = null this.tagSeries = null @@ -113,6 +114,7 @@ class AudioMetaTags { this.tagArtist = metadata.tagArtist || null this.tagArtistSort = metadata.tagArtistSort || null this.tagGenre = metadata.tagGenre || null + this.tagGenre1 = metadata.tagGenre1 || null this.tagTitle = metadata.tagTitle || null this.tagTitleSort = metadata.tagTitleSort || null this.tagSeries = metadata.tagSeries || null @@ -154,6 +156,7 @@ class AudioMetaTags { this.tagArtist = payload.file_tag_artist || null this.tagArtistSort = payload.file_tag_artistsort || null this.tagGenre = payload.file_tag_genre || null + this.tagGenre1 = payload.file_tag_genre1 || null this.tagTitle = payload.file_tag_title || null this.tagTitleSort = payload.file_tag_titlesort || null this.tagSeries = payload.file_tag_series || null @@ -195,6 +198,7 @@ class AudioMetaTags { tagArtist: payload.file_tag_artist || null, tagArtistSort: payload.file_tag_artistsort || null, tagGenre: payload.file_tag_genre || null, + tagGenre1: payload.file_tag_genre1 || null, tagTitle: payload.file_tag_title || null, tagTitleSort: payload.file_tag_titlesort || null, tagSeries: payload.file_tag_series || null, diff --git a/server/scanner/AudioFileScanner.js b/server/scanner/AudioFileScanner.js index 2ba4230d8..4cf96838a 100644 --- a/server/scanner/AudioFileScanner.js +++ b/server/scanner/AudioFileScanner.js @@ -255,6 +255,10 @@ class AudioFileScanner { tag: 'tagGenre', key: 'genres' }, + { + tag: 'tagGenre1', + key: 'tags' + }, { tag: 'tagSeries', altTag: 'tagGrouping', @@ -293,6 +297,8 @@ class AudioFileScanner { bookMetadata.authors = parseNameString.parse(value)?.names || [] } else if (mapping.key === 'genres') { bookMetadata.genres = this.parseGenresString(value) + } else if (mapping.key === 'tags') { + bookMetadata.tags = this.parseGenresString(value) } else if (mapping.key === 'series') { // If series was embedded in the grouping tag, then parse it with semicolon separator and sequence in the same string // e.g. "Test Series; Series Name #1; Other Series #2" diff --git a/server/utils/prober.js b/server/utils/prober.js index 40a3b5b5c..f9e992bad 100644 --- a/server/utils/prober.js +++ b/server/utils/prober.js @@ -214,7 +214,7 @@ function parseTags(format, verbose) { file_tag_releasetime: tryGrabTags(format, 'releasetime', 'tdrl'), file_tag_movementname: tryGrabTags(format, 'movementname', 'mvnm'), file_tag_movement: tryGrabTags(format, 'movement', 'mvin'), - file_tag_genre1: tryGrabTags(format, 'tmp_genre1', 'genre1'), + file_tag_genre1: tryGrabTags(format, 'tmp_genre1', 'genre1', 'tags', 'tag'), file_tag_genre2: tryGrabTags(format, 'tmp_genre2', 'genre2'), file_tag_overdrive_media_marker: tryGrabTags(format, 'OverDrive MediaMarkers') }