Bugfix loadY

This commit is contained in:
dotmg 2025-07-10 17:09:19 +02:00
parent e3f03703a2
commit 0241a6acbe
9 changed files with 55 additions and 6 deletions

View file

@ -55,7 +55,6 @@ kotlin {
implementation(libs.koin.compose.viewmodel.navigation)
implementation(libs.bundles.voyager)
implementation(libs.cafe.voyager.koin)
}
commonTest.dependencies {
implementation(libs.kotlin.test)

View file

@ -2,6 +2,7 @@
"themeMode": "DARK",
"fontSize": 18.5,
"playlist": [
"assets://ffpm-38.txt",
"assets://ews-456.txt",
"assets://ews-1.txt",
"assets://ews-2.txt",

View file

@ -0,0 +1,10 @@
M0:|c:Eb|m:4/4|r:P.M.|t:FF 43. Aiza Moa Ianao?|a:Heritsimba A.R.|h:
U0:z0:242422242422242(22)222428/242422242422242(22)222422222242222224222222422222(24)222222422222242222224222222428
N1:mmrmmsssfmmsssfm-dmmmrd/mmrmmsssfmmsssfm-dmmmrd---/z14/sslsmdmmrmr-/z16/sslsmdmmrmd
N2:#s,ddtddmmmrddmmmrdlsdddtd/ddtddmmmrddmmmrdlsdddtd---/m4-zzd4-zz/mmfmdsddtdt-3/m4-zzd4-zz/mmfmdsddttd-3
N3:#mssFssdddlssdddlsd,msssfm/ssFssdddlssdddlsd,msssfm---/ddddsmfssls---/d4sms5-3/ddddsmfssls---/d4smssffm-3/
N4:#m,d16smdsssd/d16smdsssdslt/dz9-sltd4smds5lt/dz9-sltd4smds3d
Y1:Jesosy Tompo mi_antso anao/Manontany izao:/«Aiza moa i_anao?»/Ny ondrikeliko noana indreo/Miandry\ anao re ireo/«Aiza moa i_anao?»/${R=}Ty a\ho, Je'Ty a\ho Jeso, (ekeo mba) ho irakao/Raiso ha Raiso hanao ny sitrakao tokoa/Jesosy Jesosy ô! (omeko) mba ho Anao/Ny foko, Ny foko, tenako sy fanahiko
Y2:E! làlan-tsarotra\ ilàna anao/Ady mafy no ao:/«Aiza moa i_anao?»/Reseonao zao tontolo izao/Mba ho Ahy re izao/«Aiza moa i_anao?»/
Y3:Ny hery, aina sy fanananao/No ilaiko izao:/«Aiza moa i_anao»/Ny tenanao sy ny fanahinao/No takiako izao/«Aiza moa i_anao»?/
Y4:Ny sandriko no hi_aro anao/Hisakambina\ anao/«Aiza moa i_anao?»/Ra\ha ny Fana\hy no hitantana\ anao/Vonona ve ianao?/«Aiza moa i_anao?»/

View file

@ -0,0 +1,10 @@
M0:|c:F|m:4/4|r:7.6.7.6.D.|t:FFPM 35 : Isaoranay, Ry Ray|a:S. Rahamefy 1880-1961|h:S. Rahamefy 1880-1961
U0:zC:4624(22)4846244C462444846244C44444(444)4624446(222)6244C4624448(22)6244C
N1:s,#t,mdtr-ddmsrfsmmlsflssmmltdrs,ts,rmfmrsmdtrdddms#rddtlsmmRmfmm#ddrmfmrd
N2:#f,sdssstssdmdrtdd7lF4sz8tds5-s-#t,mmsfmd8-ddtts,
N3:#t,msmrf-mms7fmlfmmddrrdtz8ssmrfmm-m-ssmfsssFslssmfslsfm
N4:#d,dd'd'ss-ddd#r,ddssdd7llrrrsz8sddssd,2-d,-d12l-s4d
Y1:Isaoranay, ry Ra_y,/Ny fiti_avanao;/Fa indro, azona_y/Ny ta_om-ba_ovao Ny ta_om-ba_ovao/Ry Tompo ô! Ambeno/Zao fifaliana\ izao/Ka aoka re ho feno/Ny haso_avanao.
Y2:Ny taona va_o lasa/Nipaoka olon-tsoa/Ireny mba nikasa/Mba ho tafita koa mba ho tafita koa/Ny fitondrana\ anefa/Afeninao, ry Ray!/Ka nony mi_antefa/Vao sina izahay.
Y3:Fanahy ô, avi_a/Hitari-dalana\ e!/Mandroso\ izao ny di_a,/Hamaky rano be Hamaky rano be/Ny herinao tsy lefy/No tanjaky ny fo;/Ka ampy mba ho fefy,/Ra\ha avy ny manjo.
Y4:Itoero, Jeso ti_a,/Ny sambona_y re!/Na tony na mari_a,/'Ty ranomasim-be 'ty ranomasim-be/Ra\ha Hi_anao no hita/Tsy fefika\ izahay/Ambara-pi_ampita/Arỳ an-tratran-dRay.

View file

@ -0,0 +1,9 @@
M0:|c:C|m:4/4|r:7.6.7.6.D.|t:FFPM 38 : He, Hosana|a:Valborg Andersen, 1851-1935|h:E. Hoff, 1832-1894
U0:z0:44422442222224z4/2242222/222222448z4/224222222444224222222444/22422222242222/222222448z4/${ff}${rit}22222244Cz4
N1:d'#msmd,l5dls3/ddtddrr/#sffmmfrdtd/#rmfs(mf)s-(mf)smzrmf(rm)f-(rm)frz/t#frds-zztrds-zzssllrrdtm/ssllrrdtd
N2:d'smd#rf7m3/s7/ttddllsfm/#t,drm(dr)m-(dr)mdztdr(td)r-tdrtz/rfmm-zzrfmm-zz/z9/mmf4mrm
N3:d'smd#sd10/mmrddtt/rrddrfmrd/z3d7sz4s8z/zzzs4z3s4/z9/d4lls3
N4:d'smd#t,f5lfd3/ddfmmss/ssllfrs#s,sd/z7d5z7s5/z3ddttz3d4/z9/ddf4s'sd
Y1:He, hosana! Isaoranani_e ny Mesi_a,/I\zay nalefanny Tompo,/Ka hosana no asandratray./I\lay nirahi_2nao _ry _Tompo_2/I\lay nirahi_2nao _ry _Tompo_2/No derainay,_4/No derainay,_4/Ka hosana no asandratray!/Ka hosana no asandratray!/
O1:3:24:_3I\lay nirahinao, ry Tompo,_4I\lay nirahinao, ry Tompo,_4No derainay,_3No derainay;_9
O1:4:24:_7I\lay nirahinao,_7I\lay nirahinao,_3No derainay,_3No derainay_9

View file

@ -0,0 +1,11 @@
M0:|c:E|m:3/4|r:L.M.|t:FFPM 501. Namely Mafy Loatra|a:W.E. Cousins 1840-1939|h:H.P. Smith, 1825-1898
U0:z0:4448484C/44484(44)4C/44484(44)4(44)/48484(44)4C
N1:#rmmmfmrrr/ssfmddtls/slsdttlsf-/mrd, fmrltd,
N2:#s,d5llt/tdrdmmrdt/rrrddd-ddt/dtlrdl-ss
N3:ssslslrs/s5F-Fs/tltssf-ss-/sfmssf-rm
N4:#f,d5fFs/sltdlr-rs/#dfffmmf-mr-/d#d,sltdfrsd'
Y1:Namely mafy lo_atra/Ny henatra\ aman-tahotra,/Tsy afaka ny haizim-po/Fa mbola tao ny heloko
Y2:Nandroso a\ho nivavaka/Ry Jeso ô, Mpanavotra,/Izao no angatahiko:/Mba mamelà ny heloko!
Y3:Izaho tsy hi_ahotra,/Ny tenako atolotro,/Izay rehetra\ ananako/Anao, Mpamela heloka!
Y4:Ny tahotra dia levona,/Ari_ako ny henatra,/Satria mandre ny feonao hoe:/«Voavelako ny helokao!»
Y5:Endrey ny hafali_ako/I\zay velona\ ao anatiko!/Ka sahiko ny hanao hoe:/«Voavelanao ny heloko!»

View file

@ -12,7 +12,6 @@ import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.launch
import org.koin.compose.koinInject
import androidx.compose.ui.geometry.Offset
import cafe.adriel.voyager.navigator.CurrentScreen
import cafe.adriel.voyager.navigator.Navigator
import mg.dot.feufaro.viewmodel.SolfaScreenModel

View file

@ -26,6 +26,12 @@ class ParseULine (var line: String, var measure: Int) {
}
line = matchResult.groups[2]!!.value
parsedString = ":"
if (capturedChar == "0") {
parsedString = "|"
}
if (capturedChar == "8") {
parsedString = "!"
}
}
parseUStage1()
parseUStage3()

View file

@ -22,14 +22,16 @@ class Solfa(val sharedScreenModel: SharedScreenModel, private val fileRepository
val REGEX_SINGLETON_PAREN = Regex("[\\(\\[](.[¹²³₁₂₃]?)?[\\)\\]]") // @todo
val REGEX_SHIFT_COMMA_UPWARD = Regex("([^a-zA-Z]+)([',])")
val REGEX_TEMPLATE_COMMENT = Regex("(\\$[A-Z]|\\$\\{[^\\}]*\\})")
val REGEX_REPETITION = Regex("([zdrmfslt-](?>[',]*))([1-9][0-9]*)")
val REGEX_REPETITION = Regex("([zdrmfslt-](?>[',]*))([1-9][0-9]*)", RegexOption.IGNORE_CASE)
val REGEX_PARSE_META = Regex("\\|(?=[a-z]:)")
val REGEX_LYRICS_COMMENT = Regex("\\$\\{([^\\}]:[^\\}]*)\\}")
val REGEX_LYRICS_REPETITION = Regex("_(\\d)")
val REGEX_VOWELS_STAGE1 = Regex("[aeiouyàéỳ,;\\.\\-:!](?![ aeiouyàéỳ,;\\.\\-:!])", RegexOption.IGNORE_CASE)
val REGEX_VOWELS_STAGE1 = Regex("[aeiouyàéỳ,;\\.\\-:!\\)](?![ aeiouyàéỳ,;\\.\\-:!\\)])", RegexOption.IGNORE_CASE)
val REGEX_VOWELS_STAGE2 = Regex("([aeiouyàéỳ,;\\.\\-:!])__", RegexOption.IGNORE_CASE)
val REGEX_VOWELS_STAGE3 = Regex("_([\\?\\!:,;\\\\)]+)")
val REGEX_MALAGASY_MN = Regex("([aeio])_([nm])([tdjkbp])")
val REGEX_MALAGASY_MN_DASHED = Regex("([aeio][nm])\\-([tdjkbp])")
val REGEX_MALAGASY_MN_STAGE2 = Regex("_([mn])-")
}
var nextTIndex: Int = -1
var nextNIndex: Int = -1
@ -72,7 +74,7 @@ class Solfa(val sharedScreenModel: SharedScreenModel, private val fileRepository
}
'.', ',', ->
unitObject.addMarker(it)
'-', 'Z' ->
'-', 'Z', 'z' ->
N.indices.forEach { voiceNumber ->
unitObject.addBlank(voiceNumber, it)
}
@ -426,7 +428,7 @@ class Solfa(val sharedScreenModel: SharedScreenModel, private val fileRepository
return this
.replace("_/", "/")
//.also { println ("1 $it")}
.replace("_", "-_")
.replace(Regex("(?<![\\?:,\\.;])_"), "-_")
//.also { println ("2 $it")}
.replace(Regex("_-(?=_)"), "_")
//.also { println ("3 $it")}
@ -482,12 +484,14 @@ class Solfa(val sharedScreenModel: SharedScreenModel, private val fileRepository
.replace(REGEX_MALAGASY_MN_DASHED, "$1-\\\\$2")
.replace(REGEX_VOWELS_STAGE1, "$0_")
.replace(REGEX_VOWELS_STAGE2, "$1_")
.replace(REGEX_VOWELS_STAGE3, "$1_")
.replace(" ", " _")
.replace("_\\ _", " ")
.replace("_\\", "")
.replace("_/", "/")
.replace("_0", "")
.replace(REGEX_MALAGASY_MN, "$1$2_$3")
.replace(REGEX_MALAGASY_MN_STAGE2, "$1-_")
.replace("_n'", "n'_")
getLyricsComments(loadedLyrics)
loadL(intKey, loadedLyrics.replace(REGEX_LYRICS_COMMENT, ""))