Coverage Summary for Class: ClickTrack (com.vsevolodganin.clicktrack.model)
Class |
Method, %
|
Branch, %
|
Line, %
|
Instruction, %
|
ClickTrack |
0%
(0/4)
|
0%
(0/12)
|
0%
(0/10)
|
0%
(0/205)
|
ClickTrack$Companion |
0%
(0/1)
|
|
0%
(0/1)
|
0%
(0/2)
|
Total |
0%
(0/5)
|
0%
(0/12)
|
0%
(0/11)
|
0%
(0/207)
|
package com.vsevolodganin.clicktrack.model
import kotlinx.serialization.SerialName
import kotlinx.serialization.Serializable
import kotlin.time.Duration
@Serializable
data class ClickTrack(
val name: String,
val cues: List<Cue>,
val loop: Boolean,
// For backward compatibility
@SerialName("tempoDiff")
val tempoOffset: BeatsPerMinuteOffset = BeatsPerMinuteOffset.ZERO,
) {
val durationInTime: Duration by lazy {
cues.map { it.durationAsTimeWithBpmOffset(tempoOffset) }
.reduceOrNull { acc, duration -> acc + duration }
?: Duration.ZERO
}
}