XML parsing enchanced
This commit is contained in:
parent
9c5e15663e
commit
df1f846f59
24 changed files with 141 additions and 42 deletions
Binary file not shown.
|
|
@ -0,0 +1,6 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
||||
<container>
|
||||
<rootfiles>
|
||||
<rootfile full-path="14.xml" media-type="application/vnd.recordare.musicxml+xml"/>
|
||||
</rootfiles>
|
||||
</container>
|
||||
|
|
@ -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",
|
||||
|
|
|
|||
|
|
@ -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.
|
||||
|
|
@ -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.
|
||||
10
composeApp/src/commonMain/composeResources/files/ews-15.txt
Normal file
10
composeApp/src/commonMain/composeResources/files/ews-15.txt
Normal file
|
|
@ -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.
|
||||
|
|
@ -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!»
|
||||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -20,6 +20,8 @@
|
|||
</xsl:copy>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template match="appearance"/>
|
||||
|
||||
<xsl:template match="text()">
|
||||
<xsl:value-of select="." />
|
||||
</xsl:template>
|
||||
|
|
|
|||
|
|
@ -1,4 +1,30 @@
|
|||
package mg.dot.feufaro.musicXML
|
||||
|
||||
class MXAppearance {
|
||||
}
|
||||
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<MXAppearanceChild> = listOf(),
|
||||
@Serializable
|
||||
@XmlElement
|
||||
@XmlSerialName("note-size", "", "")
|
||||
var noteSize: List<MXAppearanceChild> = listOf(),
|
||||
@Serializable
|
||||
@XmlElement
|
||||
var distance: List<MXAppearanceChild> = listOf(),
|
||||
@Serializable
|
||||
@XmlElement
|
||||
var glyph: List<MXOtherAppearance> = listOf(),
|
||||
@Serializable
|
||||
@XmlElement
|
||||
@XmlSerialName("other-appearance", "", "")
|
||||
var otherAppearance: List<MXOtherAppearance> = listOf(),
|
||||
)
|
||||
|
|
|
|||
|
|
@ -1,4 +1,17 @@
|
|||
package mg.dot.feufaro.musicXML
|
||||
|
||||
class MXAppearanceChild {
|
||||
}
|
||||
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
|
||||
)
|
||||
|
|
|
|||
|
|
@ -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", "", "")
|
||||
|
|
|
|||
|
|
@ -19,4 +19,7 @@ data class MXDefaults (
|
|||
@XmlElement
|
||||
@XmlSerialName("lyric-font", "", "")
|
||||
var lyricFont: MXLyricFont? = null,
|
||||
@Serializable
|
||||
@XmlElement
|
||||
var appearance: MXAppearance? = null,
|
||||
)
|
||||
|
|
|
|||
|
|
@ -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,
|
||||
|
|
|
|||
|
|
@ -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", "", "")
|
||||
|
|
|
|||
|
|
@ -10,7 +10,7 @@ data class MXMidiInstrument (
|
|||
@Serializable
|
||||
@XmlElement
|
||||
@XmlSerialName("volume", "", "")
|
||||
var volume: Int? = null,
|
||||
var volume: Float? = null,
|
||||
@Serializable
|
||||
@XmlElement
|
||||
@XmlSerialName("midi-channel", "", "")
|
||||
|
|
|
|||
|
|
@ -21,7 +21,7 @@ data class MXNote (
|
|||
var lyric: List<MXLyric> = listOf(),
|
||||
@Serializable
|
||||
@XmlSerialName("default-x", "", "")
|
||||
var defaultX: Int? = null,
|
||||
var defaultX: Float? = null,
|
||||
@Serializable
|
||||
@XmlElement
|
||||
@XmlSerialName("pitch", "", "")
|
||||
|
|
|
|||
|
|
@ -1,4 +1,17 @@
|
|||
package mg.dot.feufaro.musicXML
|
||||
|
||||
class MXOtherAppearance {
|
||||
}
|
||||
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
|
||||
)
|
||||
|
|
|
|||
|
|
@ -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
|
||||
)
|
||||
|
|
|
|||
|
|
@ -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
|
||||
)
|
||||
|
|
|
|||
|
|
@ -13,5 +13,5 @@ data class MXStaffLayout (
|
|||
@Serializable
|
||||
@XmlElement
|
||||
@XmlSerialName("staff-distance", "", "")
|
||||
var staffDistance: Int? = null,
|
||||
var staffDistance: Float? = null,
|
||||
)
|
||||
|
|
|
|||
|
|
@ -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,
|
||||
)
|
||||
|
|
|
|||
|
|
@ -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,
|
||||
)
|
||||
|
|
|
|||
|
|
@ -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()
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue