Verhaal 4 — Rene deelt en gebruikt Nana's MusicXML¶
Nana exporteert naast de PDF ook een MusicXML-bestand (.mxl) van de
Cherubijnenhymne — handig voor koorleden in MuseScore. Rene wil dat bestand
delen via de parochie-site en het opnemen in de org-brede bron-repository, zonder
het te verwarren met afgeleide MXL uit VSA-conversie.
Situatie¶
| Bestand | Herkomst | Bron vs afgeleid |
|---|---|---|
nana-partituur.pdf |
Scan / export van Nana | Bronbestand (parochie-lokaal → bron, verhaal 2–3) |
groningen.vsa |
Transcriptie (later) | Bronbestand |
groningen.mxl |
Rechtstreeks uit MuseScore (Nana) | Bronbestand — niet vsa musicxml-output in git |
Regel: handmatig aangeleverde MusicXML in sources/musicxml/ is bronbestand; MXL
automatisch gegenereerd uit VSA hoort niet in git
(inhoudslevenscyclus §2.2).
Export op de site: exporttype mxl
(exporttype mxl).
Beoogde interface (GUI)¶
Rene opent het stuk cherubijnenhymne / kastorski / groningen en kiest Representatie toevoegen → MusicXML.
- Bestand kiezen:
.mxlof.musicxmlvan Nana. - Type: de tool vraagt “Handmatige bron (MuseScore)” vs “Genereer uit VSA” — Rene kiest handmatige bron.
- Plaatsing: voorstel
- lokaal:
repr/groningen.mxlin manifest, of - bron:
sources/musicxml/groningen.mxl+ entry in yaml. - Samenstelling: vinkje “Downloadlink op liturgiepagina” → voegt
:::include mxl id:cherubijnenhymne/kastorski/groningen:::toe. - Validatie: XML well-formed check (toekomst);
catalogus index validate.
GUI + handmatige bron-MXL
:::include mxl vanuit een VSA-pad of catalogus-pad is geïmplementeerd.
Nog gepland: GUI voor representatie toevoegen, handmatige .mxl in
sources/musicxml/, en XML-validatie in CI.
Wat Rene vandaag doet¶
1. Representatie registreren (lokaal)¶
Rene voegt in uitvoeringsvorm.yaml een representatie toe:
representaties:
- representatie-id: scan-nana
file: repr/nana-partituur.pdf
- representatie-id: groningen-mxl
file: repr/groningen.mxl
Hij plaatst Nana's .mxl in repr/groningen.mxl.
2. Na promotie naar bron-repository¶
In zangstuk.yaml of genest manifest:
sources:
- id: kastorski-groningen-mxl
file: sources/musicxml/groningen.mxl
author: "Nana (parochie Groningen)"
based_on: kastorski-groningen-scan
copyright_status: vrij
note: "Handmatig geëxporteerd MusicXML; geen vsa musicxml-afgeleide"
Niet committen: MXL gegenereerd met vsa musicxml — die hoort bij build-time
(conversie vsa musicxml) als afgeleide.
3. Catalogus — representatie-id¶
Als Rene “mxl” of “MusicXML Groningen” als alias wil gebruiken, lost hij die op via de catalogus (Catalogus CLI — resolve representatie).
4. Opnemen in sjabloon / samenstelling¶
In het sjabloon (verhaal 1) blijven de includes met zoek=:
:::include svg zoek="Cherubijnenhymne (Kastorski)" alt="Cherubijnenhymne":::
:::include mxl zoek="Cherubijnenhymne (Kastorski)" label="Download partituur (MusicXML)":::
Na oplossen (parochie-lokaal, MXL als sibling van .vsa):
## Cherubijnenhymne
:::include svg lokaal:cherubijnenhymne/kastorski/groningen alt="Cherubijnenhymne":::
:::include mxl lokaal:cherubijnenhymne/kastorski/groningen label="Download partituur (MusicXML)":::
Resolve:
vsa resolve-catalogus.
Beperking: mxl / coria op bron: catalogus-pad — .vsa buiten
content-root. Handmatig MXL in repo blijft geldig; de build levert een
download-URL naar static.
Build-time generatie blijft gescheiden: de site levert een download-URL naar het bron-bestand; automatische MXL uit VSA (conversie vsa musicxml) is iets anders dan Nana's handmatige export.
5. Delen met koorleden¶
| Kanaal | Wat Rene doet |
|---|---|
| Parochie-site | Samenstelling met svg + (later) mxl-download |
| E-mail / chat | Link naar pagina, niet los MXL in mail (één canonical bron) |
| Andere parochies | Na merge bron: zij sync'en zangstukken/cherubijnenhymne/ |
6. Validatie¶
Index controleren: Catalogus CLI.
Verschil met VSA-afgeleide MXL¶
flowchart LR
VSA["groningen.vsa"]
NanaMXL["Nana .mxl handmatig"]
Conv["vsa musicxml"]
Derived[".mxl afgeleid"]
GitBron["In git als bron"]
Build["Build-time only"]
VSA --> Conv --> Derived --> Build
NanaMXL --> GitBron
Rene legt Nana uit: zodra er een goede VSA-transcriptie is, kan de site ook automatische MXL uit VSA aanbieden naast Nana's originele export — twee representaties, één uitvoeringsvorm.
Wat Rene bereikt¶
- Koorleden downloaden MusicXML vanaf dezelfde pagina als de liturgienotatie.
- Bronbestand vs afgeleide blijft helder voor CI en toekomstige sync.
- Canonieke ids blijven gelijk over PDF, VSA en MXL heen.