Ga naar inhoud

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.

  1. Bestand kiezen: .mxl of .musicxml van Nana.
  2. Type: de tool vraagt “Handmatige bron (MuseScore)” vs “Genereer uit VSA” — Rene kiest handmatige bron.
  3. Plaatsing: voorstel
  4. lokaal: repr/groningen.mxl in manifest, of
  5. bron: sources/musicxml/groningen.mxl + entry in yaml.
  6. Samenstelling: vinkje “Downloadlink op liturgiepagina” → voegt :::include mxl id:cherubijnenhymne/kastorski/groningen::: toe.
  7. 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.

Terug naar overzicht