diff --git a/client/components/modals/item/tabs/Manage.vue b/client/components/modals/item/tabs/Manage.vue index 9b970624..de97ec49 100644 --- a/client/components/modals/item/tabs/Manage.vue +++ b/client/components/modals/item/tabs/Manage.vue @@ -50,7 +50,7 @@ - +
@@ -59,18 +59,10 @@
-

Download Failed

-

Download Ready!

-

Download Expired

- - Not yet implemented -
-
- Download - -
-

Size: {{ $bytesPretty(abmergeDownload.size) }}

-
+ Open Manager + launch +
diff --git a/client/pages/audiobook/_id/edit.vue b/client/pages/audiobook/_id/edit.vue index e15d5ad3..d7f19318 100644 --- a/client/pages/audiobook/_id/edit.vue +++ b/client/pages/audiobook/_id/edit.vue @@ -74,17 +74,11 @@ {{ audio.error }}
- -

Encoding

- +
- -
- Encode metadata in audio files (experimental) -
@@ -133,9 +127,7 @@ export default { ghostClass: 'ghost' }, saving: false, - currentSort: 'current', - updatingMetadata: false, - audiofilesEncoding: {} + currentSort: 'current' } }, computed: { @@ -181,20 +173,6 @@ export default { } }, methods: { - updateAudioFileMetadata() { - if (confirm(`Warning!\n\nThis will modify the audio files for this audiobook.\nMake sure your audio files are backed up before using this feature.`)) { - this.updatingMetadata = true - this.$axios - .$get(`/api/items/${this.libraryItemId}/audio-metadata`) - .then(() => { - console.log('Audio metadata encode started') - }) - .catch((error) => { - console.error('Audio metadata encode failed', error) - this.updatingMetadata = false - }) - } - }, draggableUpdate(e) { this.currentSort = '' }, @@ -269,33 +247,7 @@ export default { } else { return 'check_circle' } - }, - audioMetadataStarted(data) { - console.log('audio metadata started', data) - if (data.libraryItemId !== this.libraryItemId) return - this.updatingMetadata = true - }, - audioMetadataFinished(data) { - console.log('audio metadata finished', data) - if (data.libraryItemId !== this.libraryItemId) return - this.updatingMetadata = false - this.audiofilesEncoding = {} - this.$toast.success('Audio file metadata updated') - }, - audiofileMetadataStarted(data) { - if (data.libraryItemId !== this.libraryItemId) return - this.$set(this.audiofilesEncoding, data.ino, true) - }, - audiofileMetadataFinished(data) { - if (data.libraryItemId !== this.libraryItemId) return - this.$set(this.audiofilesEncoding, data.ino, false) } - }, - mounted() { - this.$root.socket.on('audio_metadata_started', this.audioMetadataStarted) - this.$root.socket.on('audio_metadata_finished', this.audioMetadataFinished) - this.$root.socket.on('audiofile_metadata_started', this.audiofileMetadataStarted) - this.$root.socket.on('audiofile_metadata_finished', this.audiofileMetadataFinished) } } diff --git a/client/pages/item/_id/manage.vue b/client/pages/item/_id/manage.vue new file mode 100644 index 00000000..13fa21ef --- /dev/null +++ b/client/pages/item/_id/manage.vue @@ -0,0 +1,270 @@ + + + \ No newline at end of file diff --git a/server/managers/AudioMetadataManager.js b/server/managers/AudioMetadataManager.js index deaa3cc6..bd417332 100644 --- a/server/managers/AudioMetadataManager.js +++ b/server/managers/AudioMetadataManager.js @@ -32,13 +32,14 @@ class AudioMetadataMangaer { var metadataFilePath = Path.join(outputDir, 'metadata.txt') await writeMetadataFile(libraryItem, metadataFilePath) + // TODO: Split into batches const proms = audioFiles.map(af => { return this.updateAudioFileMetadata(libraryItem.id, af, outputDir, metadataFilePath) }) const results = await Promise.all(proms) - Logger.debug(`[AudioMetadataManager] Finished`, results) + Logger.debug(`[AudioMetadataManager] Finished`) await fs.remove(outputDir) @@ -123,7 +124,9 @@ class AudioMetadataMangaer { resolve(resultPayload) } } else if (message.type === 'FFMPEG') { - if (Logger[message.level]) { + if (message.level === 'debug' && process.env.NODE_ENV === 'production') { + // stderr is not necessary in production + } else if (Logger[message.level]) { Logger[message.level](message.log) } }