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