From 3ce6e4576177e951aa41d53385f0541126fc16da Mon Sep 17 00:00:00 2001 From: advplyr Date: Thu, 8 May 2025 17:08:11 -0500 Subject: [PATCH 1/2] Support m4b encoder tool for single m4b audiobooks --- client/components/modals/item/tabs/Tools.vue | 9 +-------- client/pages/audiobook/_id/manage.vue | 15 ++++----------- 2 files changed, 5 insertions(+), 19 deletions(-) diff --git a/client/components/modals/item/tabs/Tools.vue b/client/components/modals/item/tabs/Tools.vue index d7e19cc8..d9655088 100644 --- a/client/components/modals/item/tabs/Tools.vue +++ b/client/components/modals/item/tabs/Tools.vue @@ -74,19 +74,12 @@ export default { mediaTracks() { return this.media.tracks || [] }, - isSingleM4b() { - return this.mediaTracks.length === 1 && this.mediaTracks[0].metadata.ext.toLowerCase() === '.m4b' - }, chapters() { return this.media.chapters || [] }, showM4bDownload() { if (!this.mediaTracks.length) return false - return !this.isSingleM4b - }, - showMp3Split() { - if (!this.mediaTracks.length) return false - return this.isSingleM4b && this.chapters.length + return true }, queuedEmbedLIds() { return this.$store.state.tasks.queuedEmbedLIds || [] diff --git a/client/pages/audiobook/_id/manage.vue b/client/pages/audiobook/_id/manage.vue index a95b13ab..d3dcd781 100644 --- a/client/pages/audiobook/_id/manage.vue +++ b/client/pages/audiobook/_id/manage.vue @@ -266,9 +266,6 @@ export default { audioFiles() { return (this.media.audioFiles || []).filter((af) => !af.exclude) }, - isSingleM4b() { - return this.audioFiles.length === 1 && this.audioFiles[0].metadata.ext.toLowerCase() === '.m4b' - }, streamLibraryItem() { return this.$store.state.streamLibraryItem }, @@ -276,14 +273,10 @@ export default { return this.media.chapters || [] }, availableTools() { - if (this.isSingleM4b) { - return [{ value: 'embed', text: this.$strings.LabelToolsEmbedMetadata }] - } else { - return [ - { value: 'embed', text: this.$strings.LabelToolsEmbedMetadata }, - { value: 'm4b', text: this.$strings.LabelToolsM4bEncoder } - ] - } + return [ + { value: 'embed', text: this.$strings.LabelToolsEmbedMetadata }, + { value: 'm4b', text: this.$strings.LabelToolsM4bEncoder } + ] }, taskFailed() { return this.isTaskFinished && this.task.isFailed From b876256736429548b9ced39c03fac57f79e6ad3f Mon Sep 17 00:00:00 2001 From: advplyr Date: Thu, 8 May 2025 17:17:44 -0500 Subject: [PATCH 2/2] Audiobook tools page include edit item button and item title linked to item page --- client/pages/audiobook/_id/manage.vue | 25 +++++++++++++++++++++++-- 1 file changed, 23 insertions(+), 2 deletions(-) diff --git a/client/pages/audiobook/_id/manage.vue b/client/pages/audiobook/_id/manage.vue index d3dcd781..7afe12a9 100644 --- a/client/pages/audiobook/_id/manage.vue +++ b/client/pages/audiobook/_id/manage.vue @@ -2,7 +2,14 @@
-

{{ $strings.HeaderAudiobookTools }}

+
+ +

{{ mediaMetadata.title }}

+
+ +
@@ -13,7 +20,7 @@
-

{{ $strings.HeaderMetadataToEmbed }}

+

{{ $strings.HeaderMetadataToEmbed }}

@@ -424,10 +431,24 @@ export default { }, taskUpdated(task) { this.processing = !task.isFinished + }, + editItem() { + this.$store.commit('showEditModal', this.libraryItem) + }, + libraryItemUpdated(libraryItem) { + if (libraryItem.id === this.libraryItem.id) { + this.libraryItem = libraryItem + this.fetchMetadataEmbedObject() + } } }, mounted() { this.init() + + this.$eventBus.$on(`${this.libraryItem.id}_updated`, this.libraryItemUpdated) + }, + beforeDestroy() { + this.$eventBus.$off(`${this.libraryItem.id}_updated`, this.libraryItemUpdated) } }