Fix track count on album
This commit is contained in:
parent
d7ec08e0e7
commit
1de7d03ea5
64
server.go
64
server.go
|
@ -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)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue