Fix track count on album

This commit is contained in:
DataHoarder 2022-02-20 01:33:37 +01:00
parent d7ec08e0e7
commit 1de7d03ea5

View file

@ -304,8 +304,8 @@ func processIndexDirectory(filePath, indexPath, kind string, wg *sync.WaitGroup)
return
}
var discLengths []int
var discTrackNumbers []int
//var discLengths []int
//var discTrackNumbers []int
var val []interface{}
var stringVal []string
@ -378,40 +378,41 @@ func processIndexDirectory(filePath, indexPath, kind string, wg *sync.WaitGroup)
}
}
if val, ok = tpl.Parameters["length"]; ok {
if stringVal = getStringValue(entry.MainTitle, val); len(stringVal) > 0 {
for _, item := range strings.Split(strings.Split(stringVal[0], "=")[0], "+") {
split := strings.Split(item, ":")
numbers := make([]int, len(split))
for i, numVal := range split {
numbers[i], _ = strconv.Atoi(numVal)
/*
if val, ok = tpl.Parameters["length"]; ok {
if stringVal = getStringValue(entry.MainTitle, val); len(stringVal) > 0 {
for _, item := range strings.Split(strings.Split(stringVal[0], "=")[0], "+") {
split := strings.Split(item, ":")
numbers := make([]int, len(split))
for i, numVal := range split {
numbers[i], _ = strconv.Atoi(numVal)
}
var duration int
if len(numbers) == 3 {
duration = 3600*numbers[0] + 60*numbers[1] + numbers[2]
} else if len(numbers) == 2 {
duration = 60*numbers[0] + numbers[1]
} else if len(numbers) == 1 {
duration = numbers[0]
}
discLengths = append(discLengths, duration)
entry.Duration += duration
}
var duration int
if len(numbers) == 3 {
duration = 3600*numbers[0] + 60*numbers[1] + numbers[2]
} else if len(numbers) == 2 {
duration = 60*numbers[0] + numbers[1]
} else if len(numbers) == 1 {
duration = numbers[0]
}
discLengths = append(discLengths, duration)
entry.Duration += duration
}
}
}
if val, ok = tpl.Parameters["tracks"]; ok {
if stringVal = getStringValue(entry.MainTitle, val); len(stringVal) > 0 {
for _, item := range strings.Split(strings.Split(stringVal[0], "=")[0], "+") {
trackCount, _ := strconv.Atoi(item)
discTrackNumbers = append(discTrackNumbers, trackCount)
entry.TrackCount += trackCount
if val, ok = tpl.Parameters["tracks"]; ok {
if stringVal = getStringValue(entry.MainTitle, val); len(stringVal) > 0 {
for _, item := range strings.Split(strings.Split(stringVal[0], "=")[0], "+") {
trackCount, _ := strconv.Atoi(item)
discTrackNumbers = append(discTrackNumbers, trackCount)
entry.TrackCount += trackCount
}
}
}
}
}*/
if val, ok = tpl.Parameters["tracklist"]; ok {
var disc discEntry
@ -419,6 +420,7 @@ func processIndexDirectory(filePath, indexPath, kind string, wg *sync.WaitGroup)
if len(disc.Tracks) > 0 {
disc.TrackCount = len(disc.Tracks)
entry.Duration += disc.Duration
entry.TrackCount += disc.TrackCount
entry.Discs = append(entry.Discs, disc)
}
}