Fix! $ farany DSFin
This commit is contained in:
parent
ec9194ce14
commit
b8b9eda836
3 changed files with 27 additions and 13 deletions
|
|
@ -388,6 +388,7 @@ actual class FMediaPlayer actual constructor(
|
|||
} else {
|
||||
yield()
|
||||
}
|
||||
if (!isRunning || !isActive) break
|
||||
|
||||
currentTickPos = ev.tickAbsolute
|
||||
lastEventNano = System.nanoTime()
|
||||
|
|
@ -444,7 +445,7 @@ actual class FMediaPlayer actual constructor(
|
|||
currentTickPos = gridIndex.toLong() * resolution
|
||||
lastEventNano = System.nanoTime()
|
||||
|
||||
val initialOrPreviousBpm = if (gridIndex == 0 && userCustomTempo) {
|
||||
val initialOrPreviousBpm = if (userCustomTempo) {
|
||||
targetBpm
|
||||
} else {
|
||||
navigationSteps
|
||||
|
|
@ -461,6 +462,9 @@ actual class FMediaPlayer actual constructor(
|
|||
navigationSteps.forEach { step ->
|
||||
if (step.gridIndex > gridIndex) {
|
||||
step.alreadyDone = false
|
||||
if (step.isFarany) {
|
||||
step.faranyActive = false
|
||||
}
|
||||
}
|
||||
}
|
||||
applyVoiceStates()
|
||||
|
|
@ -480,7 +484,10 @@ actual class FMediaPlayer actual constructor(
|
|||
}
|
||||
|
||||
private fun resetNavigationFlags() {
|
||||
navigationSteps.forEach { it.alreadyDone = false }
|
||||
navigationSteps.forEach {
|
||||
it.alreadyDone = false
|
||||
it.faranyActive = false
|
||||
}
|
||||
}
|
||||
|
||||
private fun prepareNavigation(sharedScreenModel: SharedScreenModel) {
|
||||
|
|
@ -605,10 +612,12 @@ actual class FMediaPlayer actual constructor(
|
|||
|
||||
// ── Farany ────────────────────────────────
|
||||
finReg.containsMatchIn(mTrim) -> {
|
||||
val hasDcAfter = metadataList.any { m ->
|
||||
(m.gridIndex ?: 0) > ci && m.marker.any { mk -> dcR.containsMatchIn(mk) }
|
||||
val hasDcOrDsAfter = metadataList.any { m ->
|
||||
(m.gridIndex ?: 0) > ci && m.marker.any { mk ->
|
||||
dcR.containsMatchIn(mk) || dsR.containsMatchIn(mk)
|
||||
}
|
||||
}
|
||||
if (hasDcAfter) {
|
||||
if (hasDcOrDsAfter) {
|
||||
navigationSteps.add(
|
||||
NavigationStep(
|
||||
marker,
|
||||
|
|
@ -770,9 +779,13 @@ actual class FMediaPlayer actual constructor(
|
|||
step.isFarany -> {
|
||||
println("C Farany ok $step")
|
||||
if (pendingFin || step.faranyActive) {
|
||||
println("Farany activé → STOP à grille $currentIndex")
|
||||
isRunning = false
|
||||
step.alreadyDone = true
|
||||
isRunning = false
|
||||
allNotesOff()
|
||||
playJob?.cancel()
|
||||
seekToGrid(0)
|
||||
boundModel?.updateActiveIndexByIndex(0)
|
||||
println("Farany activé → STOP à grille $currentIndex")
|
||||
onFinished()
|
||||
return@collect
|
||||
} else {
|
||||
|
|
@ -825,7 +838,7 @@ actual class FMediaPlayer actual constructor(
|
|||
val interpolated = (currentTickPos + extraTicks) / resolution
|
||||
val rawGrid = interpolated.toInt().coerceAtLeast(0)
|
||||
//sharedScreenModel.updateActiveIndexByIndex(rawGrid)
|
||||
if (interpolated.toInt() >= lastSentGrid) {
|
||||
if (interpolated.toInt() != lastSentGrid) {
|
||||
lastSentGrid = interpolated.toInt()
|
||||
sharedScreenModel.updateActiveIndexByIndex(interpolated.toInt())
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,8 +1,8 @@
|
|||
M0:|c:G|m:6/4|r:P.M|t:FF 7 Tsy hainay ny hangina|a:Ramarolahy Aina Nirina Jaona|h:
|
||||
U0:zK:4 C444 C84 444444 C84 C444 C84 444444 C8${$}4 ${x7} 444444${x0} K4 444444 (444)84 444444 C84 444444 (444)84 444444 84${D.S}8
|
||||
U0:zK:4C444C84444444C84C444C84444444C8${$}${Fiverenana}4444444444444444444444444444444444444444444${Farany}K4444444(444)84444444C84444444(444)8444444484${D.S.Fin}8
|
||||
N1:s,mmfsls smsmfmrrd mrFmrsr #s,tmrdrtlss sm-3f#t,ls-4 ssrmfsls-4 s,m-3fls-ssfrdsmfmrd d4msmf--d d4mrdsf r4Fmrs--r trrrd#s,tls--
|
||||
N2:#f,sddrmRm sdddttsss sFdddtt sF6r,f sdstdrRmdrmddt--t-- dmdtdrdsdt-- dmrrdlsddttss T7llTl T7ll d7ttdt sl3F3r,m,f
|
||||
N3:#l,s5Fs ssmdrsffm dr7d4rdtt ssmfs--smfsmmr--f-- msmrmfsmmf-- msT'T'l'fmmsrsfm m4smsddrd m4sfmdd F4l'Fl'rrmr rF3rrdtdr
|
||||
N4:#r,sd6 s7dd ddllFss sr6ss sdmsd-- dmsddls--s-- ddmslt d3s--dmmfrs7d, d7f4 d7ff r'7s4 r'4r3slt
|
||||
Y1:Tsy hainay ny hangina/Ka tsy hankalaza ny Avo/Nameno fitahiana/Ka tsy mba namela ho lavo.${R=}Ka de_4ra ry Ray!_5/Sy saotra no\ atolotra\ Anao_5/ny fo_4tena fa_2ly loatra no entinay midera\ Anao./Ny sainay tsy ampy\ hahalala/Ny fatran’ny fitiavana_o/Ka raiso ry Tompo Malala/Ny fankasitrahana\ Anao (ry Ray).
|
||||
Y1:Tsy hainay ny hangina/Ka tsy hankalaza ny Avo/Nameno fitahiana/Ka tsy mba namela ho lavo.${R=}Ka de_4ra ry Ray!_4/Sy saotra no\ atolotra\ Anao_4/ny fo_4tena fa_2ly loatra no entinay midera\ Anao./Ny sainay tsy ampy\ hahalala/Ny fatran’ny fitiavana_o/Ka raiso ry Tompo Malala/Ny fankasitrahana\ Anao (ry Ray).
|
||||
Y2:Tsy hainay hadinoina/‘Lay fara-fitiavanao, Ray o!/Fa maty novonoina/Ny Zanakao hamonjy anay./
|
||||
|
|
|
|||
|
|
@ -405,7 +405,7 @@ actual class FMediaPlayer actual constructor(
|
|||
}
|
||||
// Farany
|
||||
finReg.containsMatchIn(mTrim) -> {
|
||||
val hasDcAfter = metadataList.any { m ->
|
||||
val hasDcOrDsAfter = metadataList.any { m ->
|
||||
val after = (m.gridIndex ?: 0) > currentIndex
|
||||
|
||||
println(
|
||||
|
|
@ -413,14 +413,15 @@ actual class FMediaPlayer actual constructor(
|
|||
)
|
||||
|
||||
val hasMarker = m.marker.any { mk ->
|
||||
dcRegex.matches(mk.trim())
|
||||
dcRegex.containsMatchIn(mk) || dsRegex.containsMatchIn(mk)
|
||||
}
|
||||
|
||||
println("after=$after, hasMarker=$hasMarker, result=${after && hasMarker}")
|
||||
|
||||
after && hasMarker
|
||||
}
|
||||
if (hasDcAfter) {
|
||||
|
||||
if (hasDcOrDsAfter) {
|
||||
navigationSteps.add(
|
||||
NavigationStep(
|
||||
marker = marker,
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue