Coverage Summary for Class: EditCueState (com.vsevolodganin.clicktrack.edit)
Class |
Method, %
|
Branch, %
|
Line, %
|
Instruction, %
|
EditCueState |
0%
(0/3)
|
0%
(0/11)
|
0%
(0/16)
|
1.3%
(4/307)
|
EditCueState$Companion |
0%
(0/1)
|
|
0%
(0/1)
|
0%
(0/2)
|
EditCueState$Error |
0%
(0/1)
|
|
0%
(0/1)
|
0%
(0/12)
|
EditCueState$WhenMappings |
|
Total |
0%
(0/5)
|
0%
(0/11)
|
0%
(0/18)
|
1.2%
(4/321)
|
package com.vsevolodganin.clicktrack.edit
import com.benasher44.uuid.uuid4
import com.vsevolodganin.clicktrack.model.BeatsPerMinuteOffset
import com.vsevolodganin.clicktrack.model.ClickTrackId
import com.vsevolodganin.clicktrack.model.CueDuration
import com.vsevolodganin.clicktrack.model.NotePattern
import com.vsevolodganin.clicktrack.model.TimeSignature
import kotlinx.serialization.Serializable
@Serializable
data class EditClickTrackState(
val id: ClickTrackId.Database,
val name: String,
val loop: Boolean,
val tempoOffset: BeatsPerMinuteOffset,
val cues: List<EditCueState>,
val showForwardButton: Boolean,
)
@Serializable
data class EditCueState(
val id: String = uuid4().toString(),
val displayPosition: String,
val name: String,
val bpm: Int,
val timeSignature: TimeSignature,
val activeDurationType: CueDuration.Type,
val beats: CueDuration.Beats,
val measures: CueDuration.Measures,
val time: CueDuration.Time,
val pattern: NotePattern,
val errors: Set<Error>,
) {
enum class Error {
BPM,
}
val duration: CueDuration
get() = when (activeDurationType) {
CueDuration.Type.BEATS -> beats
CueDuration.Type.MEASURES -> measures
CueDuration.Type.TIME -> time
}
}