From df1f846f590cd3e1ac280145791573fcf57f24a6 Mon Sep 17 00:00:00 2001 From: dotmg Date: Wed, 23 Jul 2025 18:19:44 +0200 Subject: [PATCH] XML parsing enchanced --- .../files/.fuse_hidden000061eb0000000c | Bin 0 -> 12288 bytes .../files/META-INF/container.xml | 6 ++++ .../composeResources/files/config.json | 8 ++++- .../composeResources/files/ews-13.txt | 30 +++++++++--------- .../composeResources/files/ews-14.txt | 7 ++++ .../composeResources/files/ews-15.txt | 10 ++++++ .../composeResources/files/ffpm-311.txt | 10 ++++++ .../composeResources/files/ffpm-6.txt | 2 +- .../composeResources/files/timepart.xsl | 2 ++ .../mg/dot/feufaro/musicXML/MXAppearance.kt | 30 ++++++++++++++++-- .../dot/feufaro/musicXML/MXAppearanceChild.kt | 17 ++++++++-- .../mg/dot/feufaro/musicXML/MXCreditWords.kt | 6 ++-- .../mg/dot/feufaro/musicXML/MXDefaults.kt | 3 ++ .../kotlin/mg/dot/feufaro/musicXML/MXLyric.kt | 5 ++- .../mg/dot/feufaro/musicXML/MXMeasure.kt | 2 +- .../dot/feufaro/musicXML/MXMidiInstrument.kt | 2 +- .../kotlin/mg/dot/feufaro/musicXML/MXNote.kt | 2 +- .../dot/feufaro/musicXML/MXOtherAppearance.kt | 17 ++++++++-- .../mg/dot/feufaro/musicXML/MXPageLayout.kt | 4 +-- .../mg/dot/feufaro/musicXML/MXPageMargins.kt | 8 ++--- .../mg/dot/feufaro/musicXML/MXStaffLayout.kt | 2 +- .../mg/dot/feufaro/musicXML/MXSystemLayout.kt | 4 +-- .../dot/feufaro/musicXML/MXSystemMargins.kt | 4 +-- .../mg/dot/feufaro/musicXML/MusicXML.kt | 2 +- 24 files changed, 141 insertions(+), 42 deletions(-) create mode 100644 composeApp/src/commonMain/composeResources/files/.fuse_hidden000061eb0000000c create mode 100644 composeApp/src/commonMain/composeResources/files/META-INF/container.xml create mode 100644 composeApp/src/commonMain/composeResources/files/ews-14.txt create mode 100644 composeApp/src/commonMain/composeResources/files/ews-15.txt create mode 100644 composeApp/src/commonMain/composeResources/files/ffpm-311.txt diff --git a/composeApp/src/commonMain/composeResources/files/.fuse_hidden000061eb0000000c b/composeApp/src/commonMain/composeResources/files/.fuse_hidden000061eb0000000c new file mode 100644 index 0000000000000000000000000000000000000000..5dac8cf99ee7ce6062b33e5638b0276ebd711258 GIT binary patch literal 12288 zcmeI2L2n~96vtg84!{-=d;voaO{FAmlVMfn)@{k|f|5m1w^C72K-*3hlMfK6f{^K6sYPA`* zcNzOJ@uP2lTVWSJGiKx{(~<(qw=6#yg*;oHgs6Cym&!i#Vq{Hbq{_re9z-`g)6!XS zY|YsEY?{@-i~WyghTrnHM@QXs?@Ft?+eV_{1#|hy<1qI189AtE|)B z+@Q4Dhad3w-+Q|3iWrLoB7sOC5{LvMfk+?{hy)^m{~3WWUSZ#$rq`;v-l&c%*N#;) z9wLEAAQFfKB7sOC5{LvMfk+?{hy)^mNZ>z6Kq|&we~YnCVD$h0%isUc-(l=y*o(Ir z+lT$S%Gh_XU+yus3Zwj=-el}c9Cu-lU=LxRR_Ek@4C_{HI?^>1C!^Ta9EyJiqdus= z%X7+!TO<$(L;{gOBoGNi0{;#ILTt8pPkMW5xsm0GEbR!^5dAz@IHp`@rR5Gj(YGVZ z;TdIxJ$-rc1C~|tNgiZF?BCu6ZzGY zy29ejh5rfPw{l{UV)@I9?+ZEQlgv#iU*{p06Io&iEai05mJsdM9@>|ZRX&nx3dLSR z=LvPfONb(U)AI!0_UE zxlmEqV8s(Y`7_1cn~FOv-X+E%gOr0#`bR?p!9*4qhIn3zGPxn&U`{jFz{n9TrOJuo zBUDEc%Y01j`K~1%$RkSy1=JVJR!p* zP~>mO-%Rg39}n*|A?G*i>Wmy#Q*tOv$aHepxout!6PmH}8upjof*TW*^^>%w8tNmX zwea_q67$pU;#}*xZmu_rnrohj%&SH`bt5Gha_^&~DF{jq78w}LMigW1Gi$>)_mRbwf(h36} z3OL!*jr4pY-AdZ+B-z;!*H7wO$@+CCrIJVP@S)=J|H1TrTk*!dn90oU>87E6Y49_yFJj!Ah4;@X}$w0|1 + + + + + diff --git a/composeApp/src/commonMain/composeResources/files/config.json b/composeApp/src/commonMain/composeResources/files/config.json index eee531d..d1e0b5d 100644 --- a/composeApp/src/commonMain/composeResources/files/config.json +++ b/composeApp/src/commonMain/composeResources/files/config.json @@ -2,9 +2,15 @@ "themeMode": "DARK", "fontSize": 18.5, "playlist": [ + "assets://ffpm-6.txt", + "assets://ffpm-444-2.txt", + "assets://ews-13.txt", + "assets://ffpm-194.txt", + "assets://ffpm-57.txt", + "assets://ffpm-191.txt", + "assets://ff-7.txt", "assets://ffpm-33.txt", "assets://ff-8.txt", - "assets://ffpm-444-2.txt", "assets://ffpm-760.txt", "assets://ews-456.txt", "assets://ffpm-51.txt", diff --git a/composeApp/src/commonMain/composeResources/files/ews-13.txt b/composeApp/src/commonMain/composeResources/files/ews-13.txt index 8a4d52d..272f7f7 100644 --- a/composeApp/src/commonMain/composeResources/files/ews-13.txt +++ b/composeApp/src/commonMain/composeResources/files/ews-13.txt @@ -1,16 +1,16 @@ M0:|t:EWS 13 O for a thousand tongues to sing|a:Charles Wesley (1739: 1707-1788)|h:Thomas Jarman (1776-1861)|c:G|m:4/4 -U0:z0:862(31224)4(44)(44)C/44444C/4(3121113)1388G84462444444C444444444444444222244444444844G -N1:dmfslsfmfmdrt,dmfmrdrrmrmf-s-l-sfissssmrdmfmrdrs,d-ddffffm--mrrrmfrs--slsfmr-rd -N2:s,s,s,s,----l,s,-s,-s,dt,drl,t,t,d------d-t,l,t,dddd--dt,drl,t,zz-zdl,l,l,l,s,--s,s,t,t,drt,dt,ddd-t,ddt,-d -N3:mdrmfmrdddmfrmssssfisss--f-m-m-rrrmmmsfmss--fissdrmdd--ddsmdt,rs-f-mrmmfssss-fm -N4:dddd----f,s,-s,-ddrdt,l,s,s,d------l,-rr,s,dddd--drdt,l,s,s,drddf,--f,dddds,---s,-drddfmrds,-s,d, -E1:O for a thou_sand tongues to sing/my great Re_dee_mer's praise,/the glo_ries of my God and King,/the tri_umphs of his grace! -E2:My gra_cious Mas_ter and my God,/as_sist me to pro_claim,/to spread thro' all the earth a_broad/the ho_nors of your name. -E3:Je_sus! the name that charms our fears,/that bids our sor_rows cease,/'tis mu_sic in the sin_ner's ears,/'tis life and health and peace. -E4:He speaks; and, listen_ing to his voice,/New life the dead re_ceive,/The mourn_ful bro_ken hearts re_joice,/The humble poor re_lieve. -E5:Hear him, ye deaf; his praise, ye dumb,/Your loo_sened tongues em_ploy;/Ye blind, be_hold the Sa_viour come;/And leap, ye lame, for joy! -E6:He breaks the power of can_celled sin,/he sets the pri_soner free;/his blood can make the foul_est clean;/his blood a_vailed for me. -E7:To God all glo_ry, praise, and love/be now and e_ver given/by saints be_low and saints a_bove,/the Church in earth and heaven. -E8:I felt my Lord’s a_ton_ing blood/Close to my soul ap_plied;/Me, me He loved, the Son of God,/For me, for me He died! -E9:Look un_to Him, ye na_tions, Own/Your God, ye fal_len race;/Look, and be saved through faith a_lone,/Be jus_ti_fied by grace. -E10:See all your sins on Je_sus laid:/The Lamb of God was slain,/His soul was once an of_fer_ing/For e_ver soul of man./ +U0:z0:862(31224)4(44)(44)C/44444C/4(31224)488G/844(624)4(444)4C/444444444444444(22)(22)44444444844G +N1:dmfslsfmfmdrt,dmfmrdrrmrmfslsfissssmrdmfmrdrz4dffffm--mrrrmfrs--s(lsf)mr-rd +N2:s,s,s,s,----l,s,-s,-s,dt,drl,t,t,d----dt,l,t,dddd--dt,drl,t,z4dl,l,l,l,s,--s,s,t,t,drt,(dt,d)d(d-t,)ddt,-d +N3:mdrmfmrdddmfrmssssfisss--fmmrrrmmmsfmss--fissdrmdd--ddsmdt,rs-f-mrmmfssss-fm +N4:dddd----m,s,-s,-ddrdt,l,s,s,d----l,rr,s,dddd--drdt,l,s,s,drmdf,--f,dddds,---s,-drddfmrds,-s,d, +E1:O for a thou_sand tongues to sing/my great Re_dee_mer's praise,/my great Re_dee_mer's praise,/the glo_ries of my God and King,/_4the tri_umphs of his grace,/_2the tri_umphs of his grace,/_2the tri_3umphs of_2his grace! +E2:My gra_cious Mas_ter and my God,/as_sist me to pro_claim,/as_sist me to pro_claim,/to spread thro' all the earth a_broad/the ho_nors of your name. +E3:Je_sus! the name that charms our fears,/that bids our sor_rows cease,/that bids our sor_rows cease,/'tis mu_sic in the sin_ner's ears,/'tis life and health and peace. +E4:He speaks; and, listen_ing to his voice,/New life the dead re_ceive,/New life the dead re_ceive,/The mourn_ful bro_ken hearts re_joice,/The humble poor re_lieve. +E5:Hear him, ye deaf; his praise, ye dumb,/Your loo_sened tongues em_ploy;/Your loo_sened tongues em_ploy;/Ye blind, be_hold the Sa_viour come;/And leap, ye lame, for joy! +E6:He breaks the power of can_celled sin,/he sets the pri_soner free;/he sets the pri_soner free;/his blood can make the foul_est clean;/his blood a_vailed for me. +E7:To God all glo_ry, praise, and love/be now and e_ver given/be now and e_ver given/by saints be_low and saints a_bove,/the Church in earth and heaven. +E8:I felt my Lord’s a_ton_ing blood/Close to my soul ap_plied;/Close to my soul ap_plied;/Me, me He loved, the Son of God,/For me, for me He died! +E9:Look un_to Him, ye na_tions, Own/Your God, ye fal_len race;/Your God, ye fal_len race;/Look, and be saved through faith a_lone,/Be jus_ti_fied by grace. +E10:See all your sins on Je_sus laid:/The Lamb of God was slain,/The Lamb of God was slain,/His soul was once an of_fer_ing/For e_ver soul of man. \ No newline at end of file diff --git a/composeApp/src/commonMain/composeResources/files/ews-14.txt b/composeApp/src/commonMain/composeResources/files/ews-14.txt new file mode 100644 index 0000000..f5240e9 --- /dev/null +++ b/composeApp/src/commonMain/composeResources/files/ews-14.txt @@ -0,0 +1,7 @@ +M0:|c:D|m:3/4|t:EWS 14 Holy, Holy, Holy, Lord God of Hosts|h:John Camidge 1 (1734-1803) +U0:z0:848484/444(48)/8(31)8444(22)48/(44)(22)(21122)48/4(224)4CCC +N1:ddrrmmltd'd'td'sfmsd'tl-sssls-f-ls-fmslr'd'td'ls +N2:s,s,t,t,dddfmmrmr-drmrrdssmfm-r-fm-rdddfmrmdd +N3:mmssssfsss-ss-ssssfi-sss-d'tlr-mfsssl-sssfm +N4:dds,s,ddfrds,-dt,-dt,l,rr-s,s,d-d-f,--s,-s,dmf-ss,df,d +E1:Ho_ly, ho_ly, ho_ly, Lord God of Hosts,/Heaven and earth are full of Thy glo_ry:/Glo_ry be to Thee,/O Lord Most High./A_men. diff --git a/composeApp/src/commonMain/composeResources/files/ews-15.txt b/composeApp/src/commonMain/composeResources/files/ews-15.txt new file mode 100644 index 0000000..35a7d02 --- /dev/null +++ b/composeApp/src/commonMain/composeResources/files/ews-15.txt @@ -0,0 +1,10 @@ +M0:|c:Ab|m:4/4|t:EWS 15 With Hearts In Love Abounding|a:Harriet Auber (1773-1862)|h:George James Webb (1837: 1803:1887) +U0:zC:4624484/44444C/4624484/44444C/4624484/44444(84)/4624484/44444C +N1:s,ddmddl,ds,drmrs,ddmddl,ds,dmrds,rrdrmmmfml,rdt,s,ddmddl,ds,dmrd +N2:m,m,m,s,s,l,f,l,s,s,s,s,s,s,m,m,s,s,l,f,l,s,m,s,f,m,s,s,s,s,s,s,s,s,f,s,l,l,s,-s,m,m,s,s,l,f,l,s,m,s,f,m, +N3:ddddddddddt,dt,t,ddddddddddt,s,s,t,t,l,t,ddddddfmrt,ddddddddddt,d +N4:d,d,d,d,m,f,f,f,m,m,r,d,s,s,d,d,d,m,f,f,f,m,d,s,s,d,s,s,s,s,s,dddl,s,f,r,s,-s,d,d,d,m,f,f,f,m,d,s,s,d, +E1:With hearts in love a_boun_ding,/Pre_pare we now to sing/A lof_ty theme, re_soun_ding/Thy praise, al_migh_ty King;/Whose love, rich gifts be_stow_ing,/Re_deemed the hu_man race;/Whose lips with zeal o’er_flow_ing,/Breathe words of truth and grace. +E2:In ma_jes_ty trans_cen_dent,/Gird on Thy con_quering sword;/In right_eous_ness res_plen_dent,/Ride on, in_car_nate Word!/Ride on, O King Mes_si_ah,/To glo_ry and re_nown;/Pierced by Thy darts of fi_re,/Be e_very foe o’er_thrown! +E3:So reign, O God in hea_ven,/E_ter_nal_ly the same;/And end_less praise be gi_ven/To Thy al_migh_ty name./Cloth'd in Thy dazz_ling bright_ness,/Thy church on earth be_hold,/In robes of pur_est white_ness,/In rai_ment wrought with gold. +E4:And let each Gen_tile na_tion/Come glad_ly in her train,/To share Thy great sal_va_tion,/And join her grate_ful strain:/Then ne’er shall note of sad_ness/A_wake the tremb_ling string;/One song of joy and glad_ness/The ran_somed world shall sing. diff --git a/composeApp/src/commonMain/composeResources/files/ffpm-311.txt b/composeApp/src/commonMain/composeResources/files/ffpm-311.txt new file mode 100644 index 0000000..e9990ba --- /dev/null +++ b/composeApp/src/commonMain/composeResources/files/ffpm-311.txt @@ -0,0 +1,10 @@ +M0:|c:Ab|m:4/4|t:EWS 15 With Hearts In Love Abounding|a:Harriet Auber (1773-1862)|h:George James Webb (1837: 1803:1887) +U0:zC:4624484/44444C/4624484/44444C/4624484/(22)4444(84)/4624484/44444C +N1:s,ddmddl,ds,drmrs,ddmddl,ds,dmrds,rrdrmmm-fml,rdt,s,ddmddl,ds,dmrd +N2:m,m,m,s,s,l,f,l,s,s,s,s,s,s,m,m,s,s,l,f,l,s,m,s,f,m,s,s,s,s,s,s,s,s,-f,s,l,l,s,-s,m,m,s,s,l,f,l,s,m,s,f,m, +N3:#s,dssdddddddtdtsssddddddddtdtttltddd-dddfmrsssddddddddtd +N4:#d,ddddmfffmmrdssdddmfffmdssdsssssdddtlsfrs-sdddmfffmdssd +Y1:Mi_ely lavitra\ any/Ny olo-marobe;/Koa Iza no hankany;/Hamonjy azy re,/Hanorina sekoly,/Hitory teny koa./Hamaky ny Baiboly,/Milaza zava-tsoa? +Y2:Indreny olona\ ory/Tsinjovy, ry zareo!/Tsy misy ny mpitory,/Ka moa hafoinareo?/Tsarovy Jeso Tompo/Nandao ny lapa soa,/Ka tonga mba hanompo,/Nanolotra\ aina koa. +Y3:Ry Lohan’ny mpi_andry!/Tendreo ny irakao,/Fa reraka ka mandry/Ny ondrikelinao;/Iraho ny mpitory/Hande\ha ankehitrio,/Ka tsy handà akory/Hanao veloma\ anio. +Y4:Ny ti_a famonjena/Mi_aramila soa;/Izay manolo-tena/No iraka tokoa;/Na lavitra ny tany,/Hanendry tena hoe:/«Izaho no hankany,/Iraho aho e!» diff --git a/composeApp/src/commonMain/composeResources/files/ffpm-6.txt b/composeApp/src/commonMain/composeResources/files/ffpm-6.txt index 4416399..25d6545 100644 --- a/composeApp/src/commonMain/composeResources/files/ffpm-6.txt +++ b/composeApp/src/commonMain/composeResources/files/ffpm-6.txt @@ -1,5 +1,5 @@ M0:|c:D|m:4/4|r:7.6.7.6.D|t:FFPM 6 - Avia Miondreha|a:Ramahandry|h:R. Whately, 1787-1863 -U0:zC:4 6244 44z4/4 624(22) C/4 6244 44z4/4 4444 C/4 ${Do dia A}6244 44z4/4 4444 C/4 ${Do dia D}6244 44z4/4 4444 C +U0:zC:4 6244 44z4/4 624(22) C/4 6244 44z4/4 4444 C/${c:A}4 6244 44z4/4 4444 C/${c:D}4 6244 44z4/4 4444 C N1:smfsd'tl/smmmd-r/smfsd'tl/lsd'r'td'/sdrmfmr/rfrl,t,d/smfsd'tl/lsd'r'td' N2:mdrmmff/mdddd-t, /rdrmmff/fmmfrm/dm, f, s, l, s, s, /s, t, s, f, s, s, /mdrmmff/fmmfrm N3:sssssfd'/ssssmfs/sssssfd'/d'd'd'lss/mdddddt, /t, rt, drm/d'ssssfd'/d'd'd'tss diff --git a/composeApp/src/commonMain/composeResources/files/timepart.xsl b/composeApp/src/commonMain/composeResources/files/timepart.xsl index d1571ab..d9e2d02 100644 --- a/composeApp/src/commonMain/composeResources/files/timepart.xsl +++ b/composeApp/src/commonMain/composeResources/files/timepart.xsl @@ -20,6 +20,8 @@ + + diff --git a/composeApp/src/commonMain/kotlin/mg/dot/feufaro/musicXML/MXAppearance.kt b/composeApp/src/commonMain/kotlin/mg/dot/feufaro/musicXML/MXAppearance.kt index a584b9b..e708869 100644 --- a/composeApp/src/commonMain/kotlin/mg/dot/feufaro/musicXML/MXAppearance.kt +++ b/composeApp/src/commonMain/kotlin/mg/dot/feufaro/musicXML/MXAppearance.kt @@ -1,4 +1,30 @@ package mg.dot.feufaro.musicXML -class MXAppearance { -} \ No newline at end of file +import kotlinx.serialization.Serializable +import nl.adaptivity.xmlutil.serialization.XML +import nl.adaptivity.xmlutil.serialization.XmlElement +import nl.adaptivity.xmlutil.serialization.XmlSerialName +import nl.adaptivity.xmlutil.serialization.XmlValue + +@Serializable +@XmlSerialName("appearance", "", "") +data class MXAppearance ( + @Serializable + @XmlElement + @XmlSerialName("line-width", "", "") + var lineWidth: List = listOf(), + @Serializable + @XmlElement + @XmlSerialName("note-size", "", "") + var noteSize: List = listOf(), + @Serializable + @XmlElement + var distance: List = listOf(), + @Serializable + @XmlElement + var glyph: List = listOf(), + @Serializable + @XmlElement + @XmlSerialName("other-appearance", "", "") + var otherAppearance: List = listOf(), +) diff --git a/composeApp/src/commonMain/kotlin/mg/dot/feufaro/musicXML/MXAppearanceChild.kt b/composeApp/src/commonMain/kotlin/mg/dot/feufaro/musicXML/MXAppearanceChild.kt index 3bf9120..2f0bf48 100644 --- a/composeApp/src/commonMain/kotlin/mg/dot/feufaro/musicXML/MXAppearanceChild.kt +++ b/composeApp/src/commonMain/kotlin/mg/dot/feufaro/musicXML/MXAppearanceChild.kt @@ -1,4 +1,17 @@ package mg.dot.feufaro.musicXML -class MXAppearanceChild { -} \ No newline at end of file +import kotlinx.serialization.Serializable +import nl.adaptivity.xmlutil.serialization.XML +import nl.adaptivity.xmlutil.serialization.XmlSerialName +import nl.adaptivity.xmlutil.serialization.XmlValue + +@Serializable +@XmlSerialName("line-width", "", "") +data class MXAppearanceChild ( + @Serializable + var type: String? = null, + @Serializable + @XmlValue + @XmlSerialName("content", "", "") + var content: Float? = null +) diff --git a/composeApp/src/commonMain/kotlin/mg/dot/feufaro/musicXML/MXCreditWords.kt b/composeApp/src/commonMain/kotlin/mg/dot/feufaro/musicXML/MXCreditWords.kt index e90ea6b..2fb9a3f 100644 --- a/composeApp/src/commonMain/kotlin/mg/dot/feufaro/musicXML/MXCreditWords.kt +++ b/composeApp/src/commonMain/kotlin/mg/dot/feufaro/musicXML/MXCreditWords.kt @@ -13,16 +13,16 @@ data class MXCreditWords ( var fontWeight: String? = null, @Serializable @XmlSerialName("font-size", "", "") - var fontSize: Int? = null, + var fontSize: Float? = null, @Serializable @XmlSerialName("font-family", "", "") var fontFamily: String? = null, @Serializable @XmlSerialName("default-y", "", "") - var defaultY: Int? = null, + var defaultY: Float? = null, @Serializable @XmlSerialName("default-x", "", "") - var defaultX: Int? = null, + var defaultX: Float? = null, @Serializable @XmlValue @XmlSerialName("content", "", "") diff --git a/composeApp/src/commonMain/kotlin/mg/dot/feufaro/musicXML/MXDefaults.kt b/composeApp/src/commonMain/kotlin/mg/dot/feufaro/musicXML/MXDefaults.kt index ce2cc2c..d0c6313 100644 --- a/composeApp/src/commonMain/kotlin/mg/dot/feufaro/musicXML/MXDefaults.kt +++ b/composeApp/src/commonMain/kotlin/mg/dot/feufaro/musicXML/MXDefaults.kt @@ -19,4 +19,7 @@ data class MXDefaults ( @XmlElement @XmlSerialName("lyric-font", "", "") var lyricFont: MXLyricFont? = null, +@Serializable +@XmlElement +var appearance: MXAppearance? = null, ) diff --git a/composeApp/src/commonMain/kotlin/mg/dot/feufaro/musicXML/MXLyric.kt b/composeApp/src/commonMain/kotlin/mg/dot/feufaro/musicXML/MXLyric.kt index fce4e99..3a7ebc1 100644 --- a/composeApp/src/commonMain/kotlin/mg/dot/feufaro/musicXML/MXLyric.kt +++ b/composeApp/src/commonMain/kotlin/mg/dot/feufaro/musicXML/MXLyric.kt @@ -16,7 +16,10 @@ data class MXLyric ( var syllabic: String? = null, @Serializable @XmlSerialName("default-y", "", "") - var defaultY: Int? = null, + var defaultY: Float? = null, +@Serializable +@XmlSerialName("default-x", "", "") +var defaultX: Float? = null, @Serializable @XmlSerialName("placement", "", "") var placement: String? = null, diff --git a/composeApp/src/commonMain/kotlin/mg/dot/feufaro/musicXML/MXMeasure.kt b/composeApp/src/commonMain/kotlin/mg/dot/feufaro/musicXML/MXMeasure.kt index 0d7a00f..2308dc4 100644 --- a/composeApp/src/commonMain/kotlin/mg/dot/feufaro/musicXML/MXMeasure.kt +++ b/composeApp/src/commonMain/kotlin/mg/dot/feufaro/musicXML/MXMeasure.kt @@ -20,7 +20,7 @@ data class MXMeasure ( var print: MXPrint? = null, @Serializable @XmlSerialName("width", "", "") - var width: Int? = null, + var width: Float? = null, @Serializable @XmlElement @XmlSerialName("attributes", "", "") diff --git a/composeApp/src/commonMain/kotlin/mg/dot/feufaro/musicXML/MXMidiInstrument.kt b/composeApp/src/commonMain/kotlin/mg/dot/feufaro/musicXML/MXMidiInstrument.kt index bde0401..cd5c446 100644 --- a/composeApp/src/commonMain/kotlin/mg/dot/feufaro/musicXML/MXMidiInstrument.kt +++ b/composeApp/src/commonMain/kotlin/mg/dot/feufaro/musicXML/MXMidiInstrument.kt @@ -10,7 +10,7 @@ data class MXMidiInstrument ( @Serializable @XmlElement @XmlSerialName("volume", "", "") - var volume: Int? = null, + var volume: Float? = null, @Serializable @XmlElement @XmlSerialName("midi-channel", "", "") diff --git a/composeApp/src/commonMain/kotlin/mg/dot/feufaro/musicXML/MXNote.kt b/composeApp/src/commonMain/kotlin/mg/dot/feufaro/musicXML/MXNote.kt index 7683554..0b6d7f9 100644 --- a/composeApp/src/commonMain/kotlin/mg/dot/feufaro/musicXML/MXNote.kt +++ b/composeApp/src/commonMain/kotlin/mg/dot/feufaro/musicXML/MXNote.kt @@ -21,7 +21,7 @@ data class MXNote ( var lyric: List = listOf(), @Serializable @XmlSerialName("default-x", "", "") - var defaultX: Int? = null, + var defaultX: Float? = null, @Serializable @XmlElement @XmlSerialName("pitch", "", "") diff --git a/composeApp/src/commonMain/kotlin/mg/dot/feufaro/musicXML/MXOtherAppearance.kt b/composeApp/src/commonMain/kotlin/mg/dot/feufaro/musicXML/MXOtherAppearance.kt index e1dfe6c..0516741 100644 --- a/composeApp/src/commonMain/kotlin/mg/dot/feufaro/musicXML/MXOtherAppearance.kt +++ b/composeApp/src/commonMain/kotlin/mg/dot/feufaro/musicXML/MXOtherAppearance.kt @@ -1,4 +1,17 @@ package mg.dot.feufaro.musicXML -class MXOtherAppearance { -} \ No newline at end of file +import kotlinx.serialization.Serializable +import nl.adaptivity.xmlutil.serialization.XML +import nl.adaptivity.xmlutil.serialization.XmlSerialName +import nl.adaptivity.xmlutil.serialization.XmlValue + +@Serializable +@XmlSerialName("other-appearance", "", "") +data class MXOtherAppearance ( + @Serializable + var type: String? = null, + @Serializable + @XmlValue + @XmlSerialName("content", "", "") + var content: String? = null +) diff --git a/composeApp/src/commonMain/kotlin/mg/dot/feufaro/musicXML/MXPageLayout.kt b/composeApp/src/commonMain/kotlin/mg/dot/feufaro/musicXML/MXPageLayout.kt index de7700a..8cae066 100644 --- a/composeApp/src/commonMain/kotlin/mg/dot/feufaro/musicXML/MXPageLayout.kt +++ b/composeApp/src/commonMain/kotlin/mg/dot/feufaro/musicXML/MXPageLayout.kt @@ -14,9 +14,9 @@ data class MXPageLayout ( @Serializable @XmlElement @XmlSerialName("page-height", "", "") - var pageHeight: Int? = null, + var pageHeight: Float? = null, @Serializable @XmlElement @XmlSerialName("page-width", "", "") - var pageWidth: Int? = null + var pageWidth: Float? = null ) diff --git a/composeApp/src/commonMain/kotlin/mg/dot/feufaro/musicXML/MXPageMargins.kt b/composeApp/src/commonMain/kotlin/mg/dot/feufaro/musicXML/MXPageMargins.kt index f7e04cb..8827882 100644 --- a/composeApp/src/commonMain/kotlin/mg/dot/feufaro/musicXML/MXPageMargins.kt +++ b/composeApp/src/commonMain/kotlin/mg/dot/feufaro/musicXML/MXPageMargins.kt @@ -10,20 +10,20 @@ data class MXPageMargins ( @Serializable @XmlElement @XmlSerialName("right-margin", "", "") - var rightMargin: Int? = null, + var rightMargin: Float? = null, @Serializable @XmlElement @XmlSerialName("left-margin", "", "") - var leftMargin: Int? = null, + var leftMargin: Float? = null, @Serializable @XmlElement @XmlSerialName("bottom-margin", "", "") - var bottomMargin: Int? = null, + var bottomMargin: Float? = null, @Serializable @XmlSerialName("type", "", "") var type: String? = null, @Serializable @XmlElement @XmlSerialName("top-margin", "", "") - var topMargin: Int? = null + var topMargin: Float? = null ) diff --git a/composeApp/src/commonMain/kotlin/mg/dot/feufaro/musicXML/MXStaffLayout.kt b/composeApp/src/commonMain/kotlin/mg/dot/feufaro/musicXML/MXStaffLayout.kt index df6c9b0..e528e27 100644 --- a/composeApp/src/commonMain/kotlin/mg/dot/feufaro/musicXML/MXStaffLayout.kt +++ b/composeApp/src/commonMain/kotlin/mg/dot/feufaro/musicXML/MXStaffLayout.kt @@ -13,5 +13,5 @@ data class MXStaffLayout ( @Serializable @XmlElement @XmlSerialName("staff-distance", "", "") - var staffDistance: Int? = null, + var staffDistance: Float? = null, ) diff --git a/composeApp/src/commonMain/kotlin/mg/dot/feufaro/musicXML/MXSystemLayout.kt b/composeApp/src/commonMain/kotlin/mg/dot/feufaro/musicXML/MXSystemLayout.kt index e713e50..5a1e0b6 100644 --- a/composeApp/src/commonMain/kotlin/mg/dot/feufaro/musicXML/MXSystemLayout.kt +++ b/composeApp/src/commonMain/kotlin/mg/dot/feufaro/musicXML/MXSystemLayout.kt @@ -14,9 +14,9 @@ data class MXSystemLayout ( @Serializable @XmlElement @XmlSerialName("top-system-distance", "", "") - var topSystemDistance: Int? = null, + var topSystemDistance: Float? = null, @Serializable @XmlElement @XmlSerialName("system-distance", "", "") - var systemDistance: Int? = null, + var systemDistance: Float? = null, ) diff --git a/composeApp/src/commonMain/kotlin/mg/dot/feufaro/musicXML/MXSystemMargins.kt b/composeApp/src/commonMain/kotlin/mg/dot/feufaro/musicXML/MXSystemMargins.kt index 44433af..3af9633 100644 --- a/composeApp/src/commonMain/kotlin/mg/dot/feufaro/musicXML/MXSystemMargins.kt +++ b/composeApp/src/commonMain/kotlin/mg/dot/feufaro/musicXML/MXSystemMargins.kt @@ -10,9 +10,9 @@ data class MXSystemMargins ( @Serializable @XmlElement @XmlSerialName("right-margin", "", "") - var rightMargin: Int? = null, + var rightMargin: Float? = null, @Serializable @XmlElement @XmlSerialName("left-margin", "", "") - var leftMargin: Int? = null, + var leftMargin: Float? = null, ) diff --git a/composeApp/src/commonMain/kotlin/mg/dot/feufaro/musicXML/MusicXML.kt b/composeApp/src/commonMain/kotlin/mg/dot/feufaro/musicXML/MusicXML.kt index 49dcee3..3f9717e 100644 --- a/composeApp/src/commonMain/kotlin/mg/dot/feufaro/musicXML/MusicXML.kt +++ b/composeApp/src/commonMain/kotlin/mg/dot/feufaro/musicXML/MusicXML.kt @@ -82,7 +82,7 @@ class MusicXML(private val fileRepository: FileRepository) { } } suspend fun load() { - val xmlContent = fileRepository.readFileContent("assets://14.xml") + val xmlContent = fileRepository.readFileContent("assets://13.musicxml") val xslContent = fileRepository.readFileContent("assets://timepart.xsl") xmlString = performXsltTransformation(xmlContent, xslContent) val solfaXML = SolfaXML()