Add:Button for testing scan probes in audiobook tracks table

This commit is contained in:
advplyr 2022-10-02 15:24:32 -05:00
parent d22b475539
commit c254dc5144
6 changed files with 80 additions and 3 deletions

View file

@ -1,5 +1,5 @@
const Logger = require('../Logger')
const { reqSupportsWebp } = require('../utils/index')
const { reqSupportsWebp, isNullOrNaN } = require('../utils/index')
const { ScanResult } = require('../utils/constants')
class LibraryItemController {
@ -464,6 +464,22 @@ class LibraryItemController {
res.sendStatus(200)
}
async toneScan(req, res) {
if (!req.libraryItem.media.audioFiles.length) {
return res.sendStatus(404)
}
const audioFileIndex = isNullOrNaN(req.params.index) ? 1 : Number(req.params.index)
const audioFile = req.libraryItem.media.audioFiles.find(af => af.index === audioFileIndex)
if (!audioFile) {
Logger.error(`[LibraryItemController] toneScan: Audio file not found with index ${audioFileIndex}`)
return res.sendStatus(404)
}
const toneData = await this.scanner.probeAudioFileWithTone(audioFile)
res.json(toneData)
}
middleware(req, res, next) {
var item = this.db.libraryItems.find(li => li.id === req.params.id)
if (!item || !item.media) return res.sendStatus(404)