mirror of
https://github.com/advplyr/audiobookshelf.git
synced 2025-06-30 04:25:03 +02:00
Improve track order detection, allow for excluding audio files from tracklist
This commit is contained in:
parent
197012e662
commit
e566c6c9d5
10 changed files with 114 additions and 37 deletions
|
@ -66,8 +66,15 @@ function getTrackNumberFromMeta(scanData) {
|
|||
return !isNaN(scanData.trackNumber) && scanData.trackNumber !== null ? Number(scanData.trackNumber) : null
|
||||
}
|
||||
|
||||
function getTrackNumberFromFilename(filename) {
|
||||
function getTrackNumberFromFilename(title, author, series, publishYear, filename) {
|
||||
var partbasename = Path.basename(filename, Path.extname(filename))
|
||||
|
||||
// Remove title, author, series, and publishYear from filename if there
|
||||
if (title) partbasename = partbasename.replace(title, '')
|
||||
if (author) partbasename = partbasename.replace(author, '')
|
||||
if (series) partbasename = partbasename.replace(series, '')
|
||||
if (publishYear) partbasename = partbasename.replace(publishYear)
|
||||
|
||||
var numbersinpath = partbasename.match(/\d+/g)
|
||||
if (!numbersinpath) return null
|
||||
|
||||
|
@ -92,7 +99,8 @@ async function scanAudioFiles(audiobook, newAudioFiles) {
|
|||
}
|
||||
|
||||
var trackNumFromMeta = getTrackNumberFromMeta(scanData)
|
||||
var trackNumFromFilename = getTrackNumberFromFilename(audioFile.filename)
|
||||
var book = audiobook.book || {}
|
||||
var trackNumFromFilename = getTrackNumberFromFilename(book.title, book.author, book.series, book.publishYear, audioFile.filename)
|
||||
|
||||
var audioFileObj = {
|
||||
ino: audioFile.ino,
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue