Put bpm from measure sign to "p" fallback

This commit is contained in:
Hasinjato 2026-10-05 09:45:39 +03:00
parent 1391d0fe8e
commit 37683fe94f

View file

@ -2051,6 +2051,9 @@ class Solfa(val sharedScreenModel: SharedScreenModel, private val fileRepository
sharedScreenModel.setSongRhythm(meta["r"] ?: "")
sharedScreenModel.setBpmFlow(meta["p"]?.toFloat() ?: 120.0f)
sharedScreenModel.setOptimColGrid(meta["k"]?.toIntOrNull() ?: 0)
val fallbackBpm = getBpmFromMeasure(meta["m"])
val bpm = meta["p"]?.toFloatOrNull() ?: fallb ackBpm
sharedScreenModel.setBpmFlow(bpm)
}
private fun loadN(voiceNumber: Int, line: String, templateComments: MutableList<String>) {
@ -2827,4 +2830,108 @@ class Solfa(val sharedScreenModel: SharedScreenModel, private val fileRepository
println("Erreur lors de la création du fichier temporaire : ${e.message}")
}
}
}
private fun getBpmFromMeasure(measure: String?): Float {
if (measure.isNullOrBlank()) return 120.0f
val cleanedMeasure = measure
?.replace("\"", "")
?.replace("(", "")
?.replace(")", "")
?.trim()
println("je suis $cleanedMeasure")
return when (cleanedMeasure) {
"1/4" -> 70.0f
"12/4 Mively in-efatra isam-bara" -> 130.0f
"12/4 Mively in-eftra isam-bara." -> 150.0f
"12/8" -> 105.0f
"2/4" -> 91.4f
"2/4 Allegro" -> 105.0f
"2/4 Faingampaigana" -> 120.0f
"2/4 Faingampaingana" -> 100.0f
"2/4 Manainga" -> 150.0f
"2/4 Matomatotra" -> 110.0f
"2/4 Miadana" -> 75f
"2/4 Miadanadana" -> 86.0f
"2/4 Milantolanto" -> 90.0f
// 3/4
"3/4" -> 103.0f
"3/4 Largo", "3/4 Largo =" -> 105.0f
"3/4 Faingampaigana" -> 105.0f
"3/4 Faingampaingana" -> 104.0f
"3/4 Faingana" -> 105.0f
"3/4 Manainga" -> 95.0f
"3/4 Matomatotra" -> 110.0f
"3/4 Miadana" -> 90.0f
"3/4 Miadana dia miadana" -> 80.0f
"3/4 Miadana sy malemy" -> 102.0f
"3/4 Miadanadana" -> 100.0f
"3/4 Milamina" -> 130.0f
"3/4 Milamindamina" -> 115.0f
"3/4 Milanto" -> 95.0f
"3/4 Milantolanto" -> 110.0f
// 4/4
"4/4" -> 102.0f
"4/4 Faingampaingana" -> 105.0f
"4/4 Faingana" -> 121.0f
"4/4 Falifaly" -> 90.0f
"4/4 Famindrana miadana" -> 110.0f
"4/4 Manaraka ny famakian-teny fahatelo" -> 95.0f
"4/4 Mangingina" -> 80.0f
"4/4 Marisidrisika" -> 110.0f
"4/4 Marisika" -> 100.0f
"4/4 Matomatotra" -> 100.0f
"4/4 Miadana" -> 90.0f
"4/4 Miadana Milamina" -> 91.0f
"4/4 Miadana.", "4/4 Miadana. =" -> 85.0f
"4/4 Miadanadana" -> 95.0f
"4/4 Miadanadana =" -> 130.0f
"4/4 Mientanentana milamina" -> 103.0f
"4/4 Milamina" -> 95.0f
"4/4 Milamina =" -> 75.0f
"4/4 Milamindamina" -> 90.0f
"4/4 Milanto" -> 85.0f
"4/4 Milantolanto" -> 95.0f
"4/4 Milantolanto =" -> 80.0f
"4/4 Moderato" -> 105.0f
// 6/4
"6/4" -> 135.0f
"6/4 Faingampaingana" -> 126.0f
"6/4 Faingampaingana. Alohan'ny isan'andininy" -> 175.0f
"6/4 Faingampaingana. Mively indroa isam-bara" -> 160.0f
"6/4 Faingampaingana. Mively roa isam-bara" -> 170.0f
"6/4 Faingana" -> 215.0f
"6/4 Faingana. Mively indroa isam-bara" -> 175.0f
"6/4 Manainga" -> 165.0f
"6/4 Miadana" -> 125.0f
"6/4 Miadana be" -> 90.0f
"6/4 Miadana. Mively in-droa isam-bara" -> 90.0f
"6/4 Miadana. Mively indroa isam-bara" -> 100.0f
"6/4 Miadana. Mively roa isam-bara" -> 125.0f
"6/4 Miadanadana" -> 125.0f
"6/4 Miadanadana. Mively roa isam-bara" -> 100.0f
"6/4 Milanto" -> 90.0f
"6/4 Milantolanto" -> 130.0f
"6/4 Mively in-droa isam-bara" -> 170.0f
"6/4 Mively isam-bara" -> 175.0f
// 7/4
"7/4" -> 90.0f
// 9/4
"9/4 Miadanadana" -> 137.0f
"9/4 Milamindamina" -> 100.0f
"9/4 Mively in-telo isam -bara", "9/4 Mively in-telo isam-bara" -> 153.0f
"9/4 Mively in-telo isam-bara) Milantolanto" -> 165.0f
"9/4 Mively in-telo. Faingampaingana" -> 191.0f
// Divers
"Malefaka" -> 93.0f
else -> 120.0f
}
}