Skip to content

Instantly share code, notes, and snippets.

@fluxtah
Last active February 17, 2020 10:14
Show Gist options
  • Save fluxtah/be10a0f2ec950a717a49a119b7d9f7ea to your computer and use it in GitHub Desktop.
Save fluxtah/be10a0f2ec950a717a49a119b7d9f7ea to your computer and use it in GitHub Desktop.
@Composable
private fun FretMarkerLayer(
fromFret: Int,
toFret: Int,
markers: List<Marker>,
scale: Float = 1.5f
) {
val fretRange = toFret - fromFret
Table(columns = fretRange) {
repeat(6) { index ->
val stringNumber = 6 - index
tableRow {
for (fretNumber in fromFret until toFret) {
// the gutter
if (fretNumber == fromFret) {
val openNote = markers.findOpenStringOrNull(stringNumber)
val mute = markers.findMutedStringOrNull(stringNumber)
when {
openNote != null -> FretMarker(openNote, scale)
mute != null -> MutedMarker(mute, scale)
else -> FretMarker(null, scale)
}
} else {
val marker = markers.findFrettedNoteOrNull(stringNumber, fretNumber)
FretMarker(marker, scale)
}
}
}
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment