tonus 0.1.6 → 0.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (161) hide show
  1. package/BIBLIOGRAPHY.md +132 -108
  2. package/CHANGELOG.md +610 -1
  3. package/LICENSE +133 -29
  4. package/README.md +106 -83
  5. package/dist/data/am.js +2669 -11196
  6. package/dist/data/ams.d.ts +5 -0
  7. package/dist/data/ams.js +122 -0
  8. package/dist/data/attestation.d.ts +19 -0
  9. package/dist/data/attestation.js +15716 -0
  10. package/dist/data/attestation.json +15711 -0
  11. package/dist/data/cadentiae.d.ts +43 -0
  12. package/dist/data/cadentiae.js +174 -0
  13. package/dist/data/cal.js +48 -0
  14. package/dist/data/census.d.ts +12 -0
  15. package/dist/data/census.js +36 -0
  16. package/dist/data/commune-office.d.ts +4 -0
  17. package/dist/data/commune-office.js +2371 -0
  18. package/dist/data/commune-office.json +2365 -0
  19. package/dist/data/commune.js +181 -11
  20. package/dist/data/corpus-overlap.d.ts +24 -0
  21. package/dist/data/corpus-overlap.js +347 -0
  22. package/dist/data/cot.d.ts +5 -0
  23. package/dist/data/cot.js +172 -0
  24. package/dist/data/cse.d.ts +5 -0
  25. package/dist/data/cse.js +122 -0
  26. package/dist/data/gabc-glyphs.d.ts +45 -0
  27. package/dist/data/gabc-glyphs.js +122 -0
  28. package/dist/data/gr.js +757 -6394
  29. package/dist/data/kyriale.js +116 -116
  30. package/dist/data/la.js +802 -13419
  31. package/dist/data/lh.js +116 -3473
  32. package/dist/data/lu.js +935 -17632
  33. package/dist/data/nocturnale-romanum.d.ts +5 -0
  34. package/dist/data/nocturnale-romanum.js +3772 -0
  35. package/dist/data/office-ferial.d.ts +4 -0
  36. package/dist/data/office-ferial.js +396 -0
  37. package/dist/data/office-ferial.json +391 -0
  38. package/dist/data/office-monastic.d.ts +17 -1
  39. package/dist/data/office-monastic.js +1403 -466
  40. package/dist/data/office-psalms-monastic.d.ts +13 -1
  41. package/dist/data/office-psalms-monastic.js +9 -0
  42. package/dist/data/propers.js +1 -1
  43. package/dist/data/psalms.js +22919 -5
  44. package/dist/data/psm.d.ts +5 -0
  45. package/dist/data/psm.js +122 -0
  46. package/dist/data/seasonal-respbreve.d.ts +5 -0
  47. package/dist/data/seasonal-respbreve.js +41 -0
  48. package/dist/data/seasonal-respbreve.json +35 -0
  49. package/dist/data/smufl-glyphs.d.ts +17 -0
  50. package/dist/data/smufl-glyphs.js +1546 -0
  51. package/dist/data/smufl-glyphs.json +1530 -0
  52. package/dist/engines/cal/calendar.d.ts +3 -2
  53. package/dist/engines/cal/calendar.js +105 -29
  54. package/dist/engines/cal/data/eras.d.ts +35 -0
  55. package/dist/engines/cal/data/eras.js +128 -0
  56. package/dist/engines/cal/date.js +44 -0
  57. package/dist/engines/cal/types.d.ts +15 -3
  58. package/dist/engines/cal/types.js +5 -5
  59. package/dist/engines/census/census.d.ts +7 -0
  60. package/dist/engines/census/census.js +179 -0
  61. package/dist/engines/census/types.d.ts +55 -0
  62. package/dist/engines/census/types.js +8 -0
  63. package/dist/engines/chant/attest.d.ts +39 -0
  64. package/dist/engines/chant/attest.js +90 -0
  65. package/dist/engines/chant/chant.d.ts +22 -4
  66. package/dist/engines/chant/chant.js +274 -14
  67. package/dist/engines/chant/data/compline.js +2 -1
  68. package/dist/engines/chant/data/masses.d.ts +56 -4
  69. package/dist/engines/chant/data/masses.js +305 -80
  70. package/dist/engines/chant/data/prime.js +1 -1
  71. package/dist/engines/chant/hour.js +279 -58
  72. package/dist/engines/chant/ordinary.d.ts +2 -0
  73. package/dist/engines/chant/ordinary.js +336 -56
  74. package/dist/engines/chant/propers.js +55 -5
  75. package/dist/engines/chant/psalm.d.ts +4 -4
  76. package/dist/engines/chant/psalm.js +25 -11
  77. package/dist/engines/chant/syllabify.d.ts +1 -0
  78. package/dist/engines/chant/syllabify.js +90 -17
  79. package/dist/engines/chant/types.d.ts +145 -10
  80. package/dist/engines/chant/types.js +38 -3
  81. package/dist/engines/harmonia/api.js +4 -0
  82. package/dist/engines/harmonia/data/doctrines.js +3 -1
  83. package/dist/engines/harmonia/tabula.d.ts +3 -0
  84. package/dist/engines/harmonia/tabula.js +1 -0
  85. package/dist/engines/harmonia/voice.d.ts +4 -0
  86. package/dist/engines/harmonia/voice.js +8 -4
  87. package/dist/engines/imprint.js +14 -1
  88. package/dist/engines/planet/orbital.js +4 -4
  89. package/dist/engines/planet/planet.d.ts +10 -0
  90. package/dist/engines/planet/planet.js +30 -3
  91. package/dist/engines/planet/position.js +13 -10
  92. package/dist/engines/planet/types.d.ts +1 -0
  93. package/dist/engines/score/api.d.ts +2 -13
  94. package/dist/engines/score/api.js +21 -8
  95. package/dist/engines/score/articulation.js +2 -2
  96. package/dist/engines/score/cadence.d.ts +76 -0
  97. package/dist/engines/score/cadence.js +96 -0
  98. package/dist/engines/score/emitters/accidentals.d.ts +21 -0
  99. package/dist/engines/score/emitters/accidentals.js +88 -0
  100. package/dist/engines/score/emitters/atramentum.d.ts +107 -0
  101. package/dist/engines/score/emitters/atramentum.js +239 -0
  102. package/dist/engines/score/emitters/breaking.d.ts +62 -0
  103. package/dist/engines/score/emitters/breaking.js +80 -0
  104. package/dist/engines/score/emitters/moderna.d.ts +38 -0
  105. package/dist/engines/score/emitters/moderna.js +612 -0
  106. package/dist/engines/score/emitters/svg.d.ts +143 -0
  107. package/dist/engines/score/emitters/svg.js +1328 -0
  108. package/dist/engines/score/emitters/tracks.d.ts +104 -0
  109. package/dist/engines/score/emitters/tracks.js +728 -0
  110. package/dist/engines/score/infer.d.ts +3 -3
  111. package/dist/engines/score/infer.js +2 -2
  112. package/dist/engines/score/inscriptio.d.ts +69 -0
  113. package/dist/engines/score/inscriptio.js +138 -0
  114. package/dist/engines/score/ir.d.ts +2 -2
  115. package/dist/engines/score/ir.js +59 -12
  116. package/dist/engines/score/lyric.d.ts +23 -0
  117. package/dist/engines/score/lyric.js +234 -0
  118. package/dist/engines/score/meta.d.ts +2 -2
  119. package/dist/engines/score/modulation.d.ts +12 -0
  120. package/dist/engines/score/modulation.js +49 -0
  121. package/dist/engines/score/neume.js +35 -4
  122. package/dist/engines/score/parse.js +150 -9
  123. package/dist/engines/score/phrasing.js +4 -3
  124. package/dist/engines/score/prosody.d.ts +38 -0
  125. package/dist/engines/score/prosody.js +70 -6
  126. package/dist/engines/score/tabula.d.ts +37 -5
  127. package/dist/engines/score/tabula.js +18 -0
  128. package/dist/engines/score/types.d.ts +88 -1
  129. package/dist/engines/temper/api.d.ts +4 -1
  130. package/dist/engines/temper/api.js +28 -5
  131. package/dist/engines/temper/data/guido.js +6 -2
  132. package/dist/engines/temper/data/modes.d.ts +6 -0
  133. package/dist/engines/temper/data/modes.js +42 -0
  134. package/dist/engines/temper/data/tones.d.ts +1 -1
  135. package/dist/engines/temper/data/tones.js +20 -11
  136. package/dist/engines/temper/interval.js +4 -3
  137. package/dist/engines/temper/modality.d.ts +11 -2
  138. package/dist/engines/temper/modality.js +74 -2
  139. package/dist/engines/temper/modes.d.ts +1 -1
  140. package/dist/engines/temper/pitch.d.ts +1 -1
  141. package/dist/engines/temper/pitch.js +12 -2
  142. package/dist/engines/temper/scale.d.ts +53 -0
  143. package/dist/engines/temper/scale.js +107 -8
  144. package/dist/index.d.ts +28 -6
  145. package/dist/index.js +39 -3
  146. package/docs/api/calendar.md +279 -0
  147. package/docs/api/census.md +288 -0
  148. package/docs/api/chant.md +657 -0
  149. package/docs/api/heavens.md +346 -0
  150. package/docs/api/index.md +263 -0
  151. package/docs/api/score.md +873 -0
  152. package/docs/api/tuning.md +619 -0
  153. package/package.json +11 -5
  154. package/dist/data/office-psalms-roman.d.ts +0 -15
  155. package/dist/data/office-psalms-roman.js +0 -28
  156. package/dist/data/office-roman.d.ts +0 -19
  157. package/dist/data/office-roman.js +0 -13792
  158. package/dist/engines/score/emitters/midi.d.ts +0 -65
  159. package/dist/engines/score/emitters/midi.js +0 -162
  160. package/dist/engines/score/emitters/musicxml.d.ts +0 -18
  161. package/dist/engines/score/emitters/musicxml.js +0 -166
@@ -0,0 +1,172 @@
1
+ export const COT_SOURCE = {
2
+ book: "Chants of the Church",
3
+ fullTitle: null,
4
+ edition: "Selected Gregorian Chants - Edited and Compiled by the monks of Solesmes",
5
+ year: 1956,
6
+ editor: "Solesmes",
7
+ scanSource: "Scans courtesy of the Church Music Association of America",
8
+ code: "cot",
9
+ };
10
+ export const COT_DATA = [
11
+ {
12
+ id: "gregobase:68",
13
+ incipit: "Veni Sancte Spiritus et emitte",
14
+ gabc: "(c4) VE(c)ni(d) San(e)cte(f) Spí(ed)ri(c)tus,(d.) (;) Et(f) e(g)mít(h)te(ixi) cǽ(hvGF')li(g)tus(h.) (;) Lu(c)cis(d) tu(f)æ(g) rá(fvED')di(c)um.(d.) (::) \r\nVe(c)ni(d) pa(e)ter(f) páu(ed)pe(c)rum,(d.) (;) Ve(f)ni(g) da(h)tor(ixi) mú(hvGF')ne(g)rum,(h.) (;) Ve(c)ni(d) lu(f)men(g) cór(fvED')di(c)um.(d.) (::) \r\nCon(h)so(j)lá(k)tor(k) ó(ji)pti(j)me,(k.) (;) Dul(j)cis(h) ho(ji)spes(g) á(fe)ni(d)mæ,(c.) (;) Dul(g)ce(f) re(gh)fri(g)gé(fvED')ri(c)um.(d.) (::) \r\nIn(h) la(j)bó(k)re(k) ré(ji)qui(j)es,(k.) (;) In(j) æ(h)stu(ji) tem(g)pé(fe)ri(d)es,(c.) (;) In(g) fle(f)tu(gh) so(g)lá(fvED')ti(c)um.(d.) (::) \r\nO(k) lux(k) be(ji)a(j)tís(kj)si(i)ma,(h.) (;) Re(f)ple(d) cor(c)dis(d) ín(f)ti(g)ma(f.) (;) Tu(gh)ó(ixi)rum(h) fi(g)dé(fvED')li(c)um.(d.) (::) \r\nSi(k)ne(k) tu(ji)o(j) nú(kj)mi(i)ne,(h.) (;) Ni(f)hil(d) est(c) in(d) hó(f)mi(g)ne,(f.) (;) Ni(gh)hil(ixi) est(h) in(g)nó(fvED')xi(c)um.(d.) (::) \r\nLa(h)va(j) quod(ih) est(i) sór(ji)di(h)dum,(g.) (;) Ri(h)ga(h) quod(fe) est(f) á(gf)ri(e)dum,(d.) (;) Sa(e)na(g) quod(h) est(g) sáu(j)ci(i)um.(h.) (::) \r\nFle(h)cte(j) quod(ih) est(i) rí(ji)gi(h)dum,(g.) (;) Fo(h)ve(h) quod(fe) est(f) frí(gf)gi(e)dum,(d.) (;) Re(e)ge(g) quod(h) est(g) dé(j)vi(i)um.(h.) (::) \r\nDa(k) tu(k)is(g) fi(h)dé(j)li(i)bus,(h.) (;) In(h) te(ixi) con(hg)fi(h)dén(f)ti(g)bus,(f.) (;) Sa(e)crum(g) se(h)pte(d)ná(f)ri(e)um.(d.) (::) \r\nDa(k) vir(k)tú(g)tis(h) mé(j)ri(i)tum,(h.) (;) Da(h) sa(ixi)lú(hg)tis(h) éx(f)i(g)tum,(f.) (;) Da(e) per(g)én(h)ne(d) gáu(f)di(e)um.(d.) (::) \r\n\r\nA(ded)men.(cd..) (,) Al(c)le(f)lú(ed~){ia}.(d.) (::)",
15
+ office: "se",
16
+ mode: "1",
17
+ pages: [
18
+ { page: "158", sequence: 1, extent: 3 }
19
+ ],
20
+ },
21
+ {
22
+ id: "gregobase:241",
23
+ incipit: "Lux aeterna",
24
+ gabc: "(c4) LUX(h) ae(gf)tér(gh)na(g.) (,) * lú(h)ce(j)at(i) e(j)is,(h) Dó(g)mi(fg)ne :(g.) (:) * Cum(h) san(j)ctis(i) tu(j)is(h) in(i) ae(j)tér(h)num,(ghg.) (,) qui(e)a(f) pi(gh)us(h) es.(g.) (::) <sp>V/</sp>. Ré(g)qui(h)em(j) ae(j)tér(j)nam(j) do(j)na(j) e(j)is(k) Dó(k)mi(j)ne,(j.) (;) et(h) lux(j) per(j)pé(j)tu(j)a(j) lú(j)ce(i)at(j) e(h)is.(g.) (::) * Cum(h) san(j)ctis(i) tu(j)is(h) in(i) ae(j)tér(h)num,(ghg.) (,) qui(e)a(f) pi(gh)us(h) es.(g.) (::)",
25
+ office: "co",
26
+ mode: "8",
27
+ pages: [
28
+ { page: "70", sequence: 1, extent: 1 }
29
+ ],
30
+ },
31
+ {
32
+ id: "gregobase:376",
33
+ incipit: "Libera me Domine de morte",
34
+ gabc: "(c4) LI(d)be(dc)ra(d) me,(f.) Dó(ed/efd)mi(cd)ne,(d.) *(,) de(ef'g) mor(gf~)te(d') ae(f)tér(ed/ffd)na,(d.) (;) in(dec~) di(d)e(dg) il(g)la(gf'fe) tre(dc)mén(de!fvE~C~)da :(dc..) (:) * Quan(cd~)do(d) cae(ef'g)li(gvFE.) mo(ixeg/hig')vén(f)di(ef) sunt(d.) (,) et(deD'C) ter(d!ewf)ra :(ed..) (:) \r\n+ Dum(h) vé(ixhghf.0/g/higfvED)ne(ed)ris(d.) (,) ju(h)di(hg)cá(hjI'G)re(ghGF'ED.) saé(ef/gefe)cu(cd)lum(d.) (,) per(cfe/fg) i(g_[oh:h]c/d!ewf)gnem.(ed..) (::) \r\n<sp>V/</sp>. Tre(f)mens(e) fa(f')ctus(e) sum(d') e(e)go,(d.) (,) et(dc) tí(d!ewfe)me(dc)o,(c.) (;) dum(e) dis(f)cús(g')si(f)o(e') vé(f)ne(ed)rit,(d.) (,) at(dedd)que(c) ven(eg~)tú(ge)ra(fe) i(cd)ra.(d.) (::) * Quan(cd~)do(d) cae(ef'g)li(gvFE.) mo(ixeg/hig')vén(f)di(ef) sunt(d.) (,) et(deD'C) ter(d!ewf)ra.(ed..) (::) \r\n<sp>V/</sp>. Di(f)es(e') il(f)la,(d'_) di(e)es(dc) i(de)rae,(d.) (,) ca(d)la(e')mi(f)tá(g)tis(gh) et(gf~) mi(d')sé(f)ri(gf)ae,(f.) (;) di(e')es(f) ma(g)gna(f.) (,) et(fe) a(dc)má(d')ra(f) val(evD~C~)de.(d.) (::) + Dum(h) vé(ixhghf.0/g/higfvED)ne(ed)ris(d.) (,) ju(h)di(hg)cá(hjI'G)re(ghGF'ED.) saé(ef/gefe)cu(cd)lum(d.) (,) per(cfe/fg) i(g_[oh:h]c/d!ewf)gnem.(ed..) (::) \r\n<sp>V/</sp>. Ré(f)qui(e)em(f) ae(d')tér(e)nam(d.) (,) do(d)na(e) e(f)is(g) Dó(gf)mi(dc)ne :(c.) (;) et(fh) lux(hg) per(f)pé(g)tu(fe)a(d.) (,) lú(dc)ce(e)at(fe) e(d.)is.(d.) (::)",
35
+ office: "re",
36
+ mode: "1",
37
+ pages: [
38
+ { page: "70", sequence: 3, extent: 3 }
39
+ ],
40
+ },
41
+ {
42
+ id: "gregobase:497",
43
+ incipit: "Asperges me",
44
+ gabc: "(c2) A(cd)SPER(fvED)GES(ef) me,(g.) (,) * Dó(h!iwj)mi(ji)ne,(hg) (,) hys(h)só(g_[oh:h]f)po,(ef) et(gvFD') mun(e)dá(cdc___)bor :(c.) (:) la(cd)vá(fvED)bis(ef) me,(g.) (;) et(g!hw!ivHG) su(fe)per(d') ni(f)vem(ef) de(gvFD')al(e)bá(cdc___)bor.(c.) (::) <i>Ps.~50.</i> Mi(cfe)se(fg)ré(g')re(g) me(gi)i,(h) De(hg)us,(gh..) *(:) se(ge)cún(fg~)dum(g') ma(g)gnam(g') mi(g)se(g')ri(g)cór(g!hwi)di(g')am(f) tu(fff)am.(dc..) (::) Gló(cfe)ri(fg)a(g) Pa(g)tri,(g') et(g) Fí(g)li(g)o,(g.) (,) et(g) Spi(g)rí(gi)tu(h')i(h) San(hg~)cto :(gh..) *(:) Sic(ge)ut(fg) e(g)rat(g') in(g) prin(g)cí(g')pi(g)o,(g.) (,) et(g) nunc,(gi) et(h) sem(hg~)per,(gh..) (:) et(ge) in(fg) saé(g)cu(g)la(g') sae(g)cu(g!hwi)ló(g')rum.(f) A(fff)men.(dc..) (::)",
45
+ office: "an",
46
+ mode: "7",
47
+ pages: [
48
+ { page: "1", sequence: 1, extent: 2 }
49
+ ],
50
+ },
51
+ {
52
+ id: "gregobase:766",
53
+ incipit: "Requiem (Intr.)",
54
+ gabc: "(c4) RE(ffg)qui(f)em(f) *() ae(fg'h)tér(hggfg)nam(gf..) (;) do(fg'h)na(hg) e(h)is(ixhjHG'hw!ivHG') <nlba>Dó(f)mi(fg!hvGF'g)ne :</nlba>(gf..) (:) et(hg~) lux(hvGF') per(h)pé(gh)tu(gf)a(f.) (;) lú(hg)ce(h)at(ixhjHG'hw!ivHG) e(fg!hvGF'g)is.(gf..) (::) <i>Ps.</i> Te(fg) de(gf)cet(gh) hy(h)mnus(h) De(h)us(h) in(h) Si(g)on,(h.) (;) et(f) ti(g)bi(h) red(h)dé(h)tur(h) vo(h)tum(h) in(h) Je(g)rú(ixi)sa(g)lem :(h.) *(:) ex(f)áu(gh~)di(h) o(h)ra(h)ti(h)ó(h)nem(h) me(h)am,(h.) (;) ad(h) te(h) o(h)mnis(h) ca(f)ro(gh) vé(g)ni(f)et.(f.) (::) Ré(ffg)qui(f)em.(f) (::)",
55
+ office: "in",
56
+ mode: "6",
57
+ pages: [
58
+ { page: "60", sequence: 1, extent: 2 }
59
+ ],
60
+ },
61
+ {
62
+ id: "gregobase:958",
63
+ incipit: "Vidi aquam",
64
+ gabc: "(c3) VI(ef)di(fd/fe) a(efe___)quam(e.) <clear>*(,) e(e)gre(ef/hg)di(gf)én(hh)tem(fg) de(ef) tem(e!hh/if~)plo,(fe/fgf.) (;) a(ef) lá(e!hhi)te(f)re(fe) dex(f/hef)tro,(ed..) (;) al(e)le(efde)lú(ef/hfg){ia} :(fe..) (:) et(ef) o(e!fwg'!hv)mnes,(h') ad(h) quos(h) per(gf~)vé(gh)nit(g.) (,) a(hhhg)qua(fi) i(h_g)sta,(hiH'GhvG'FEfe..) (;) sal(e!hhhi)vi(h) fa(h!iwji)cti(hvGF) sunt,(f.) (,) et(fe~) di(f/hef)cent,(ed..) (;) al(ef)le(f)lú(fgf~){ia},(f.) (,) al(fvE~D~)le(ef/h.f!gwh)lú(efe___){ia}.(e.) (::) \r\n<i>Ps. 117.</i> Con(e)fi(fe)té(eh)mi(h)ni(h') Dó(h)mi(h)no(h) quó(hg)ni(hi)am(i) bo(hi)nus :(h.) *(:) quó(hf)ni(fh)am(h) in(h) saé(h')cu(h)lum(h) mi(h)se(h)ri(h)cór(hhg)di(ef)a(hg) e(f)jus.(e.) (::) \r\nGló(e)ri(fe)a(eh) Pa(h)tri,(h') et(h) Fí(h)li(h)o,(h.) (,) et(h) Spi(h)rí(hg)tu(hi)i(i) San(hi)cto.(h.) *(:) Sic(hf)ut(fh) e(h)rat(h') in(h) prin(h)cí(h')pi(h)o,(h.) (,) et(hg) nunc,(hi) et(i) sem(hi)per,(h.) (:) et(hf) in(fh) saé(h)cu(h)la(h') sae(h)cu(hhg)ló(ef)rum.(hg) A(f)men.(e.) (::)",
65
+ office: "an",
66
+ mode: "8",
67
+ pages: [
68
+ { page: "2", sequence: 1, extent: 2 }
69
+ ],
70
+ },
71
+ {
72
+ id: "gregobase:1086",
73
+ incipit: "Victimae paschali",
74
+ gabc: "(c4) VI(d)cti(c)mae(d) pa(f)schá(g)li(f) lau(e)des(d.) <clear>*(,) ím(h)mo(g)lent(e) Chri(g)sti(f)á(e)ni.(d.) (::) A(h)gnus(j) red(k)é(h)mit(g) o(h)ves :(h.) (;) Chri(h)stus(g) ín(h)no(g)cens(f) Pa(e)tri(d.) (,) re(f)con(g)ci(d)li(e)á(d)vit(c.) pec(e)ca(f)tó(e)res.(d.) (::) Mors(h) et(j) vi(k)ta(h) du(g)él(h)lo(h.) (,) con(h)fli(g)xé(h)re(g) mi(f)rán(e)do :(d.) (;) dux(f) vi(g)tae(d) mór(e)tu(d)us,(c.) re(e)gnat(f) vi(e)vus.(d.) (::) Dic(a) no(c)bis(d) Ma(f)rí(g)a,(e_[oh:h]d) (,) quid(c) vi(f)dí(e)sti(d) in(e) vi(c)a?(d.) (::) Se(f)púl(h)crum(g) Chri(h)sti(f) vi(g)vén(fe~)tis,(d.) (;) et(d) gló(g)ri(f)am(g) vi(h)di(g) re(f)sur(g)gén(fe~)tis :(d.) (::) An(a)gé(c)li(d)cos(f) te(g)stes,(e_[oh:h]d) (,) su(c)dá(f)ri(e)um,(d) et(e) ve(c)stes.(d.) (::) Sur(f)ré(h)xit(g) Chri(h)stus(f) spes(g) me(fe)a :(d.) (;) prae(d)cé(g)det(f) su(g)os(h) in(g) Ga(f)li(g)laé(fe)am.(d.) (::) Sci(h)mus(j) Chri(k)stum(h) sur(h)re(g)xís(h)se(h.) (,) a(h) mór(j)tu(g)is(f) ve(e)re :(d.) (;) tu(c) no(f)bis,(e) vi(g)ctor(h) Rex,(h.) (,) mi(f)se(g)ré(fe)re.(d.) (::) A(ded)men.(cd..) (,) Al(c)le(f)lú(ed~){ia}.(d.) (::)",
75
+ office: "se",
76
+ mode: "1",
77
+ pages: [
78
+ { page: "162", sequence: 1, extent: 2 }
79
+ ],
80
+ },
81
+ {
82
+ id: "gregobase:1198",
83
+ incipit: "Dies irae",
84
+ gabc: "(c4) DI(f)es(e) i(f)rae,(d) di(e)es(c) il(d)la,(d.) (;) Sol(f)vet(fg) sae(fe)clum(dc) in(e) fa(f)víl(e)la :(d.) (;) Te(a)ste(cd) Da(d)vid(dc) cum(e) Si(f)býl(e)la.(d.) (::) \r\nQuan(f)tus(e) tre(f)mor(d) est(e) fu(c)tú(d)rus,(d.) (;) Quan(f)do(fg) ju(fe)dex(dc) est(e) ven(f)tú(e)rus,(d.) (;) Cun(a)cta(cd) stri(d)cte(dc) dis(e)cus(f)sú(e)rus!(d.) (::) \r\nTu(h)ba(j) mi(j)rum(igh) spar(hvGF)gens(g) so(h)num(hd..) (;) Per(f) se(e)púl(f)cra(d) re(e)gi(c)ó(d)num,(d.) (;) Co(f)get(gh) o(hvGF)mnes(evDC) an(e)te(f) thro(e)num.(d.) (::) \r\nMors(h) stu(j)pé(j)bit(igh) et(hvGF) na(g)tú(h)ra,(hd..) (;) Cum(f) re(e)súr(f)get(d) cre(e)a(c)tú(d)ra,(d.) (;) Ju(f)di(gh)cán(hvGF)ti(evDC) re(e)spon(f)sú(e)ra.(d.) (::) \r\nLi(h)ber(gf) scri(g)ptus(h_d) pro(dc)fe(a)ré(cd)tur,(d.) (;) In(fe) quo(d) to(c)tum(a) con(c)ti(d)né(f)tur,(ecd.) (;) Un(h)de(f) mun(g)dus(d) ju(c)di(d)cé(f)tur.(ecd.) (::) \r\nJu(h)dex(gf) er(g)go(h_d) cum(dc) se(a)dé(cd)bit,(d.) (;) Quid(fe)quid(d) la(c)tet(a) ap(c)pa(d)ré(f)bit :(ecd.) (;) Nil(h) in(f)úl(g)tum(d) re(c)ma(d)né(f)bit.(ecd.) (::) \r\nQuid(f) sum(e) mi(f)ser(d) tunc(e) di(c)ctú(d)rus?(d.) (;) Quem(f) pa(fg)tró(fe)num(dc) ro(e)ga(f)tú(e)rus?(d.) (;) Cum(a) vix(cd) ju(d)stus(dc) sit(e) se(f)cú(e)rus.(d.) (::) \r\nRex(f) tre(e)mén(f)dae(d) ma(e)je(c)stá(d)tis,(d.) (;) Qui(f) sal(fg)ván(fe)dos(dc) sal(e)vas(f) gra(e)tis,(d.) (;) Sal(a)va(cd) me,(d) fons(dc) pi(e)e(f)tá(e)tis.(d.) (::) \r\nRe(h)cor(j)dá(j)re(igh) Je(hvGF)su(g) pi(h)e,(hd..) (;) Quod(f) sum(e) cau(f)sa(d) tu(e)ae(c) vi(d)ae :(d.) (;) Ne(f) me(gh) per(hvGF)das(evDC) il(e)la(f) di(e)e.(d.) (::) \r\nQuae(h)rens(j) me,(j) se(igh)dí(hvGF)sti(g) las(h)sus :(hd..) (;) Red(f)e(e)mí(f)sti(d) cru(e)cem(c) pas(d)sus :(d.) (;) Tan(f)tus(gh) la(hvGF)bor(evDC) non(e) sit(f) cas(e)sus.(d.) (::) \r\nJu(h)ste(gf) ju(g)dex(h_d) ul(dc)ti(a)ó(cd)nis,(d.) (;) Do(fe)num(d) fac(c) re(a)mis(c)si(d)ó(f)nis,(ecd.) (;) An(h)te(f) di(g)em(d) ra(c)ti(d)ó(f)nis.(ecd.) (::) \r\nIn(h)ge(gf)mí(g)sco,(h_d) tam(dc)quam(a) re(cd)us :(d.) (;) Cul(fe)pa(d) ru(c)bet(a) vul(c)tus(d) me(f)us :(ecd.) (;) Sup(h)pli(f)cán(g)ti(d) par(c)ce(d) De(f)us.(ecd.) (::) \r\nQui(f) Ma(e)rí(f)am(d) ab(e)sol(c)ví(d)sti,(d.) (;) Et(f) la(fg)tró(fe)nem(dc) ex(e)au(f)dí(e)sti,(d.) (;) Mi(a)hi(cd) quo(d)que(dc) spem(e) de(f)dí(e)sti.(d.) (::) \r\nPre(f)ces(e) me(f)ae(d) non(e) sunt(c) di(d)gnae :(d.) (;) Sed(f) tu(fg) bo(fe)nus(dc) fac(e) be(f)ní(e)gne,(d.) (;) Ne(a) per(cd)én(d)ni(dc) cre(e)mer(f) i(e)gne.(d.) (::) \r\nIn(h)ter(j) o(j)ves(igh) lo(hvGF)cum(g) prae(h)sta,(hd..) (;) Et(f) ab(e) hae(f)dis(d) me(e) se(c)qué(d)stra,(d.) (;) Stá(f)tu(gh)ens(hvGF) in(evDC) par(e)te(f) dex(e)tra.(d.) (::) \r\nCon(h)fu(j)tá(j)tis(igh) ma(hvGF)le(g)dí(h)ctis,(hd..) (;) Flam(f)mis(e) á(f)cri(d)bus(e) ad(c)dí(d)ctis :(d.) (;) Vo(f)ca(gh) me(hvGF) cum(evDC) be(e)ne(f)dí(e)ctis.(d.) (::) \r\nO(h)ro(gf) sup(g)plex(h_d) et(dc) ac(a)clí(cd)nis,(d.) (;) Cor(fe) con(d)trí(c)tum(a) qua(c)si(d) ci(f)nis :(ecd.) (;) Ge(h)re(f) cu(g)ram(d) me(c)i(d) fi(f)nis.(ecd.) (::) \r\nLa(d)cri(h)mó(ixhi)sa(h) di(g)es(fe) il(g)la,(h.) (;) Qua(f) re(e)súr(g)get(h.) ex(dfED'C) fa(f)víl(e)la,(d.) (::) \r\nJu(h)di(j)cán(k)dus(jvIH) ho(hvGF)mo(g) re(h)us :(hd..) (;) Hu(f)ic(e) er(g)go(h.) par(dfED'C)ce(f) De(e)us.(d.) (::) \r\nPi(h)e(g) Je(f)su(e) Dó(g)mi(g)ne,(h.) (;) do(f)na(e) e(g)is(ede) ré(f)qui(e)em.(d.) (::) \r\nA(ce!fvED)men.(cd..) (::)",
85
+ office: "se",
86
+ mode: "1",
87
+ pages: [
88
+ { page: "63", sequence: 1, extent: 5 }
89
+ ],
90
+ },
91
+ {
92
+ id: "gregobase:1199",
93
+ incipit: "Domine Jesu Christe (Off.)",
94
+ gabc: "(f3) DO(f)mi(ef)ne(f) Je(f)su(fe) Chri(f)ste,(fhffe.) (,) * Rex(hv.ghi) gló(gfh./ghf/gf)ri(ef)ae,(fhffe.) (;) lí(g)be(ef)ra(f) á(fg)ni(f)mas(f.) (,) ó(fg~)mni(f)um(f) fi(g)dé(gfh)li(fge)um(e) de(efh)fun(gh)ctó(f_[oh:h]g_[oh:h]f_[oh:h])rum(f.) (;) de(f) poe(ef)nis(f) in(f)fér(f!gwh_f)ni,(f.) (,) et(g) de(e) pro(f)fún(h)do(g) la(f_[oh:h]g_[oh:h]f_[oh:h])cu :(f.) (:) lí(g)be(e)ra(f) e(h)as(hg) de(f) o(g)re(f) le(i)ó(ivvHF'E)nis,(f!gwhg.) (;) ne(e) ab(f)sór(h)be(g)at(f) e(g)as(f.) tár(ghf)ta(ef)rus,(f.) (;) ne(f) ca(f)dant(ec~) in(e) ob(fg)scú(g.f!gwh_f)rum :(f.) (:) sed(f.g!hwi) sí(hg~)gni(fg)fer(g.) san(gf~)ctus(f!gwhg) Mí(fgf)cha(ef)el(f.) (;) re(f)prae(f)sén(hg~)tet(hi) e(ivvHF'E)as(fg..) (,) in(eg~) lu(g.f!gwh)cem(gf~) san(eg/hf~)ctam :(f.) (:) *~Quam(f) o(f)lim(ec~) A(e)bra(fg)hae(gf) pro(h)mi(hg)sí(fg)sti,(ffe.) (;) et(hi) sé(gf//hiHF'fe.//fhg/hig,fhg)mi(fge)ni(e_[oh:h]c) e(e!fwg/hf~)jus.(f.) (::) \r\n\r\n<sp>V/</sp>.~Hó(e)sti(fh)as(hhg) et(fe~) pre(fh)ces(hhg.) (,) ti(e)bi(fh) Dó(h)mi(fgF'E)ne(e.) (,) lau(gf~)dis(gh) of(gf)fé(e)ri(ef)mus :(f.) (:) tu(f.g!hwi) sús(hg)ci(fg)pe(g.) (,) pro(f) a(f)ni(e)má(fh)bus(ghg) il(f.)lis,(f.) (;) qua(ih)rum(iji') hó(h)di(gh)e(f.) (,) me(f)mó(fe)ri(f)am(hg) fá(fg)ci(fe)mus :(e.) (:) fac(fg) e(e)as,(ec) Dó(e)mi(ef)ne,(f.) (,) de(h) mor(gff)te(e) trans(ghi~)í(iih)re(gf) ad(ghg) vi(f.)tam.(f.) (::)\r\n\r\n*~Quam(f) o(f)lim.(ec~) (::)",
95
+ office: "of",
96
+ mode: "2",
97
+ pages: [
98
+ { page: "67", sequence: 1, extent: 2 }
99
+ ],
100
+ },
101
+ {
102
+ id: "gregobase:1261",
103
+ incipit: "Requiem",
104
+ gabc: "(c3) RE(egf)qui(f)em(f.) *() ae(f)tér(hfghvF'Ege/fg)nam(f.) (;) do(hf/hi'j)na(hvGF') e(f)is(gxfegvFE.) (,) Dó(ed/fef)mi(fef)ne :(fd/ef!hvvF'E//f!gwh/ihh/fgf.) (:) et(hh) lux(h) per(h)pé(hg/hi!jvHGhhg)(,)(i_[oh:h]hivHF')tu(f)a(fhF'Efhhf//hvvGF'heed.0) (:) lú(de'fhvGF'g)ce(e)at(f) e(hf/h_i)is.(ih/ijI'H) (,) (jh/jkIG'hvF'E//f!gwh!iv.hi'j) (,) (ijijHF'gwhf.1) (::) <sp>V/</sp>. In(f) me(h)mó(hi)ri(i)a(i) ae(ij)tér(jvI'HG'hvF'E)(,)(ge/f!hh/ijij.)(,)(hj!kvIG'hvF'E//fgF'Ef.)(,)(i!jwk_[oh:h+1mm]jkvJI'j)na(ji..) (:) e(i!jw!kvJI'jw!kvJI)rit(ij) ju(j_hjvIH'hf//hhfhv.hhh_f)(,)(hi!jvIHjvIHif)stus :(f.) (:) ab(hh) au(h)di(h)ti(h)ó(h)ne(hi) ma(ivH'GE//fhGEfh..)(,)(gi!jvHF)la(fhF'Efhhf//hvvGF'heed.0) (:) * non(de'fhvGF'g) ti(ef)mé(hf/h_i)bit.(i_[uh:l]jH'Ghi..) (,) (ef'hh'jIH'GF'gwhf.1) (::)",
105
+ office: "gr",
106
+ mode: "2",
107
+ pages: [
108
+ { page: "61", sequence: 2, extent: 2 }
109
+ ],
110
+ },
111
+ {
112
+ id: "gregobase:1851",
113
+ incipit: "Alma Redemptoris (simple tone)",
114
+ gabc: "(c4) A<sc>l</sc>(c_0!ef/gh)ma(g.) *() Red(g)em(g')ptó(h)ris(i') Ma(j)ter,(g.) (;) quae(e) pér(e')vi(e)a(f') cae(e)li(d') por(e)ta(f') ma(h)nes,(g.) (;) Et(h) stel(j)la(i') ma(h)ris,(g.) (;) suc(e)cúr(f')re(e) ca(d')dén(e)ti(g.) (;) súr(e)ge(f)re(g') qui(h) cu(j')rat(i) pó(k')pu(j)lo :(j.) (:) Tu(j) quae(i') ge(j)nu(j')í(k)sti,(g'_[oh:h]) (;) na(j)tú(i')ra(h) mi(g')rán(f)te,(e.) (;) tu(e)um(e) san(h')ctum(g) Ge(f')ni(e)tó(de)rem :(fe..) (:) Vir(j)go(i') pri(h)us(g'_[oh:h]) ac(h) po(g)sté(e')ri(f)us,(g.) (;) Ga(h)bri(h)é(j')lis(h) ab(g') o(f)re(e'_[oh:h]) (;) su(f)mens(e') il(g)lud(g') A(h)ve,(g.) (;) pec(j)ca(i')tó(j)rum(hg) mi(h)se(f)ré(ed)re.(c.) (::)\r\n",
115
+ office: "an",
116
+ mode: "5",
117
+ pages: [
118
+ { page: "83", sequence: 1, extent: 1 }
119
+ ],
120
+ },
121
+ {
122
+ id: "gregobase:2153",
123
+ incipit: "Ave Regina caelorum (simple tone)",
124
+ gabc: "(c4) A(f)ve(e') Re(d)gí(c')na(d) cæ(f')ló(g)rum,(f.) *(;) A(h')ve(j) Dó(ixi')mi(g)na(h') An(g)ge(f')ló(h)rum :(g.) (;) Sal(f)ve(e') ra(d)dix,(c') sal(d)ve(f') por(g)ta,(f'_) (;) Ex(h) qua(g') mun(ixi)do(h') lux(g) est(d') or(g)ta :(f.) (:) Gau(f)de(g') Vir(h)go(h') glo(g)ri(h')ó(ixi)sa,(h'_) (;) Su(j)per(ixi') o(h)mnes(g') spe(f)ci(d')ó(g)sa :(f.) (:) Va(ixi)le,(h') o(g) val(ixi)de(h') de(g)có(f!gwh)ra,(h.) (;) Et(j) pro(ixi) no(ixi!jk)bis(h'_) Chri(h)stum(g') ex(f)ó(gg)ra.(f.) (::)",
125
+ office: "an",
126
+ mode: "6",
127
+ pages: [
128
+ { page: "88", sequence: 1, extent: 1 }
129
+ ],
130
+ },
131
+ {
132
+ id: "gregobase:2290",
133
+ incipit: "Regina caeli (simple tone)",
134
+ gabc: "(c4) RE(f)gí(g)na(f') cæ(g)li(h.) * læ(ixi)tá(h)re,(g'_[oh:h]) al(ixi)le(h')lú(g){ia} :(f.) (;) Qui(f)a(j'_) quem(j) me(k')ru(j)í(ixi')sti(h) por(f')tá(g)re,(h'_) al(ixi)le(h')lú(g){ia} :(f.) (:) Re(j)sur(j')ré(k)xit,(j'_) sic(j)ut(f') di(g)xit,(f'_) <nlba>al(g)le(h')lú(ixi){ia} :</nlba>(j.) (;) O(j)ra(f) pro(g') no(ixi)bis(h') De(g)um,(f.) al(e)le(g)lú(gg){ia}.(f.) (::)\r\n",
135
+ office: "an",
136
+ mode: "6",
137
+ pages: [
138
+ { page: "132", sequence: 1, extent: 1 }
139
+ ],
140
+ },
141
+ {
142
+ id: "gregobase:2435",
143
+ incipit: "Salve Regina (simple tone)",
144
+ gabc: "(c4) SAl(c)ve,(e) Re(g')gí(h)na,(g.) *(,) má(h)ter(j') mi(i)se(h)ri(g)cór(h')di(g)æ :(g.) (;) Ví(j)ta,(g') dul(h)cé(ff)do,(d.) (,) et(e) spes(f) nó(g')stra,(e) sál(ed)ve.(c.) (::) Ad(g) te(h) cla(i')má(j)mus,(g.) (,) éx(h)su(i)les,(j) fí(i')li(h)i(g') Hé(h)væ.(g.) (::) Ad(j) te(g') sus(h)pi(f')rá(d)mus,(e'_[oh:h]) (,) ge(e)mén(g')tes(h) et(j') flén(h)tes(g'_[oh:h]) (,) in(h) hac(g') la(f)cri(e')má(d)rum(e') vál(d)le.(c.) (::) E(g){ia}(h') er(i)go,(j'_) (,) Ad(g)vo(h')cá(j)ta(i') nó(h)stra,(g.) (;) íl(j)los(g') tú(h)os(f'_) mi(d)se(e')ri(f)cór(g')des(f) ó(h')cu(g)los(g'_[oh:h]) (`) ad(f) nos(e') con(d)vér(ed)te.(c.) (::) Et(g) Jé(hi)sum,(jj) (,) be(i)ne(g')dí(h)ctum(g') frú(g)ctum(h') vén(j)tris(i') tú(h)i,(g.) (;) no(c)bis(g'_[oh:h]) post(h) hoc(j') ex(i)sí(h')li(g)um(e'_[oh:h]) os(f)tén(ed)de.(c.) (::) O(e!fwg) clé(ee)mens :(c.) (::) O(g!hwi/ji) pí(hg)a :(g.) (::) O(jjj//ghf'fd) dúl(ef)cis(g'_[oh:h]) *(,) Vir(c)go(f') Ma(e)rí(dc)a.(c.) (::)",
145
+ office: "an",
146
+ mode: "5",
147
+ pages: [
148
+ { page: "138", sequence: 1, extent: 2 }
149
+ ],
150
+ },
151
+ {
152
+ id: "gregobase:2885",
153
+ incipit: "O gloriosa virginum",
154
+ gabc: "(c4) O(h) glo(h_g)ri(ed)ó(g)sa(hj) Vír(ji)gi(h)num(i.) (;) Sub(hk)lí(k)mis(i) in(ji)ter(h) sí(ih)de(g)ra :(h.) (:) Qui(k) te(k') cre(i)á(k)vit,(klk) pár(ji)vu(hi)lum(ivHG.) (;) La(ji)ctén(jk)te(i) nu(ji)tris(h) ú(ih)be(g)re.(h.) (::) ",
155
+ office: "hy",
156
+ mode: "2",
157
+ pages: [
158
+ { page: "121", sequence: 1, extent: 1 }
159
+ ],
160
+ },
161
+ {
162
+ id: "gregobase:3026",
163
+ incipit: "Ecce sacerdos",
164
+ gabc: "(c4) EC(f!gh)ce(g.) *() sa(g)cér(g)dos(g/hi) ma(h)gnus,(hg/h!iw/jg/hggf.0) (;) qui(f) in(g) di(h)é(hj)bus(hg) su(hvGFgh)is(g.) (;) plá(gh)cu(g)it(g.h!iw!jvIH'iw!jvIH) De(gh!ivHG'h)o :(hg..) *(:) Id(jjk)e(j)o(j.) ju(k)re(jji)ju(hg)rán(g./hjhivH~G~)do(hg..) (;) fe(f)cit(gh) il(hg)lum(fg) Dó(g)mi(g.e!fwg)nus(ghffvED.dgF'EfvED.) (;) cré(d)sce(dg)re(gh) in(gf) ple(g)bem(g.h!iw!jvIH'iw!jvIH) su(gh!ivHG'h)am.(hg..) (::) <i>T. P.</i> Al(g)le(ghfg)lú(gh/jhi){ia}(hg..) (::) <sp>V/</sp>. Be(gj)ne(j)di(j)cti(j)ó(ji)nem(jkJI'jvIH'Gh_g_) (`) ó(hi)mni(i)um(ih~) gén(jk~)ti(j)um(ih~) de(ij)dit(hi) il(g!hwi_[oh:h]h)li,(hg..) (:) et(g) te(fg)sta(g)mén(g)tum(g) su(g)um(g.) (,) con(g)fir(g)má(gh)vit(g) su(g)per(hjH'Ghih) ca(gf)put(gh) e(hji/jkJ'IH)jus.(hiH'Ghg..) (::) * Id(jjk)e(j)o.(j.) (::) Gló(gj)ri(ji)a(jkJI'jvIH'Ghg..) Pa(ih)tri,(ij) et(hi) Fí(g)li(g!hwi_[oh:h]h)o,(hg..) (:) et(g) Spi(g)rí(hjH'Ghih)tu(gf)i(gh) San(hji/jkJ'IH)cto.(hiH'Ghg..) (::) * Id(jjk)e(j)o.(j.) (::)",
165
+ office: "re",
166
+ mode: "8",
167
+ pages: [
168
+ { page: "97", sequence: 1, extent: 2 }
169
+ ],
170
+ }
171
+ ];
172
+ //# sourceMappingURL=cot.js.map
@@ -0,0 +1,5 @@
1
+ import type { Chant } from "./types.js";
2
+ import type { ChantData } from "./gr.js";
3
+ export declare const CSE_SOURCE: Chant["source"];
4
+ export declare const CSE_DATA: ChantData[];
5
+ //# sourceMappingURL=cse.d.ts.map
@@ -0,0 +1,122 @@
1
+ export const CSE_SOURCE = {
2
+ book: "Cantus selecti",
3
+ fullTitle: null,
4
+ edition: "Ad benedictionem Sanctissimi Sacramenti",
5
+ year: 1957,
6
+ editor: "Solesmes",
7
+ scanSource: "Scans courtesy of the Church Music Association of America",
8
+ code: "cse",
9
+ };
10
+ export const CSE_DATA = [
11
+ {
12
+ id: "gregobase:3189",
13
+ incipit: "Sancta et immaculata",
14
+ gabc: "(c3) SAn(f)cta(fhffe.) (,) * et(f) im(ge~)ma(f)cu(h)lá(g_[uh:l]hG__F'E/f_g)ta(f) vir(f!gwh/ih'hg')gí(f)ni(fg!hv_GF'g)tas,(gf..) (;) qui(f)bus(fhg) te(h) láu(hji')di(ivH'_G_2/hv_GF'g)bus(g_[oh:h]f_[oh:h]) (,) éf(f)fe(fg!hvGF'E)ram,(f) (`) né(hg/hih)sci(hv_GF'g)o :(ffe.) (:) * Qui(e)a(e) quem(fh~) cæ(h)li(hg) cá(fg)pe(f)re(fe) non(g) pót(f_0//gf/g_[uh:l]h)e(e)rant,(c_d//ceD'_C_2/dv_CBcb..) (;) tu(e)o(fg) gré(ghg')mi(e/f'g)o(g'_[oh:h]) con(h_)tu(hg)lí(f_[oh:h]g_[oh:h]f_[oh:h])sti.(f.) (::) \r\n<sp>V/</sp>. Be(f)ne(e)dí(e.f!gwhhi)cta(h) tu(ij) in(ig~) mu(hi)li(gh)é(f)ri(f!gwh_g)bus,(gf..) (;) et(f) be(ef)ne(f)dí(fg)ctus(f') fru(f)ctus(f!gwh_GF'_5E_) ven(f)tris(hg/hih) tu(hv_GF'g)i.(ffe.) (::) * Qui(e)a.(e) (::) \r\n<sp>V/</sp>. Gló(e.f!gwhhi)ri(h)a(h) Pa(hg)tri,(hi) et(gh) Fí(f)li(f!gwh_g)o,(gf..) (;) et(f) Spi(f)rí(f!gwh_GF'_5E_)tu(f)i(hg/hih) San(hv_GF'g)cto.(ffe.) (::) * Qui(e)a.(e) (::)",
15
+ office: "re",
16
+ mode: "2",
17
+ pages: [
18
+ { page: "117*", sequence: 1, extent: 1 }
19
+ ],
20
+ },
21
+ {
22
+ id: "gregobase:4011",
23
+ incipit: "Laudemus Dominum",
24
+ gabc: "(f3) LAu(f)dé(e)mus(fh~) Dó(h_)mi(hv_GF)num,(f!gwh.) (,) * quem(f) lau(e)dant(fh~) An(h_)ge(hv_GF)li,(f!gwh.) (;) quem(hf~) Ché(h')ru(i)bim(j') et(i) Sé(h')ra(i)phim,(h.) (,) San(h_i)ctus,(h'_) San(h)ctus,(i'_[oh:h]) San(g)ctus(fe) pro(f)clá(hg)mant.(f.) (::) E(h) u(h) o(h) u(g) a(ef) e.(f.) (::)",
25
+ office: "an",
26
+ mode: "2",
27
+ pages: [
28
+ { page: "255*", sequence: 2, extent: 1 }
29
+ ],
30
+ },
31
+ {
32
+ id: "gregobase:4012",
33
+ incipit: "Benedicam Dominum",
34
+ gabc: "(c4) BE(f)ne(f)dí(g)cam(f') Dó(g)mi(gh)num(hg..) (;) * In(f_h) o(g_[oh:h]f)mni(g) tém(g')po(f)re.(f.) (::) Be(f)ne(f)dí(g)cam(f') Dó(g)mi(gh)num(hg..) (;) In(f_h) o(g_[oh:h]f)mni(g) tém(g')po(f)re.(f.) (::) \r\n<sp>V/</sp>. Sem(f)per(f) laus(f') e(g)jus(f'_) (,) in(f) o(f')re(f) me(g_[oh:h]h)o.(hg..) (::) * In(f_h) o(g_[oh:h]f)mni(g) tém(g')po(f)re.(f.) (::) \r\n<sp>V/</sp>. Gló(f)ri(f)a(f) Pa(gh)tri,(h'_) et(h) Fí(ixhi)li(h)o,(h'_) (,) et(h) Spi(h)rí(h')tu(g)i(h) San(gf~)cto.(f.) (::) \r\nBe(f)ne(f)dí(g)cam(f') Dó(g)mi(gh)num(hg..) (;) In(f_h) o(g_[oh:h]f)mni(g) tém(g')po(f)re.(f.) (::)",
35
+ office: "rb",
36
+ mode: "6",
37
+ pages: [
38
+ { page: "256*", sequence: 1, extent: 1 }
39
+ ],
40
+ },
41
+ {
42
+ id: "gregobase:4035",
43
+ incipit: "Verbum caro factum est",
44
+ gabc: "(c4) VEr(fg)bum(f) ca(f_e)ro(dc) fa(f)ctum(fgd) est,(ixf!gw!hih.) (;) * Al(ixi)le(ivHG)lú(gh){ia},(f.) (,) al(dc~)le(ixf.g!hwiHG'F)lú(ghf~){ia}.(f.) (::) Ver(fg)bum.(f) (::) \r\n<sp>V/</sp>. Et(f) ha(f)bi(f')tá(g)vit(f_e) in(dc) no(fgd)bis.(ixf!gw!hih.) (::) * Al(ixi)le(ivHG)lú(gh){ia}.(f.) <i>etc.</i>() (::) \r\n<sp>V/</sp>. Gló(f)ri(f)a(f) Pa(gh)tri,(f'_) (,) et(g) Fí(f_e)li(dc)o,(c.) (;) et(dc~) Spi(f)rí(ixg!hwi)tu(ih)i(gh) San(g_[oh:h]f~)cto.(f.) (::) Ver(fg)bum.(f) (::)",
45
+ office: "rb",
46
+ mode: "6",
47
+ pages: [
48
+ { page: "275*", sequence: 1, extent: 1 }
49
+ ],
50
+ },
51
+ {
52
+ id: "gregobase:4039",
53
+ incipit: "Angelus Domini nuntiavit (Resp. Br. tonus solemnis)",
54
+ gabc: "(c4) AN(f)ge(f_e)lus(dc) Dó(f)mi(fgd)ni(ixf!gw!hih.) (;) * nun(j)ti(ixih)á(gh)vit(f) Ma(ixf.g!hwiHG'F)rí(ghf)æ.(f.) (::) \r\n<sp>V/</sp>. Et(f) con(f)cé(gh)pit(f'_) (,) de(f) Spí(g)ri(f_e)tu(dc) San(fgd)cto.(ixf!gw!hih.) (::) \r\n<sp>V/</sp>. Gló(f)ri(f)a(f) Pa(gh)tri,(f'_) (,) et(g) Fí(f_e)li(dc)o,(c.) (;) et(dc~) Spi(f)rí(ixg!hwi)tu(ih)i(gh) San(g_[oh:h]f~)cto.(f.) (::)",
55
+ office: "rb",
56
+ mode: "6",
57
+ pages: [
58
+ { page: "278*", sequence: 2, extent: 1 }
59
+ ],
60
+ },
61
+ {
62
+ id: "gregobase:4043",
63
+ incipit: "Constituit eum",
64
+ gabc: "(c4) COn(f)stí(g')tu(f)it(f) e(gh)um(f.) (,) dó(g')mi(f)num(f) do(f_e)mus(dc) su(fgd)æ,(ixf!gw!hih.) (;) <nlba>* Al(ixi)le(ivHG)lú(gh){ia},</nlba>(f.) (,) al(dc~)le(ixf.g!hwiHG'F)lú(ghf~){ia}.(f.) (::) \r\n<sp>V/</sp>. Et(f) prín(gh)ci(f)pem(f'_) (,) o(f)mnis(f') pos(f)ses(g')si(f)ó(f_e)nis(dc) su(fgd)æ.(ixf!gw!hih.) (::) \r\n<sp>V/</sp>. Gló(f)ri(f)a(f) Pa(gh)tri,(f'_) (,) et(g) Fí(f_e)li(dc)o,(c.) (;) et(dc~) Spi(f)rí(ixg!hwi)tu(ih)i(gh) San(g_[oh:h]f~)cto.(f.) (::)",
65
+ office: "rb",
66
+ mode: "6",
67
+ pages: [
68
+ { page: "189*", sequence: 2, extent: 1 }
69
+ ],
70
+ },
71
+ {
72
+ id: "gregobase:4053",
73
+ incipit: "Fidelis servus et prudens (Resp.)",
74
+ gabc: "(c4) FI(e)dé(gef)lis(d!ewf) ser(egff)vus(eef.) (,) * et(d_g) pru(hg/h_i)dens(h.) (,) quem(hg'gf~) con(gh)stí(g_[uh:l]h)tu(g_[uh:l]h_G'_FE'f)it(f_e) Dó(e)mi(fg)nus(ghF'_E_2/fv_E_D'Cdc..) (;) su(c)per(de) fa(e)mí(e!fw!g_[uh:l]h)li(g)am(egF'_E_2/fv_EDe_[oh:h]d) su(ghG'Fgv_[oh:h]F_[oh:h]E_[oh:h])am :(e.) (:) \r\n* A(h)men(hg~) di(hjIH'hg)co(hh) vo(e_[uh:l]f)bis(g!hwih'hg.) (;) quó(h)ni(g)am(e') su(g)per(fe) o(f')mni(d)a(dc) bo(df)na(f) su(f_g_[oh:h]F'_[oh:h]E_[oh:h]f!gwhgh)a(hg..) (;) con(cd)stí(ixdf/h_iHG'gvFD.1fvD'Cd')tu(d)et(df!hvvGF'g) e(egff)um.(fe..) (::) \r\n<i>T. P.</i> Al(fh~)le(hvGF'EC_____d_fE'Df_h/ghf'___fe)lú(egff){ia}.(fe..) (::) \r\n<sp>V/</sp>. Qui(h) cu(h)stos(gh) est(g.f!gwh_g_2/hv_GEf_e) Dó(gf)mi(gh)ni(gf) su(e!fwg_[oh:h]f)i,(fe..) (;) glo(e!fwg_[oh:h]FE)ri(g)fi(gh_gh_GF)cá(ef/gef)tur.(ed..) (::) * A(h)men.(hg~) (::) \r\n<sp>V/</sp>. Gló(h)ri(gh)a(g.f!gwh_g_2/hv_GEf_e) Pa(gf)tri,(gh) et(gf~) Fí(e)li(e!fwg_[oh:h]f)o,(fe..) (;) et(e) Spi(e)rí(e!fwg_[oh:h]FE)tu(g)i(gh_gh_GF) San(ef/gef)cto.(ed..) (::) * A(h)men.(hg~) (::)",
75
+ office: "re",
76
+ mode: "4",
77
+ pages: [
78
+ { page: "197*", sequence: 2, extent: 2 }
79
+ ],
80
+ },
81
+ {
82
+ id: "gregobase:4080",
83
+ incipit: "In hoc cognovi",
84
+ gabc: "(c4) IN(f) hoc(f_e) co(dc)gnó(fgd)vi(ixf!gw!hih.) (;) * Quó-(j)ni(ixi)am(ih) vo(gh)lu(ixf.g!hwiHG'F)í(g)sti(ghf) me.(f.) (::)\r\nIn(f) hoc(f_e) co(dc)gnó(fgd)vi(ixf!gw!hih.) (;) Quó-(j)ni(ixi)am(ih) vo(gh)lu(ixf.g!hwiHG'F)í(g)sti(ghf) me.(f.) (::)\r\n<sp>V/</sp>. Quó(f)ni(f)am(f) non(g') gau(f)dé(gh)bit(f'_) (,) in(f)i(f)mí(g')cus(f) me(f_e)us(dc) su(f)per(fgd) me(ixf!gw!hih.) (::)\r\n*() Quó(j)ni(ixi)am(ih) vo(gh)lu(ixf.g!hwiHG'F)í(g)sti(ghf) me.(f.) (::)\r\nGló(f)ri(f)a(f) Pa(gh)tri,(f'_) (,) et(g) Fí(f_e)li(dc)o,(c.) (;) et(dc~) Spi(f)rí(ixg!hwi)tu(ih)i(gh) San(g_[oh:h]f~)cto.(f.) (::)\r\nIn(f) hoc(f_e) co(dc)gnó(fgd)vi(ixf!gw!hih.) (;) Quó-(j)ni(ixi)am(ih) vo(gh)lu(ixf.g!hwiHG'F)í(g)sti(ghf) me.(f.) (::)",
85
+ office: "rb",
86
+ mode: "6",
87
+ pages: [
88
+ { page: "114*", sequence: 2, extent: 2 }
89
+ ],
90
+ },
91
+ {
92
+ id: "gregobase:4089",
93
+ incipit: "Defecerunt",
94
+ gabc: "(c4) DE(h)fe(i.h!iwj)cé(hg)runt(hiH'_GhvGF.) (;) * Præ(f) lá(g')cri(h)mis(h) ó(h!iwj)cu(j)li(jvIH) me(g!hwih)i.(h.) (::) \r\nDe(h)fe(i.h!iwj)cé(hg)runt(hiH'_GhvGF.) (;) Præ(f) lá(g')cri(h)mis(h) ó(h!iwj)cu(j)li(jvIH) me(g!hwih)i.(h.) (::) \r\n<sp>V/</sp>. Con(hi)tur(g!hwiH'_GhvGF')bá(g)ta(gh) sunt(h.) (;) ó(h)mni(gh)a(h) ví(i')sce(h)ra(i.h!iwj) me(hg)a.(hiH'_GhvGF.) (::) \r\n* Præ(f) lá(g')cri(h)mis(h) ó(h!iwj)cu(j)li(jvIH) me(g!hwih)i.(h.) (::) \r\n<sp>V/</sp>. Gló(h)ri(h)a(h) Pa(hi)tri,(g!hwiH'_GhvGF') et(f) Fí(g)li(gh)o,(h.) (;) et(h) Spi(h)rí(i')tu(h)i(i.h!iwj) San(hg)cto.(hi/H'_GhvGF.) (::) \r\nDe(h)fe(i.h!iwj)cé(hg)runt(hiH'_GhvGF.) (;) Præ(f) lá(g')cri(h)mis(h) ó(h!iwj)cu(j)li(jvIH) me(g!hwih)i.(h.) (::)",
95
+ office: "rb",
96
+ mode: "6",
97
+ pages: [
98
+ { page: "131*", sequence: 1, extent: 1 }
99
+ ],
100
+ },
101
+ {
102
+ id: "gregobase:4090",
103
+ incipit: "Fasciculus myrrhae",
104
+ gabc: "(c4) FA(h)scí(gh)cu(h)lus(i.h!iwj) myr(hg)rhæ(hiH'_GhvGF.) (;) * Di(f)lé(g')ctus(h) me(h!iwj)us(jvIH) mi(g!hwih)hi.(h.) (::) \r\nFa(h)scí(gh)cu(h)lus(i.h!iwj) myr(hg)rhæ(hiH'_GhvGF.) (;) Di(f)lé(g')ctus(h) me(h!iwj)us(jvIH) mi(g!hwih)hi.(h.) (::) \r\n<sp>V/</sp>. In(h)ter(h) ú(hi)be(g!hwih)ra(h_ghvGF) me(gh)a(h.) (;) com(h)mo(i.h!iwj)rá(h')bi(g)tur.(hi/H'_GhvGF.) (::) \r\n* Di(f)lé(g')ctus(h) me(h!iwj)us(jvIH) mi(g!hwih)hi.(h.) (::) \r\n<sp>V/</sp>. Gló(h)ri(h)a(h) Pa(hi)tri,(g!hwiH'_GhvGF') et(f) Fí(g)li(gh)o,(h.) (;) et(h) Spi(h)rí(i')tu(h)i(i.h!iwj) San(hg)cto.(hiH'_GhvGF.) (::) \r\nFa(h)scí(gh)cu(h)lus(i.h!iwj) myr(hg)rhæ(hiH'_GhvGF.) (;) Di(f)lé(g')ctus(h) me(h!iwj)us(jvIH) mi(g!hwih)hi.(h.) (::)",
105
+ office: "rb",
106
+ mode: null,
107
+ pages: [
108
+ { page: "130*", sequence: 1, extent: 2 }
109
+ ],
110
+ },
111
+ {
112
+ id: "gregobase:7849",
113
+ incipit: "Iste quem laeti",
114
+ gabc: "(c4) I(h)ste,(g) quem(hi) læ(ji)ti(h.) (,) có(i)li(j)mus,(h') fi(i)dé(h.)les,(g.) (;)\r\nCu(ef)jus(e') ex(d)cél(dh)sos(h.) (,) cá(h)ni(g)mus(h') tri(i)úm(ij)phos,(g.) (:)\r\nHac(i) di(k')e(j) Jo(ih)seph(g.) (,) mé(d)ru(e)it(f') pe(g)rén(gh)nis(h'_) (,)\r\nGáu(g)di(e')a(f) vi(g.)tæ.(g.) (::)\r\n\r\n2. O(h) ni(g)mis(hi) fe(ji)lix,(h.) (,) ni(i)mis(j) o(h') be(i)á(h.)tus!(g.) (;)\r\nCu(ef)jus(e') ex(d)tré(dh)mam(h.) (,) ví(h)gi(g)les(h') ad(i) ho(ij)ram(g.) (:)\r\nChri(i)stus(k') et(j) Vir(ih)go(g.) (,) si(d)mul(e) ad(f')sti(g)té(gh)runt(h'_) (,)\r\nO(g)re(e') se(f)ré(g.)no.(g.) (::)\r\n\r\n3. Hinc(h) sty(g)gis(hi) vi(ji)ctor,(h.) (,) lá(i)que(j)o(h') so(i)lú(h.)tus(g.) (;)\r\nCar(ef)nis,(e') ad(d) se(dh)des(h.) (,) plá(h)ci(g)do(h') so(i)pó(ij)re(g.) (:)\r\nMi(i)grat(k') æ(j)tér(ih)nas,(g.) (,) ru(d)ti(e)lís(f')que(g) cin(gh)git(h'_) (,)\r\nTém(g)po(e')ra(f) ser(g.)tis.(g.) (::)\r\n\r\n4. Er(h)go(g) re(hi)gnán(ji)tem(h.) (,) fla(i)gi(j)té(h')mus(i) o(h.)mnes(g.) (;)\r\nAd(ef)sit(e') ut(d) no(dh)bis,(h.) (,) ve(h)ni(g)ám(h')que(i) no(ij)stris(g.) (:)\r\nOb(i)ti(k')nens(j) cul(ih)pis,(g.) (,) trí(d)bu(e)at(f') su(g)pér(gh)næ(h'_) (,)\r\nMú(g)ne(e')ra(f) pa(g.)cis.(g.) (::)\r\n\r\n5. Sint(h) ti(g)bi(hi) plau(ji)sus,(h.) (,) ti(i)bi(j) sint(h') ho(i)nó(h.)res,(g.) (;)\r\nTri(ef)ne(e') qui(d) re(dh)gnas(h.) (,) De(h)us,(g) et(h') co(i)ró(ij)nas(g.) (:)\r\nAu(i)re(k')as(j) ser(ih)vo(g.) (,) trí(d)bu(e)is(f') fi(g)dé(gh)li(h'_) (,)\r\nO(g)mne(e') per(f) æ(g.)vum.(g.) (::)\r\n\r\nA(ghg)men.(fg..) (::)",
115
+ office: "hy",
116
+ mode: "8",
117
+ pages: [
118
+ { page: "192*", sequence: 1, extent: 2 }
119
+ ],
120
+ }
121
+ ];
122
+ //# sourceMappingURL=cse.js.map
@@ -0,0 +1,45 @@
1
+ /** Staff position (half-spaces from bottom line) for each GABC pitch letter. */
2
+ export declare const PITCH_POSITIONS: Readonly<Record<string, number>>;
3
+ /** Half-staff-space position for a raw GABC letter; null if out of range. */
4
+ export declare function staffPositionForLetter(letter: string): number | null;
5
+ export declare const GLYPH: {
6
+ readonly staff: "E8F0";
7
+ readonly divisioMinima: "E8F3";
8
+ readonly divisioMinor: "E8F4";
9
+ readonly divisioMaior: "E8F5";
10
+ readonly divisioFinalis: "E8F6";
11
+ readonly virgula: "E8F7";
12
+ readonly fClef: "E902";
13
+ readonly cClef: "E906";
14
+ readonly punctum: "E990";
15
+ readonly punctumInclinatum: "E991";
16
+ readonly virga: "E996";
17
+ readonly virgaReversa: "E997";
18
+ readonly cavum: "E998";
19
+ readonly linea: "E999";
20
+ readonly quilisma: "E99B";
21
+ readonly oriscusAsc: "E99C";
22
+ readonly oriscusDesc: "E99D";
23
+ readonly strophicus: "E99F";
24
+ readonly punctumDeminutum: "E9A1";
25
+ readonly custosUp: readonly ["EA04", "EA05", "EA06"];
26
+ readonly custosDown: readonly ["EA07", "EA08", "EA09"];
27
+ readonly podatusLower: "E9B0";
28
+ readonly podatusUpper: "E9B1";
29
+ readonly ictusAbove: "E9D0";
30
+ readonly ictusBelow: "E9D1";
31
+ readonly episema: "E9D8";
32
+ readonly mora: "E9D9";
33
+ readonly flat: "E9E0";
34
+ readonly natural: "E9E1";
35
+ readonly sharp: "E262";
36
+ };
37
+ /** Written note shape → notehead glyph codepoint. */
38
+ export declare const SHAPE_GLYPH: Readonly<Record<string, string>>;
39
+ /** Divisio mark → glyph codepoint. */
40
+ export declare const DIVISIO_GLYPH: Readonly<Record<string, string>>;
41
+ /** EntryLineAsc component for a rising interval of `steps` diatonic degrees. */
42
+ export declare function entryLineAsc(steps: number): string;
43
+ /** LigaturaDesc component for a falling interval of `steps` diatonic degrees. */
44
+ export declare function ligaturaDesc(steps: number): string;
45
+ //# sourceMappingURL=gabc-glyphs.d.ts.map
@@ -0,0 +1,122 @@
1
+ // ---------------------------------------------------------------------------
2
+ // data/gabc-glyphs — GABC/neume → SMuFL codepoint selection for SVG rendering
3
+ // ---------------------------------------------------------------------------
4
+ // Codepoints and pitch positions mirror the gabc-smufl project's
5
+ // data/gabc-map.json (SMuFL 1.5 / Bravura 1.392). Outlines for these codepoints
6
+ // are baked into smufl-glyphs.json by scripts/extract-smufl-glyphs.py.
7
+ //
8
+ // pitch_positions: the raw GABC pitch letter a–m IS the staff slot, in
9
+ // half-staff-spaces from the bottom line, independent of clef. (a=-2 … c=0
10
+ // space-below-bottom-line … g=4 reference … j=7 top line … m=10.)
11
+ /** Staff position (half-spaces from bottom line) for each GABC pitch letter. */
12
+ export const PITCH_POSITIONS = Object.freeze({
13
+ a: -2, b: -1, c: 0, d: 1, e: 2, f: 3, g: 4,
14
+ h: 5, i: 6, j: 7, k: 8, l: 9, m: 10,
15
+ });
16
+ /** Half-staff-space position for a raw GABC letter; null if out of range. */
17
+ export function staffPositionForLetter(letter) {
18
+ const pos = PITCH_POSITIONS[letter.toLowerCase()];
19
+ return pos ?? null;
20
+ }
21
+ // ── Codepoints (hex, matching smufl-glyphs.json keys) ──
22
+ export const GLYPH = {
23
+ // staff + divisiones
24
+ staff: "E8F0",
25
+ divisioMinima: "E8F3", // ,
26
+ divisioMinor: "E8F4", // ;
27
+ divisioMaior: "E8F5", // :
28
+ divisioFinalis: "E8F6", // ::
29
+ virgula: "E8F7", // `
30
+ // clefs
31
+ fClef: "E902",
32
+ cClef: "E906",
33
+ // single notes
34
+ punctum: "E990",
35
+ punctumInclinatum: "E991",
36
+ virga: "E996",
37
+ virgaReversa: "E997",
38
+ cavum: "E998",
39
+ linea: "E999",
40
+ quilisma: "E99B",
41
+ oriscusAsc: "E99C",
42
+ oriscusDesc: "E99D",
43
+ strophicus: "E99F",
44
+ punctumDeminutum: "E9A1",
45
+ // THE CUSTOS, added to the bake 2026-08-12. Bravura carries it at EA00-EA09
46
+ // and the subset did not, so the emitter drew a plain punctum at a line's
47
+ // end — a note where a guide belongs, with none of the tail that tells a
48
+ // singer it points at the next line rather than sounding.
49
+ //
50
+ // The tail RISES AWAY FROM THE STAFF, so the direction follows the note:
51
+ // stem-up for a degree in the staff's lower half, stem-down for the upper.
52
+ // (An earlier attempt mapped E8F4/E8F5 as custosUp/custosDown on
53
+ // 2026-08-04, read off a SMuFL name list without checking them against the
54
+ // divisio map ten lines above — so every custos drew a `;` or a `:`, and
55
+ // beside a real barline it read as a doubled bar. Hence the bbox check in
56
+ // the extractor, and hence these names carry their SMuFL ones.)
57
+ //
58
+ // THE CUSTOS, six cuts: a small head ON THE BASELINE with a stem running
59
+ // AWAY from the staff. The stem's length is how far the pitch sits from the
60
+ // staff's middle, which is what Lowest/Low/Middle name, and the sign is
61
+ // narrow (60 units) because the stem IS the sign.
62
+ //
63
+ // Three wrong guesses came before this, each from reading a SMuFL name and
64
+ // trusting it: EA02 is a liquescent zigzag, EA00 the ornate Solesmes
65
+ // curl-and-dots (authentic, unreadable at score size), EA0A a lozenge with a
66
+ // rising stroke that draws three and a half times a notehead's width. This
67
+ // block was dismissed as "bare ledger stems" on the strength of its 60-unit
68
+ // width — the narrowness is the point. Render an outline against a baseline
69
+ // before trusting any of it.
70
+ custosUp: ["EA04", "EA05", "EA06"], // lowest, low, middle
71
+ custosDown: ["EA07", "EA08", "EA09"], // middle, high, highest
72
+ // note components
73
+ podatusLower: "E9B0",
74
+ podatusUpper: "E9B1",
75
+ // rhythmic signs
76
+ ictusAbove: "E9D0",
77
+ ictusBelow: "E9D1",
78
+ episema: "E9D8",
79
+ mora: "E9D9",
80
+ // accidentals (medieval soft-b flat / natural; standard sharp fallback).
81
+ // The natural is E9E1, the b quadratum — the square hard b that pairs with
82
+ // E9E0's round soft b, and the glyph the emitter actually draws (see
83
+ // GLYPHS_BY_SET in emitters/accidentals.ts). E9E2 was a different mark.
84
+ flat: "E9E0",
85
+ natural: "E9E1",
86
+ sharp: "E262",
87
+ };
88
+ /** Written note shape → notehead glyph codepoint. */
89
+ export const SHAPE_GLYPH = Object.freeze({
90
+ punctum: GLYPH.punctum,
91
+ inclinatum: GLYPH.punctumInclinatum,
92
+ virga: GLYPH.virga,
93
+ virgaReversa: GLYPH.virgaReversa,
94
+ quilisma: GLYPH.quilisma,
95
+ oriscus: GLYPH.oriscusAsc,
96
+ strophicus: GLYPH.strophicus,
97
+ cavum: GLYPH.cavum,
98
+ linea: GLYPH.linea,
99
+ });
100
+ /** Divisio mark → glyph codepoint. */
101
+ export const DIVISIO_GLYPH = Object.freeze({
102
+ ",": GLYPH.divisioMinima,
103
+ ";": GLYPH.divisioMinor,
104
+ ":": GLYPH.divisioMaior,
105
+ "::": GLYPH.divisioFinalis,
106
+ "`": GLYPH.virgula,
107
+ });
108
+ // EntryLineAsc (pes rising stroke) and LigaturaDesc (clivis falling stroke),
109
+ // indexed by ascending-interval size (2nd..6th / 2nd..5th). Clamped to range.
110
+ const ENTRY_LINE_ASC = ["E9B4", "E9B5", "E9B6", "E9B7", "E9B8"]; // 2nd..6th
111
+ const LIGATURA_DESC = ["E9B9", "E9BA", "E9BB", "E9BC"]; // 2nd..5th
112
+ /** EntryLineAsc component for a rising interval of `steps` diatonic degrees. */
113
+ export function entryLineAsc(steps) {
114
+ const i = Math.min(Math.max(steps, 2), 6) - 2;
115
+ return ENTRY_LINE_ASC[i];
116
+ }
117
+ /** LigaturaDesc component for a falling interval of `steps` diatonic degrees. */
118
+ export function ligaturaDesc(steps) {
119
+ const i = Math.min(Math.max(steps, 2), 5) - 2;
120
+ return LIGATURA_DESC[i];
121
+ }
122
+ //# sourceMappingURL=gabc-glyphs.js.map