Coverage Summary for Class: ClickTrackToEditStateKt (com.vsevolodganin.clicktrack.edit)
Class |
Class, %
|
Method, %
|
Branch, %
|
Line, %
|
Instruction, %
|
ClickTrackToEditStateKt |
0%
(0/1)
|
0%
(0/2)
|
0%
(0/8)
|
0%
(0/18)
|
0%
(0/118)
|
package com.vsevolodganin.clicktrack.edit
import com.vsevolodganin.clicktrack.model.ClickTrackWithDatabaseId
import com.vsevolodganin.clicktrack.model.Cue
import com.vsevolodganin.clicktrack.model.CueDuration
import com.vsevolodganin.clicktrack.model.DefaultBeatsDuration
import com.vsevolodganin.clicktrack.model.DefaultMeasuresDuration
import com.vsevolodganin.clicktrack.model.DefaultTimeDuration
import com.vsevolodganin.clicktrack.utils.optionalCast
fun ClickTrackWithDatabaseId.toEditState(showForwardButton: Boolean) = EditClickTrackState(
id = id,
name = value.name,
loop = value.loop,
tempoOffset = value.tempoOffset,
cues = value.cues.mapIndexed { index, cue -> cue.toEditState(index) },
showForwardButton = showForwardButton,
)
fun Cue.toEditState(index: Int) = EditCueState(
name = name.orEmpty(),
displayPosition = (index + 1).toString(),
bpm = bpm.value,
timeSignature = timeSignature,
activeDurationType = duration.type,
beats = duration.optionalCast<CueDuration.Beats>() ?: DefaultBeatsDuration,
measures = duration.optionalCast<CueDuration.Measures>() ?: DefaultMeasuresDuration,
time = duration.optionalCast<CueDuration.Time>() ?: DefaultTimeDuration,
pattern = pattern,
errors = emptySet(),
)