Isolate split detect on '<{' '}' block

This commit is contained in:
Hasinjato 2026-08-12 10:45:36 +03:00
parent bd235d7a19
commit fd3a182523

View file

@ -6,18 +6,13 @@ import kotlinx.coroutines.*
import mg.dot.feufaro.FileRepository
import mg.dot.feufaro.SaveSettings
import mg.dot.feufaro.getGlobalTemplate
import mg.dot.feufaro.getPlatform
import mg.dot.feufaro.launchFilePicker
import mg.dot.feufaro.midi.MidiPitch
import mg.dot.feufaro.midi.MidiWriterKotlin
import mg.dot.feufaro.midi.MidiWriterforEXport
import mg.dot.feufaro.provideSettings
import mg.dot.feufaro.viewmodel.PartitionMetadata
import mg.dot.feufaro.transformLyricsInput
import org.koin.core.component.inject
import java.io.File
import java.util.prefs.Preferences
import kotlin.getValue
import kotlin.math.min
//@todo: ffpm-164.txt O10:s3:mflswss // alternative notes for stanza 3 only
@ -2105,6 +2100,7 @@ class Solfa(val sharedScreenModel: SharedScreenModel, private val fileRepository
}
var commentNumber = -1
var inSplit = false
var expectSplitBrace = false
val lineChar = lineRepeated.toCharArray()
lineChar.forEach {
when (it) {
@ -2119,9 +2115,14 @@ class Solfa(val sharedScreenModel: SharedScreenModel, private val fileRepository
}
// blocs de split <[...]
'<' -> { }
'<' -> {
expectSplitBrace = true
}
'{' -> {
inSplit = true
if (expectSplitBrace) {
inSplit = true
expectSplitBrace = false
}
}
'}' -> {
inSplit = false
@ -2238,6 +2239,9 @@ class Solfa(val sharedScreenModel: SharedScreenModel, private val fileRepository
trioletCount = 2
nextDuration = nextDuration - nextTrioletDuration }
}
else -> {
expectSplitBrace = false
}
}
lastIt = it
}