Isolate split detect on '<{' '}' block
This commit is contained in:
parent
bd235d7a19
commit
22a4c4bdf6
1 changed files with 11 additions and 7 deletions
|
|
@ -6,18 +6,13 @@ import kotlinx.coroutines.*
|
||||||
import mg.dot.feufaro.FileRepository
|
import mg.dot.feufaro.FileRepository
|
||||||
import mg.dot.feufaro.SaveSettings
|
import mg.dot.feufaro.SaveSettings
|
||||||
import mg.dot.feufaro.getGlobalTemplate
|
import mg.dot.feufaro.getGlobalTemplate
|
||||||
import mg.dot.feufaro.getPlatform
|
|
||||||
import mg.dot.feufaro.launchFilePicker
|
import mg.dot.feufaro.launchFilePicker
|
||||||
import mg.dot.feufaro.midi.MidiPitch
|
import mg.dot.feufaro.midi.MidiPitch
|
||||||
import mg.dot.feufaro.midi.MidiWriterKotlin
|
import mg.dot.feufaro.midi.MidiWriterKotlin
|
||||||
import mg.dot.feufaro.midi.MidiWriterforEXport
|
import mg.dot.feufaro.midi.MidiWriterforEXport
|
||||||
import mg.dot.feufaro.provideSettings
|
import mg.dot.feufaro.provideSettings
|
||||||
import mg.dot.feufaro.viewmodel.PartitionMetadata
|
import mg.dot.feufaro.viewmodel.PartitionMetadata
|
||||||
import mg.dot.feufaro.transformLyricsInput
|
|
||||||
import org.koin.core.component.inject
|
|
||||||
import java.io.File
|
import java.io.File
|
||||||
import java.util.prefs.Preferences
|
|
||||||
import kotlin.getValue
|
|
||||||
import kotlin.math.min
|
import kotlin.math.min
|
||||||
|
|
||||||
//@todo: ffpm-164.txt O10:s3:mflswss // alternative notes for stanza 3 only
|
//@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 commentNumber = -1
|
||||||
var inSplit = false
|
var inSplit = false
|
||||||
|
var expectSplitBrace = false
|
||||||
val lineChar = lineRepeated.toCharArray()
|
val lineChar = lineRepeated.toCharArray()
|
||||||
lineChar.forEach {
|
lineChar.forEach {
|
||||||
when (it) {
|
when (it) {
|
||||||
|
|
@ -2119,9 +2115,14 @@ class Solfa(val sharedScreenModel: SharedScreenModel, private val fileRepository
|
||||||
}
|
}
|
||||||
|
|
||||||
// blocs de split <[...]
|
// blocs de split <[...]
|
||||||
'<' -> { }
|
'<' -> {
|
||||||
|
expectSplitBrace = true
|
||||||
|
}
|
||||||
'{' -> {
|
'{' -> {
|
||||||
|
if (expectSplitBrace) {
|
||||||
inSplit = true
|
inSplit = true
|
||||||
|
expectSplitBrace = false
|
||||||
|
}
|
||||||
}
|
}
|
||||||
'}' -> {
|
'}' -> {
|
||||||
inSplit = false
|
inSplit = false
|
||||||
|
|
@ -2238,6 +2239,9 @@ class Solfa(val sharedScreenModel: SharedScreenModel, private val fileRepository
|
||||||
trioletCount = 2
|
trioletCount = 2
|
||||||
nextDuration = nextDuration - nextTrioletDuration }
|
nextDuration = nextDuration - nextTrioletDuration }
|
||||||
}
|
}
|
||||||
|
else -> {
|
||||||
|
expectSplitBrace = false
|
||||||
|
}
|
||||||
}
|
}
|
||||||
lastIt = it
|
lastIt = it
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue