diff --git a/client/components/ui/Tooltip.vue b/client/components/ui/Tooltip.vue index f376329b..c1eabfc6 100644 --- a/client/components/ui/Tooltip.vue +++ b/client/components/ui/Tooltip.vue @@ -51,8 +51,8 @@ export default { tooltip.style.zIndex = 100 tooltip.style.backgroundColor = 'rgba(0,0,0,0.85)' tooltip.innerHTML = this.text - tooltip.addEventListener('mouseover', this.cancelHide); - tooltip.addEventListener('mouseleave', this.hideTooltip); + tooltip.addEventListener('mouseover', this.cancelHide) + tooltip.addEventListener('mouseleave', this.hideTooltip) this.setTooltipPosition(tooltip) @@ -107,7 +107,7 @@ export default { this.isShowing = false }, cancelHide() { - if (this.hideTimeout) clearTimeout(this.hideTimeout); + if (this.hideTimeout) clearTimeout(this.hideTimeout) }, mouseover() { if (!this.isShowing) this.showTooltip() diff --git a/server/objects/mediaTypes/Book.js b/server/objects/mediaTypes/Book.js index b25938ca..8bf1b379 100644 --- a/server/objects/mediaTypes/Book.js +++ b/server/objects/mediaTypes/Book.js @@ -356,9 +356,9 @@ class Book { } updateAudioTracks(orderedFileData) { - var index = 1 + let index = 1 this.audioFiles = orderedFileData.map((fileData) => { - var audioFile = this.audioFiles.find(af => af.ino === fileData.ino) + const audioFile = this.audioFiles.find(af => af.ino === fileData.ino) audioFile.manuallyVerified = true audioFile.invalid = false audioFile.error = null @@ -376,11 +376,11 @@ class Book { this.rebuildTracks() } - rebuildTracks(preferOverdriveMediaMarker) { + rebuildTracks() { Logger.debug(`[Book] Tracks being rebuilt...!`) this.audioFiles.sort((a, b) => a.index - b.index) this.missingParts = [] - this.setChapters(preferOverdriveMediaMarker) + this.setChapters() this.checkUpdateMissingTracks() } @@ -412,14 +412,16 @@ class Book { return wasUpdated } - setChapters(preferOverdriveMediaMarker = false) { + setChapters() { + const preferOverdriveMediaMarker = !!global.ServerSettings.scannerPreferOverdriveMediaMarker + // If 1 audio file without chapters, then no chapters will be set - var includedAudioFiles = this.audioFiles.filter(af => !af.exclude) + const includedAudioFiles = this.audioFiles.filter(af => !af.exclude) if (!includedAudioFiles.length) return // If overdrive media markers are present and preferred, use those instead if (preferOverdriveMediaMarker) { - var overdriveChapters = parseOverdriveMediaMarkersAsChapters(includedAudioFiles) + const overdriveChapters = parseOverdriveMediaMarkersAsChapters(includedAudioFiles) if (overdriveChapters) { Logger.info('[Book] Overdrive Media Markers and preference found! Using these for chapter definitions') this.chapters = overdriveChapters @@ -462,15 +464,17 @@ class Book { } else if (includedAudioFiles.length > 1) { // Build chapters from audio files this.chapters = [] - var currChapterId = 0 - var currStartTime = 0 + let currChapterId = 0 + let currStartTime = 0 includedAudioFiles.forEach((file) => { if (file.duration) { + const title = file.metadata.filename ? Path.basename(file.metadata.filename, Path.extname(file.metadata.filename)) : `Chapter ${currChapterId}` + this.chapters.push({ id: currChapterId++, start: currStartTime, end: currStartTime + file.duration, - title: file.metadata.filename ? Path.basename(file.metadata.filename, Path.extname(file.metadata.filename)) : `Chapter ${currChapterId}` + title }) currStartTime += file.duration } diff --git a/server/scanner/MediaFileScanner.js b/server/scanner/MediaFileScanner.js index e9a54b66..a10b949c 100644 --- a/server/scanner/MediaFileScanner.js +++ b/server/scanner/MediaFileScanner.js @@ -221,7 +221,7 @@ class MediaFileScanner { */ async scanMediaFiles(mediaLibraryFiles, libraryItem, libraryScan = null) { const preferAudioMetadata = libraryScan ? !!libraryScan.preferAudioMetadata : !!global.ServerSettings.scannerPreferAudioMetadata - const preferOverdriveMediaMarker = libraryScan ? !!libraryScan.preferOverdriveMediaMarker : !!global.ServerSettings.scannerPreferOverdriveMediaMarker + const preferOverdriveMediaMarker = !!global.ServerSettings.scannerPreferOverdriveMediaMarker let hasUpdated = false @@ -280,7 +280,7 @@ class MediaFileScanner { } if (hasUpdated) { - libraryItem.media.rebuildTracks(preferOverdriveMediaMarker) + libraryItem.media.rebuildTracks() } } else if (libraryItem.mediaType === 'podcast') { // Podcast Media Type const existingAudioFiles = mediaScanResult.audioFiles.filter(af => libraryItem.media.findFileWithInode(af.ino))