├── .gitignore ├── CODE_OF_CONDUCT.md ├── CONTRIBUTING.md ├── README.md ├── by-example └── index.html ├── docs ├── comparisons │ └── musicxml │ │ └── index.html ├── concepts │ └── index.html ├── index.html ├── infrastructure │ ├── direction-content │ │ └── index.html │ ├── index.html │ ├── notational-concepts │ │ └── index.html │ ├── sequence-content │ │ └── index.html │ └── styling │ │ └── index.html ├── mnx-reference │ ├── data-types │ │ └── index.html │ ├── examples │ │ ├── accidentals │ │ │ └── index.html │ │ ├── articulations │ │ │ └── index.html │ │ ├── beam-hooks │ │ │ └── index.html │ │ ├── beams-across-barlines │ │ │ └── index.html │ │ ├── beams-inner-grace-notes │ │ │ └── index.html │ │ ├── beams-secondary-beam-breaks-implied │ │ │ └── index.html │ │ ├── beams-secondary-beam-breaks │ │ │ └── index.html │ │ ├── beams │ │ │ └── index.html │ │ ├── clef-changes │ │ │ └── index.html │ │ ├── dotted-notes │ │ │ └── index.html │ │ ├── dynamics │ │ │ └── index.html │ │ ├── grace-note │ │ │ └── index.html │ │ ├── grace-notes-beamed │ │ │ └── index.html │ │ ├── grand-staff │ │ │ └── index.html │ │ ├── hello-world │ │ │ └── index.html │ │ ├── index.html │ │ ├── jumps-dal-segno │ │ │ └── index.html │ │ ├── jumps-ds-al-fine │ │ │ └── index.html │ │ ├── key-signatures │ │ │ └── index.html │ │ ├── lyric-line-metadata │ │ │ └── index.html │ │ ├── lyrics-basic │ │ │ └── index.html │ │ ├── lyrics-multi-line │ │ │ └── index.html │ │ ├── multimeasure-rests │ │ │ └── index.html │ │ ├── multiple-layouts │ │ │ └── index.html │ │ ├── multiple-voices │ │ │ └── index.html │ │ ├── orchestral-layout │ │ │ └── index.html │ │ ├── organ-layout │ │ │ └── index.html │ │ ├── ottavas-8va │ │ │ └── index.html │ │ ├── parts │ │ │ └── index.html │ │ ├── repeats-alternate-endings-advanced │ │ │ └── index.html │ │ ├── repeats-alternate-endings-simple │ │ │ └── index.html │ │ ├── repeats-implied-start-repeat │ │ │ └── index.html │ │ ├── repeats-more-once-repeated │ │ │ └── index.html │ │ ├── repeats │ │ │ └── index.html │ │ ├── rest-positions │ │ │ └── index.html │ │ ├── single-note-tremolos │ │ │ └── index.html │ │ ├── slurs-chords │ │ │ └── index.html │ │ ├── slurs-targeting-specific-notes │ │ │ └── index.html │ │ ├── slurs │ │ │ └── index.html │ │ ├── system-layouts │ │ │ └── index.html │ │ ├── tempo-markings │ │ │ └── index.html │ │ ├── three-note-chord-and-half-rest │ │ │ └── index.html │ │ ├── ties │ │ │ └── index.html │ │ ├── time-signature-glyphs │ │ │ └── index.html │ │ ├── time-signatures │ │ │ └── index.html │ │ ├── tuplets │ │ │ └── index.html │ │ └── two-bar-c-major-scale │ │ │ └── index.html │ ├── index.html │ └── objects │ │ ├── accent │ │ └── index.html │ │ ├── accidental-display │ │ └── index.html │ │ ├── accidental-enclosure-symbol │ │ └── index.html │ │ ├── accidental-enclosure │ │ └── index.html │ │ ├── alter │ │ └── index.html │ │ ├── barline-type │ │ └── index.html │ │ ├── barline │ │ └── index.html │ │ ├── beam-hook-direction │ │ └── index.html │ │ ├── beam │ │ └── index.html │ │ ├── boolean │ │ └── index.html │ │ ├── bpm │ │ └── index.html │ │ ├── breath-mark-symbol │ │ └── index.html │ │ ├── breath-mark │ │ └── index.html │ │ ├── clef-sign │ │ └── index.html │ │ ├── clef │ │ └── index.html │ │ ├── color │ │ └── index.html │ │ ├── dynamic-type │ │ └── index.html │ │ ├── dynamic │ │ └── index.html │ │ ├── ending-duration │ │ └── index.html │ │ ├── ending-number │ │ └── index.html │ │ ├── ending-open │ │ └── index.html │ │ ├── ending │ │ └── index.html │ │ ├── event-lyric-line-type │ │ └── index.html │ │ ├── event-lyric-line │ │ └── index.html │ │ ├── event-markings │ │ └── index.html │ │ ├── event │ │ └── index.html │ │ ├── fifths │ │ └── index.html │ │ ├── fine │ │ └── index.html │ │ ├── global-attrs │ │ └── index.html │ │ ├── global │ │ └── index.html │ │ ├── grace-type │ │ └── index.html │ │ ├── grace │ │ └── index.html │ │ ├── id │ │ └── index.html │ │ ├── index.html │ │ ├── integer-signed │ │ └── index.html │ │ ├── integer-unsigned │ │ └── index.html │ │ ├── interval │ │ └── index.html │ │ ├── jump-type │ │ └── index.html │ │ ├── jump │ │ └── index.html │ │ ├── key │ │ └── index.html │ │ ├── kit-component-id │ │ └── index.html │ │ ├── kit-component │ │ └── index.html │ │ ├── kit-note │ │ └── index.html │ │ ├── language-code │ │ └── index.html │ │ ├── layout-change │ │ └── index.html │ │ ├── line-type │ │ └── index.html │ │ ├── lyric-line-id │ │ └── index.html │ │ ├── lyric-line-label │ │ └── index.html │ │ ├── lyric-line-metadata │ │ └── index.html │ │ ├── lyrics-global │ │ └── index.html │ │ ├── lyrics │ │ └── index.html │ │ ├── measure-count │ │ └── index.html │ │ ├── measure-global │ │ └── index.html │ │ ├── measure-number │ │ └── index.html │ │ ├── measure-rhythmic-position │ │ └── index.html │ │ ├── midi-number │ │ └── index.html │ │ ├── mnx │ │ └── index.html │ │ ├── multimeasure-rest │ │ └── index.html │ │ ├── note-value-base │ │ └── index.html │ │ ├── note-value-quantity │ │ └── index.html │ │ ├── note-value │ │ └── index.html │ │ ├── note │ │ └── index.html │ │ ├── octave │ │ └── index.html │ │ ├── orientation │ │ └── index.html │ │ ├── ottava-amount-or-zero │ │ └── index.html │ │ ├── ottava-amount │ │ └── index.html │ │ ├── ottava │ │ └── index.html │ │ ├── page │ │ └── index.html │ │ ├── part-measure │ │ └── index.html │ │ ├── part-name │ │ └── index.html │ │ ├── part-short-name │ │ └── index.html │ │ ├── part-transposition │ │ └── index.html │ │ ├── part │ │ └── index.html │ │ ├── perform-options │ │ └── index.html │ │ ├── pitch │ │ └── index.html │ │ ├── positioned-clef │ │ └── index.html │ │ ├── positive-integer │ │ └── index.html │ │ ├── repeat-end │ │ └── index.html │ │ ├── repeat-start │ │ └── index.html │ │ ├── repeat-times │ │ └── index.html │ │ ├── rest │ │ └── index.html │ │ ├── rhythmic-position │ │ └── index.html │ │ ├── root │ │ └── index.html │ │ ├── score-name │ │ └── index.html │ │ ├── score │ │ └── index.html │ │ ├── segno │ │ └── index.html │ │ ├── sequence │ │ └── index.html │ │ ├── simple-color │ │ └── index.html │ │ ├── slur-side │ │ └── index.html │ │ ├── slur-tie-end-location │ │ └── index.html │ │ ├── slur │ │ └── index.html │ │ ├── smufl-font │ │ └── index.html │ │ ├── smufl-glyph │ │ └── index.html │ │ ├── soft-accent │ │ └── index.html │ │ ├── sound │ │ └── index.html │ │ ├── space │ │ └── index.html │ │ ├── spiccato │ │ └── index.html │ │ ├── staccatissimo │ │ └── index.html │ │ ├── staccato │ │ └── index.html │ │ ├── staff-count │ │ └── index.html │ │ ├── staff-group │ │ └── index.html │ │ ├── staff-label │ │ └── index.html │ │ ├── staff-labelref │ │ └── index.html │ │ ├── staff-number │ │ └── index.html │ │ ├── staff-position │ │ └── index.html │ │ ├── staff-source │ │ └── index.html │ │ ├── staff-symbol │ │ └── index.html │ │ ├── staff │ │ └── index.html │ │ ├── stem-direction │ │ └── index.html │ │ ├── step │ │ └── index.html │ │ ├── stress-marking │ │ └── index.html │ │ ├── string │ │ └── index.html │ │ ├── strong-accent │ │ └── index.html │ │ ├── support │ │ └── index.html │ │ ├── system-layout │ │ └── index.html │ │ ├── system │ │ └── index.html │ │ ├── tempo │ │ └── index.html │ │ ├── tenuto │ │ └── index.html │ │ ├── tie │ │ └── index.html │ │ ├── time-signature-display │ │ └── index.html │ │ ├── time-signature-unit │ │ └── index.html │ │ ├── time │ │ └── index.html │ │ ├── tremolo-single │ │ └── index.html │ │ ├── tuplet-display-setting │ │ └── index.html │ │ ├── tuplet │ │ └── index.html │ │ ├── unstress-marking │ │ └── index.html │ │ ├── up-or-down │ │ └── index.html │ │ ├── vendor-dict │ │ └── index.html │ │ ├── version-number │ │ └── index.html │ │ ├── voice-name │ │ └── index.html │ │ ├── written │ │ └── index.html │ │ └── yes-no-auto │ │ └── index.html ├── mnx-schema.json └── static │ ├── examples │ ├── accidentals.png │ ├── articulations.png │ ├── beam-hooks.png │ ├── beams-across-barlines.png │ ├── beams-grace-notes.png │ ├── beams-inner-grace-notes.png │ ├── beams-secondary-beam-breaks.png │ ├── beams.png │ ├── clef-changes.png │ ├── dotted-notes.png │ ├── dynamics.png │ ├── grace-note.png │ ├── grand-staff.png │ ├── hello-world.png │ ├── json │ │ ├── accidentals.json │ │ ├── articulations.json │ │ ├── beam-hooks.json │ │ ├── beams-across-barlines.json │ │ ├── beams-inner-grace-notes.json │ │ ├── beams-secondary-beam-breaks-implied.json │ │ ├── beams-secondary-beam-breaks.json │ │ ├── beams.json │ │ ├── clef-changes.json │ │ ├── dotted-notes.json │ │ ├── dynamics.json │ │ ├── grace-note.json │ │ ├── grace-notes-beamed.json │ │ ├── grand-staff.json │ │ ├── hello-world.json │ │ ├── jumps-dal-segno.json │ │ ├── jumps-ds-al-fine.json │ │ ├── key-signatures.json │ │ ├── lyric-line-metadata.json │ │ ├── lyrics-basic.json │ │ ├── lyrics-multi-line.json │ │ ├── multimeasure-rests.json │ │ ├── multiple-layouts.json │ │ ├── multiple-voices.json │ │ ├── orchestral-layout.json │ │ ├── organ-layout.json │ │ ├── ottavas-8va.json │ │ ├── parts.json │ │ ├── repeats-alternate-endings-advanced.json │ │ ├── repeats-alternate-endings-simple.json │ │ ├── repeats-implied-start-repeat.json │ │ ├── repeats-more-once-repeated.json │ │ ├── repeats.json │ │ ├── rest-positions.json │ │ ├── single-note-tremolos.json │ │ ├── slurs-chords.json │ │ ├── slurs-targeting-specific-notes.json │ │ ├── slurs.json │ │ ├── system-layouts.json │ │ ├── tempo-markings.json │ │ ├── three-note-chord-and-half-rest.json │ │ ├── ties.json │ │ ├── time-signature-glyphs.json │ │ ├── time-signatures.json │ │ ├── tuplets.json │ │ └── two-bar-c-major-scale.json │ ├── jumps-dal-segno.png │ ├── jumps-ds-al-fine.png │ ├── key-signatures.png │ ├── lyric_metadata.png │ ├── lyrics_basic.png │ ├── lyrics_multiline.png │ ├── multimeasure-rests.png │ ├── multiple-layouts.png │ ├── multiple-voices.png │ ├── octave-shifts-8va.png │ ├── orchestral-layout.png │ ├── organ-layout.png │ ├── parts.png │ ├── repeats-alternate-endings-advanced.png │ ├── repeats-alternate-endings-simple.png │ ├── repeats-implied-start-repeat.png │ ├── repeats-more-once-repeated.png │ ├── repeats.png │ ├── rest-positions.png │ ├── slurs-chords.png │ ├── slurs-targeting-specific-notes.png │ ├── slurs.png │ ├── system-layouts.png │ ├── tempo-marking.png │ ├── three-note-chord-and-half-rest.png │ ├── ties.png │ ├── time-signature-glyphs.png │ ├── time-signatures.png │ ├── tremolos.png │ ├── tuplets.png │ └── two-bar-c-major-scale.png │ ├── fonts │ ├── BravuraText.woff │ └── BravuraText.woff2 │ ├── global.js │ ├── images │ ├── UD-watermark.png │ ├── back-cg-final.png │ ├── group-symbols │ │ ├── brace.png │ │ ├── bracket.png │ │ ├── line.png │ │ └── square.png │ └── middle-c.png │ └── styles.css ├── doctools ├── README.md ├── data.json ├── docgenerator │ ├── __init__.py │ ├── asgi.py │ ├── settings.py │ ├── urls.py │ └── wsgi.py ├── manage.py ├── media │ ├── examples │ │ ├── accidentals.png │ │ ├── articulations.png │ │ ├── beam-hooks.png │ │ ├── beams-across-barlines.png │ │ ├── beams-grace-notes.png │ │ ├── beams-inner-grace-notes.png │ │ ├── beams-secondary-beam-breaks.png │ │ ├── beams.png │ │ ├── clef-changes.png │ │ ├── dotted-notes.png │ │ ├── dynamics.png │ │ ├── grace-note.png │ │ ├── grand-staff.png │ │ ├── hello-world.png │ │ ├── json │ │ │ ├── accidentals.json │ │ │ ├── articulations.json │ │ │ ├── beam-hooks.json │ │ │ ├── beams-across-barlines.json │ │ │ ├── beams-inner-grace-notes.json │ │ │ ├── beams-secondary-beam-breaks-implied.json │ │ │ ├── beams-secondary-beam-breaks.json │ │ │ ├── beams.json │ │ │ ├── clef-changes.json │ │ │ ├── dotted-notes.json │ │ │ ├── dynamics.json │ │ │ ├── grace-note.json │ │ │ ├── grace-notes-beamed.json │ │ │ ├── grand-staff.json │ │ │ ├── hello-world.json │ │ │ ├── jumps-dal-segno.json │ │ │ ├── jumps-ds-al-fine.json │ │ │ ├── key-signatures.json │ │ │ ├── lyric-line-metadata.json │ │ │ ├── lyrics-basic.json │ │ │ ├── lyrics-multi-line.json │ │ │ ├── multimeasure-rests.json │ │ │ ├── multiple-layouts.json │ │ │ ├── multiple-voices.json │ │ │ ├── orchestral-layout.json │ │ │ ├── organ-layout.json │ │ │ ├── ottavas-8va.json │ │ │ ├── parts.json │ │ │ ├── repeats-alternate-endings-advanced.json │ │ │ ├── repeats-alternate-endings-simple.json │ │ │ ├── repeats-implied-start-repeat.json │ │ │ ├── repeats-more-once-repeated.json │ │ │ ├── repeats.json │ │ │ ├── rest-positions.json │ │ │ ├── single-note-tremolos.json │ │ │ ├── slurs-chords.json │ │ │ ├── slurs-targeting-specific-notes.json │ │ │ ├── slurs.json │ │ │ ├── system-layouts.json │ │ │ ├── tempo-markings.json │ │ │ ├── three-note-chord-and-half-rest.json │ │ │ ├── ties.json │ │ │ ├── time-signature-glyphs.json │ │ │ ├── time-signatures.json │ │ │ ├── tuplets.json │ │ │ └── two-bar-c-major-scale.json │ │ ├── jumps-dal-segno.png │ │ ├── jumps-ds-al-fine.png │ │ ├── key-signatures.png │ │ ├── lyric_metadata.png │ │ ├── lyrics_basic.png │ │ ├── lyrics_multiline.png │ │ ├── multimeasure-rests.png │ │ ├── multiple-layouts.png │ │ ├── multiple-voices.png │ │ ├── octave-shifts-8va.png │ │ ├── orchestral-layout.png │ │ ├── organ-layout.png │ │ ├── parts.png │ │ ├── repeats-alternate-endings-advanced.png │ │ ├── repeats-alternate-endings-simple.png │ │ ├── repeats-implied-start-repeat.png │ │ ├── repeats-more-once-repeated.png │ │ ├── repeats.png │ │ ├── rest-positions.png │ │ ├── slurs-chords.png │ │ ├── slurs-targeting-specific-notes.png │ │ ├── slurs.png │ │ ├── system-layouts.png │ │ ├── tempo-marking.png │ │ ├── three-note-chord-and-half-rest.png │ │ ├── ties.png │ │ ├── time-signature-glyphs.png │ │ ├── time-signatures.png │ │ ├── tremolos.png │ │ ├── tuplets.png │ │ └── two-bar-c-major-scale.png │ ├── fonts │ │ ├── BravuraText.woff │ │ └── BravuraText.woff2 │ ├── global.js │ ├── images │ │ ├── UD-watermark.png │ │ ├── back-cg-final.png │ │ ├── group-symbols │ │ │ ├── brace.png │ │ │ ├── bracket.png │ │ │ ├── line.png │ │ │ └── square.png │ │ └── middle-c.png │ └── styles.css └── requirements.txt ├── use-cases ├── index.bs └── index.html └── w3c.json /.gitignore: -------------------------------------------------------------------------------- 1 | deploy_key 2 | .DS_Store 3 | doctools/db.sqlite3 4 | __pycache__ 5 | venv/ 6 | .idea/ 7 | -------------------------------------------------------------------------------- /CODE_OF_CONDUCT.md: -------------------------------------------------------------------------------- 1 | # Code of Conduct 2 | 3 | All documentation, code and communication under this repository are covered by the [W3C Code of Ethics and Professional Conduct](https://www.w3.org/Consortium/cepc/). 4 | -------------------------------------------------------------------------------- /CONTRIBUTING.md: -------------------------------------------------------------------------------- 1 | # Contributing to the MNX repository 2 | 3 | Here's a quick guide to our development process for folks who'd like to 4 | contribute. 5 | 6 | ## GitHub Pages 7 | 8 | The main purpose of this repository is to host the MNX specification(s) 9 | and related documents. We use GitHub Pages for this; the fully rendered 10 | specs live at [https://w3c.github.io/mnx/](https://w3c.github.io/mnx/). 11 | 12 | That GitHub Pages site uses the content in our repo's `master` branch. 13 | 14 | Please note that it takes GitHub Pages a few moments to update each 15 | time `master` is updated. 16 | 17 | ## Issue reporting 18 | 19 | Here's the general process of how we organize ideas, issues and pull 20 | requests: 21 | 22 | 1. Anybody can raise an issue in 23 | [our issue tracker](https://github.com/w3c/mnx/issues/). 24 | 2. The group co-chairs discuss and triage the issue. If it's out of 25 | scope, it might get closed outright. Otherwise, it'll be assigned a 26 | milestone -- which essentially sets a priority for the issue. See 27 | the [list of milestones](https://github.com/w3c/mnx/milestones) for 28 | descriptions of their meanings. The most important one is "V1", 29 | which covers issues that *must* be addressed in the first version 30 | of the MNX spec. 31 | 3. We assign the "Active Review" 32 | [label](https://github.com/w3c/mnx/labels) to issues that the 33 | community group wants to resolve in the near future. This basically 34 | amounts to our near-term to-do list. 35 | 36 | We welcome pull requests, but please note that each pull request should 37 | have an associated issue in our issue tracker. 38 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # MNX 2 | 3 | Welcome to the MNX project! [See documentation here](https://w3c.github.io/mnx/docs/). 4 | -------------------------------------------------------------------------------- /by-example/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 |

This page has moved! Here is the new link.

8 | 9 | 10 | -------------------------------------------------------------------------------- /docs/concepts/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Concepts in MNX | MNX specification 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 21 | 24 |
25 | 26 | 27 |
28 | 41 |
42 | 43 | 47 | 48 |

Concepts in MNX

49 | 50 | 53 | 54 |
55 |
56 | 57 | 58 | 59 | 60 | 61 | 62 | -------------------------------------------------------------------------------- /docs/infrastructure/direction-content/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Direction content | MNX specification 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 21 | 24 |
25 | 26 | 27 |
28 | 41 |
42 | 43 | 48 | 49 |

Direction content

50 | 51 |

Direction content consists of some number of musical directions that modify or accompany the performance of events in one or more measures. Directions may be included in an MNX document in two ways:

52 | 53 |
    54 |
  1. Within a <directions-part> element or a <directions-global> element (either within <part> or within <global>). The direction is considered to apply to all sequences.
  2. 55 |
  3. Within a <directions> element below a <sequence>. The direction applies only to the content within this sequence.
  4. 56 |
57 | 58 |
59 |
60 | 61 | 62 | 63 | 64 | 65 | 66 | -------------------------------------------------------------------------------- /docs/infrastructure/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Infrastructure | MNX specification 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 21 | 24 |
25 | 26 | 27 |
28 | 41 |
42 | 43 | 47 | 48 |

Infrastructure

49 | 50 | 57 | 58 |
59 |
60 | 61 | 62 | 63 | 64 | 65 | 66 | -------------------------------------------------------------------------------- /docs/infrastructure/notational-concepts/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Notational concepts | MNX specification 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 21 | 24 |
25 | 26 | 27 |
28 | 41 |
42 | 43 | 48 | 49 |

Notational concepts

50 | 51 |

This page defines various notational terms used by this specification.

52 | 53 |

Metrical position

54 | 55 |

Most notated events possess a well-defined metrical position, giving a time onset expressed as a rational number of whole note durations after the start of its containing measure. This position may be thought of as the event’s "address" and plays a determining role in the normative rendering and performance of events.

56 | 57 |

Score order and performance order

58 | 59 |

Score order is the order in which measures are visually presented to a reader. This is distinct from performance order, which is the order in which the measures are played by a performer.

60 | 61 |

For example, score order and performance order would be different in the case of a repeat or "D.S. al Coda" jump.

62 | 63 |
64 |
65 | 66 | 67 | 68 | 69 | 70 | 71 | -------------------------------------------------------------------------------- /docs/mnx-reference/data-types/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Data types used in MNX | MNX specification 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 21 | 24 |
25 | 26 | 27 |
28 | 41 |
42 | 43 | 48 | 49 |

Data types used in MNX

50 | 51 | 54 | 55 |
56 |
57 | 58 | 59 | 60 | 61 | 62 | 63 | -------------------------------------------------------------------------------- /docs/mnx-reference/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | MNX reference | MNX specification 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 21 | 24 |
25 | 26 | 27 |
28 | 41 |
42 | 43 | 47 | 48 |

MNX reference

49 | 50 |

Elements

51 |

52 | 53 | See all… 54 |

55 | 56 |

Data types

57 |

58 | 59 | See all… 60 |

61 | 62 |

Examples

63 |

64 | 65 | Multiple layouts · 66 | 67 | Multiple voices · 68 | 69 | Parts · 70 | 71 | “Hello world” · 72 | 73 | See all… 74 |

75 | 76 |
77 |
78 | 79 | 80 | 81 | 82 | 83 | 84 | -------------------------------------------------------------------------------- /docs/mnx-reference/objects/accidental-enclosure-symbol/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | The accidental enclosure symbol object | MNX specification 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 21 | 24 |
25 | 26 | 27 |
28 | 41 |
42 | 43 | 49 | 50 |

The accidental enclosure symbol object

51 | 52 |

Type: String

53 | 54 | 55 | 56 | 57 | 58 | 59 |

Allowed values:

60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 |
ValueDescription
"brackets"The accidental is enclosed in square brackets.
"parentheses"The accidental is enclosed in parentheses.
80 | 81 | 82 | 83 |

Parent objects

84 | 85 |

This object is used by the following parent objects:

86 | 87 | 92 | 93 | 94 | 95 | 96 | 97 | 98 |
99 |
100 | 101 | 102 | 103 | 104 | 105 | 106 | -------------------------------------------------------------------------------- /docs/mnx-reference/objects/alter/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | The note alter object | MNX specification 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 21 | 24 |
25 | 26 | 27 |
28 | 41 |
42 | 43 | 49 | 50 |

The note alter object

51 | 52 |

Type: Number

53 | 54 | 55 |

Describes the alteration to a note's pitch, as an integer in the range -3 to 3, inclusive.

56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 |

Parent objects

64 | 65 |

This object is used by the following parent objects:

66 | 67 | 72 | 73 | 74 | 75 | 76 |

Examples

77 | 78 |

This object is used in the following examples:

79 |

80 | Accidentals, Key signatures, Organ layout 81 |

82 | 83 | 84 | 85 |
86 |
87 | 88 | 89 | 90 | 91 | 92 | 93 | -------------------------------------------------------------------------------- /docs/mnx-reference/objects/bpm/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | The bpm object | MNX specification 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 21 | 24 |
25 | 26 | 27 |
28 | 41 |
42 | 43 | 49 | 50 |

The bpm object

51 | 52 |

Type: Number

53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 |

Parent objects

62 | 63 |

This object is used by the following parent objects:

64 | 65 | 70 | 71 | 72 | 73 | 74 |

Examples

75 | 76 |

This object is used in the following examples:

77 |

78 | Tempo markings 79 |

80 | 81 | 82 | 83 |
84 |
85 | 86 | 87 | 88 | 89 | 90 | 91 | -------------------------------------------------------------------------------- /docs/mnx-reference/objects/breath-mark-symbol/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | The breath mark symbol object | MNX specification 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 21 | 24 |
25 | 26 | 27 |
28 | 41 |
42 | 43 | 49 | 50 |

The breath mark symbol object

51 | 52 |

Type: String

53 | 54 | 55 |

See https://w3c.github.io/musicxml/musicxml-reference/data-types/breath-mark-value/

56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 |

Parent objects

64 | 65 |

This object is used by the following parent objects:

66 | 67 | 72 | 73 | 74 | 75 | 76 | 77 | 78 |
79 |
80 | 81 | 82 | 83 | 84 | 85 | 86 | -------------------------------------------------------------------------------- /docs/mnx-reference/objects/color/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | The color object | MNX specification 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 21 | 24 |
25 | 26 | 27 |
28 | 41 |
42 | 43 | 49 | 50 |

The color object

51 | 52 |

Type: String

53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 |

Parent objects

62 | 63 |

This object is used by the following parent objects:

64 | 65 | 78 | 79 | 80 | 81 | 82 | 83 | 84 |
85 |
86 | 87 | 88 | 89 | 90 | 91 | 92 | -------------------------------------------------------------------------------- /docs/mnx-reference/objects/dynamic-type/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | The dynamic type object | MNX specification 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 21 | 24 |
25 | 26 | 27 |
28 | 41 |
42 | 43 | 49 | 50 |

The dynamic type object

51 | 52 |

Type: String

53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 |

Parent objects

62 | 63 |

This object is used by the following parent objects:

64 | 65 | 70 | 71 | 72 | 73 | 74 |

Examples

75 | 76 |

This object is used in the following examples:

77 |

78 | Dynamics 79 |

80 | 81 | 82 | 83 |
84 |
85 | 86 | 87 | 88 | 89 | 90 | 91 | -------------------------------------------------------------------------------- /docs/mnx-reference/objects/ending-duration/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | The ending duration object | MNX specification 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 21 | 24 |
25 | 26 | 27 |
28 | 41 |
42 | 43 | 49 | 50 |

The ending duration object

51 | 52 |

Type: Number

53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 |

Parent objects

62 | 63 |

This object is used by the following parent objects:

64 | 65 | 70 | 71 | 72 | 73 | 74 |

Examples

75 | 76 |

This object is used in the following examples:

77 |

78 | Repeats (with alternate endings, advanced), Repeats (with alternate endings, simple) 79 |

80 | 81 | 82 | 83 |
84 |
85 | 86 | 87 | 88 | 89 | 90 | 91 | -------------------------------------------------------------------------------- /docs/mnx-reference/objects/ending-number/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | The ending number object | MNX specification 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 21 | 24 |
25 | 26 | 27 |
28 | 41 |
42 | 43 | 49 | 50 |

The ending number object

51 | 52 |

Type: Number

53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 |

Parent objects

62 | 63 |

This object is used by the following parent objects:

64 | 65 | 70 | 71 | 72 | 73 | 74 |

Examples

75 | 76 |

This object is used in the following examples:

77 |

78 | Repeats (with alternate endings, advanced), Repeats (with alternate endings, simple) 79 |

80 | 81 | 82 | 83 |
84 |
85 | 86 | 87 | 88 | 89 | 90 | 91 | -------------------------------------------------------------------------------- /docs/mnx-reference/objects/ending-open/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | The ending open object | MNX specification 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 21 | 24 |
25 | 26 | 27 |
28 | 41 |
42 | 43 | 49 | 50 |

The ending open object

51 | 52 |

Type: Boolean

53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 |

Parent objects

62 | 63 |

This object is used by the following parent objects:

64 | 65 | 70 | 71 | 72 | 73 | 74 |

Examples

75 | 76 |

This object is used in the following examples:

77 |

78 | Repeats (with alternate endings, advanced), Repeats (with alternate endings, simple) 79 |

80 | 81 | 82 | 83 |
84 |
85 | 86 | 87 | 88 | 89 | 90 | 91 | -------------------------------------------------------------------------------- /docs/mnx-reference/objects/fifths/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | The fifths object | MNX specification 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 21 | 24 |
25 | 26 | 27 |
28 | 41 |
42 | 43 | 49 | 50 |

The fifths object

51 | 52 |

Type: Number

53 | 54 | 55 |

Represents the number of flats or sharps, as in a traditional key signature. Negative numbers are used for flats and positive numbers for sharps, reflecting the key's placement within the circle of fifths (hence the name "fifths").

56 | 57 |

While there's no theoretical limit on this value, for practical purposes we recommend keeping this value between -8 and 8.

58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 |

Parent objects

66 | 67 |

This object is used by the following parent objects:

68 | 69 | 74 | 75 | 76 | 77 | 78 |

Examples

79 | 80 |

This object is used in the following examples:

81 |

82 | Accidentals, Key signatures, Organ layout 83 |

84 | 85 | 86 | 87 |
88 |
89 | 90 | 91 | 92 | 93 | 94 | 95 | -------------------------------------------------------------------------------- /docs/mnx-reference/objects/integer-signed/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | The integer (signed) object | MNX specification 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 21 | 24 |
25 | 26 | 27 |
28 | 41 |
42 | 43 | 49 | 50 |

The integer (signed) object

51 | 52 |

Type: Number

53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 |

Parent objects

62 | 63 |

This object is used by the following parent objects:

64 | 65 | 76 | 77 | 78 | 79 | 80 | 81 | 82 |
83 |
84 | 85 | 86 | 87 | 88 | 89 | 90 | -------------------------------------------------------------------------------- /docs/mnx-reference/objects/integer-unsigned/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | The integer (unsigned) object | MNX specification 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 21 | 24 |
25 | 26 | 27 |
28 | 41 |
42 | 43 | 49 | 50 |

The integer (unsigned) object

51 | 52 |

Type: Number

53 | 54 | 55 |

A non-negative integer.

56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 |

Parent objects

64 | 65 |

This object is used by the following parent objects:

66 | 67 | 74 | 75 | 76 | 77 | 78 |

Examples

79 | 80 |

This object is used in the following examples:

81 |

82 | Clef changes, Dynamics, Jumps (D.S. al Fine), Jumps (Dal Segno), Multiple layouts, Organ layout, Ottavas (8va) 83 |

84 | 85 | 86 | 87 |
88 |
89 | 90 | 91 | 92 | 93 | 94 | 95 | -------------------------------------------------------------------------------- /docs/mnx-reference/objects/jump-type/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | The jump type object | MNX specification 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 21 | 24 |
25 | 26 | 27 |
28 | 41 |
42 | 43 | 49 | 50 |

The jump type object

51 | 52 |

Type: String

53 | 54 | 55 | 56 | 57 | 58 | 59 |

Allowed values:

60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 |
ValueDescription
"dsalfine"
"segno"
80 | 81 | 82 | 83 |

Parent objects

84 | 85 |

This object is used by the following parent objects:

86 | 87 | 92 | 93 | 94 | 95 | 96 |

Examples

97 | 98 |

This object is used in the following examples:

99 |

100 | Jumps (D.S. al Fine), Jumps (Dal Segno) 101 |

102 | 103 | 104 | 105 |
106 |
107 | 108 | 109 | 110 | 111 | 112 | 113 | -------------------------------------------------------------------------------- /docs/mnx-reference/objects/kit-component-id/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | The kit component ID object | MNX specification 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 21 | 24 |
25 | 26 | 27 |
28 | 41 |
42 | 43 | 49 | 50 |

The kit component ID object

51 | 52 |

Type: String

53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 |

Parent objects

62 | 63 |

This object is used by the following parent objects:

64 | 65 | 70 | 71 | 72 | 73 | 74 | 75 | 76 |
77 |
78 | 79 | 80 | 81 | 82 | 83 | 84 | -------------------------------------------------------------------------------- /docs/mnx-reference/objects/language-code/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | The language code object | MNX specification 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 21 | 24 |
25 | 26 | 27 |
28 | 41 |
42 | 43 | 49 | 50 |

The language code object

51 | 52 |

Type: String

53 | 54 | 55 |

An RFC 5646 language code.

56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 |

Parent objects

64 | 65 |

This object is used by the following parent objects:

66 | 67 | 72 | 73 | 74 | 75 | 76 | 77 | 78 |
79 |
80 | 81 | 82 | 83 | 84 | 85 | 86 | -------------------------------------------------------------------------------- /docs/mnx-reference/objects/line-type/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | The line type object | MNX specification 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 21 | 24 |
25 | 26 | 27 |
28 | 41 |
42 | 43 | 49 | 50 |

The line type object

51 | 52 |

Type: String

53 | 54 | 55 | 56 | 57 | 58 | 59 |

Allowed values:

60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 |
ValueDescription
"dashed"
"dotted"
"solid"
"wavy"
90 | 91 | 92 | 93 |

Parent objects

94 | 95 |

This object is used by the following parent objects:

96 | 97 | 102 | 103 | 104 | 105 | 106 | 107 | 108 |
109 |
110 | 111 | 112 | 113 | 114 | 115 | 116 | -------------------------------------------------------------------------------- /docs/mnx-reference/objects/lyric-line-id/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | The lyric line ID object | MNX specification 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 21 | 24 |
25 | 26 | 27 |
28 | 41 |
42 | 43 | 49 | 50 |

The lyric line ID object

51 | 52 |

Type: String

53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 |

Parent objects

62 | 63 |

This object is used by the following parent objects:

64 | 65 | 70 | 71 | 72 | 73 | 74 |

Examples

75 | 76 |

This object is used in the following examples:

77 |

78 | Lyric line metadata 79 |

80 | 81 | 82 | 83 |
84 |
85 | 86 | 87 | 88 | 89 | 90 | 91 | -------------------------------------------------------------------------------- /docs/mnx-reference/objects/lyric-line-label/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | The lyric line label object | MNX specification 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 21 | 24 |
25 | 26 | 27 |
28 | 41 |
42 | 43 | 49 | 50 |

The lyric line label object

51 | 52 |

Type: String

53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 |

Parent objects

62 | 63 |

This object is used by the following parent objects:

64 | 65 | 70 | 71 | 72 | 73 | 74 | 75 | 76 |
77 |
78 | 79 | 80 | 81 | 82 | 83 | 84 | -------------------------------------------------------------------------------- /docs/mnx-reference/objects/measure-count/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | The measure count object | MNX specification 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 21 | 24 |
25 | 26 | 27 |
28 | 41 |
42 | 43 | 49 | 50 |

The measure count object

51 | 52 |

Type: Number

53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 |

Parent objects

62 | 63 |

This object is used by the following parent objects:

64 | 65 | 70 | 71 | 72 | 73 | 74 |

Examples

75 | 76 |

This object is used in the following examples:

77 |

78 | Multimeasure rests 79 |

80 | 81 | 82 | 83 |
84 |
85 | 86 | 87 | 88 | 89 | 90 | 91 | -------------------------------------------------------------------------------- /docs/mnx-reference/objects/midi-number/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | The MIDI number object | MNX specification 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 21 | 24 |
25 | 26 | 27 |
28 | 41 |
42 | 43 | 49 | 50 |

The MIDI number object

51 | 52 |

Type: Number

53 | 54 | 55 | A MIDI pitch — an unsigned number between 0-127, where middle C is 60. 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 |

Parent objects

64 | 65 |

This object is used by the following parent objects:

66 | 67 | 72 | 73 | 74 | 75 | 76 | 77 | 78 |
79 |
80 | 81 | 82 | 83 | 84 | 85 | 86 | -------------------------------------------------------------------------------- /docs/mnx-reference/objects/orientation/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | The orientation object | MNX specification 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 21 | 24 |
25 | 26 | 27 |
28 | 41 |
42 | 43 | 49 | 50 |

The orientation object

51 | 52 |

Type: String

53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 |

Parent objects

62 | 63 |

This object is used by the following parent objects:

64 | 65 | 76 | 77 | 78 | 79 | 80 | 81 | 82 |
83 |
84 | 85 | 86 | 87 | 88 | 89 | 90 | -------------------------------------------------------------------------------- /docs/mnx-reference/objects/part-name/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | The part name object | MNX specification 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 21 | 24 |
25 | 26 | 27 |
28 | 41 |
42 | 43 | 49 | 50 |

The part name object

51 | 52 |

Type: String

53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 |

Parent objects

62 | 63 |

This object is used by the following parent objects:

64 | 65 | 70 | 71 | 72 | 73 | 74 |

Examples

75 | 76 |

This object is used in the following examples:

77 |

78 | Grand staff piano music, Multiple layouts, Parts, System layouts, Time signature glyphs 79 |

80 | 81 | 82 | 83 |
84 |
85 | 86 | 87 | 88 | 89 | 90 | 91 | -------------------------------------------------------------------------------- /docs/mnx-reference/objects/part-short-name/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | The part short name object | MNX specification 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 21 | 24 |
25 | 26 | 27 |
28 | 41 |
42 | 43 | 49 | 50 |

The part short name object

51 | 52 |

Type: String

53 | 54 | 55 |

The part's name in abbreviated form. For example, "Vln" for violin.

56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 |

Parent objects

64 | 65 |

This object is used by the following parent objects:

66 | 67 | 72 | 73 | 74 | 75 | 76 |

Examples

77 | 78 |

This object is used in the following examples:

79 |

80 | Multiple layouts, System layouts 81 |

82 | 83 | 84 | 85 |
86 |
87 | 88 | 89 | 90 | 91 | 92 | 93 | -------------------------------------------------------------------------------- /docs/mnx-reference/objects/perform-options/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | The perform options object | MNX specification 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 21 | 24 |
25 | 26 | 27 |
28 | 41 |
42 | 43 | 49 | 50 |

The perform options object

51 | 52 |

Type: Dictionary

53 | 54 | 55 | 56 | 57 |

Attributes

58 | 59 |

This object has no attributes except for the globally available ones: _c, _x, id

60 | 61 | 62 | 63 | 64 | 65 |

Parent objects

66 | 67 |

This object is used by the following parent objects:

68 | 69 | 76 | 77 | 78 | 79 | 80 | 81 | 82 |
83 |
84 | 85 | 86 | 87 | 88 | 89 | 90 | -------------------------------------------------------------------------------- /docs/mnx-reference/objects/repeat-start/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | The repeat start object | MNX specification 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 21 | 24 |
25 | 26 | 27 |
28 | 41 |
42 | 43 | 49 | 50 |

The repeat start object

51 | 52 |

Type: Dictionary

53 | 54 | 55 | 56 | 57 |

Attributes

58 | 59 |

This object has no attributes except for the globally available ones: _c, _x, id

60 | 61 | 62 | 63 | 64 | 65 |

Parent objects

66 | 67 |

This object is used by the following parent objects:

68 | 69 | 74 | 75 | 76 | 77 | 78 |

Examples

79 | 80 |

This object is used in the following examples:

81 |

82 | Repeats, Repeats (with alternate endings, advanced), Repeats (with alternate endings, simple) 83 |

84 | 85 | 86 | 87 |
88 |
89 | 90 | 91 | 92 | 93 | 94 | 95 | -------------------------------------------------------------------------------- /docs/mnx-reference/objects/repeat-times/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | The repeat times object | MNX specification 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 21 | 24 |
25 | 26 | 27 |
28 | 41 |
42 | 43 | 49 | 50 |

The repeat times object

51 | 52 |

Type: Number

53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 |

Parent objects

62 | 63 |

This object is used by the following parent objects:

64 | 65 | 70 | 71 | 72 | 73 | 74 |

Examples

75 | 76 |

This object is used in the following examples:

77 |

78 | Repeats (more than once repeated) 79 |

80 | 81 | 82 | 83 |
84 |
85 | 86 | 87 | 88 | 89 | 90 | 91 | -------------------------------------------------------------------------------- /docs/mnx-reference/objects/score-name/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | The score name object | MNX specification 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 21 | 24 |
25 | 26 | 27 |
28 | 41 |
42 | 43 | 49 | 50 |

The score name object

51 | 52 |

Type: String

53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 |

Parent objects

62 | 63 |

This object is used by the following parent objects:

64 | 65 | 70 | 71 | 72 | 73 | 74 |

Examples

75 | 76 |

This object is used in the following examples:

77 |

78 | Multimeasure rests, Multiple layouts, Orchestral layout, Organ layout, System layouts 79 |

80 | 81 | 82 | 83 |
84 |
85 | 86 | 87 | 88 | 89 | 90 | 91 | -------------------------------------------------------------------------------- /docs/mnx-reference/objects/simple-color/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | The simple color object | MNX specification 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 21 | 24 |
25 | 26 | 27 |
28 | 41 |
42 | 43 | 49 | 50 |

The simple color object

51 | 52 |

Type: String

53 | 54 | 55 |

A simple color is a seven-character string representing the red, green and blue components of a color, as defined in the HTML standard. This is commonly known as a hexcode or hex value. 56 | 57 | Examples: #000000 (black), #ff0000 (red).

58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 |

Parent objects

66 | 67 |

This object is used by the following parent objects:

68 | 69 | 74 | 75 | 76 | 77 | 78 | 79 | 80 |
81 |
82 | 83 | 84 | 85 | 86 | 87 | 88 | -------------------------------------------------------------------------------- /docs/mnx-reference/objects/slur-tie-end-location/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | The slur/tie end location object | MNX specification 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 21 | 24 |
25 | 26 | 27 |
28 | 41 |
42 | 43 | 49 | 50 |

The slur/tie end location object

51 | 52 |

Type: String

53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 |
67 |
68 | 69 | 70 | 71 | 72 | 73 | 74 | -------------------------------------------------------------------------------- /docs/mnx-reference/objects/smufl-font/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | The smufl font object | MNX specification 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 21 | 24 |
25 | 26 | 27 |
28 | 41 |
42 | 43 | 49 | 50 |

The smufl font object

51 | 52 |

Type: String

53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 |

Parent objects

62 | 63 |

This object is used by the following parent objects:

64 | 65 | 70 | 71 | 72 | 73 | 74 | 75 | 76 |
77 |
78 | 79 | 80 | 81 | 82 | 83 | 84 | -------------------------------------------------------------------------------- /docs/mnx-reference/objects/smufl-glyph/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | The smufl glyph object | MNX specification 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 21 | 24 |
25 | 26 | 27 |
28 | 41 |
42 | 43 | 49 | 50 |

The smufl glyph object

51 | 52 |

Type: String

53 | 54 | 55 |

A string representing a glyph name in the SMuFL music-font-encoding specification. 56 | 57 | In MNX, this is generally used to override default engraving behavior. 58 | 59 | Example SMuFL glyph name: noteheadXOrnateEllipse

60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 |

Parent objects

68 | 69 |

This object is used by the following parent objects:

70 | 71 | 80 | 81 | 82 | 83 | 84 | 85 | 86 |
87 |
88 | 89 | 90 | 91 | 92 | 93 | 94 | -------------------------------------------------------------------------------- /docs/mnx-reference/objects/soft-accent/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | The soft accent object | MNX specification 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 21 | 24 |
25 | 26 | 27 |
28 | 41 |
42 | 43 | 49 | 50 |

The soft accent object

51 | 52 |

Type: Dictionary

53 | 54 | 55 | 56 | 57 |

Attributes

58 | 59 |

This object has no attributes except for the globally available ones: _c, _x, id

60 | 61 | 62 | 63 | 64 | 65 |

Parent objects

66 | 67 |

This object is used by the following parent objects:

68 | 69 | 74 | 75 | 76 | 77 | 78 | 79 | 80 |
81 |
82 | 83 | 84 | 85 | 86 | 87 | 88 | -------------------------------------------------------------------------------- /docs/mnx-reference/objects/spiccato/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | The spiccato object | MNX specification 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 21 | 24 |
25 | 26 | 27 |
28 | 41 |
42 | 43 | 49 | 50 |

The spiccato object

51 | 52 |

Type: Dictionary

53 | 54 | 55 | 56 | 57 |

Attributes

58 | 59 |

This object has no attributes except for the globally available ones: _c, _x, id

60 | 61 | 62 | 63 | 64 | 65 |

Parent objects

66 | 67 |

This object is used by the following parent objects:

68 | 69 | 74 | 75 | 76 | 77 | 78 | 79 | 80 |
81 |
82 | 83 | 84 | 85 | 86 | 87 | 88 | -------------------------------------------------------------------------------- /docs/mnx-reference/objects/staccatissimo/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | The staccatissimo object | MNX specification 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 21 | 24 |
25 | 26 | 27 |
28 | 41 |
42 | 43 | 49 | 50 |

The staccatissimo object

51 | 52 |

Type: Dictionary

53 | 54 | 55 | 56 | 57 |

Attributes

58 | 59 |

This object has no attributes except for the globally available ones: _c, _x, id

60 | 61 | 62 | 63 | 64 | 65 |

Parent objects

66 | 67 |

This object is used by the following parent objects:

68 | 69 | 74 | 75 | 76 | 77 | 78 | 79 | 80 |
81 |
82 | 83 | 84 | 85 | 86 | 87 | 88 | -------------------------------------------------------------------------------- /docs/mnx-reference/objects/staccato/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | The staccato object | MNX specification 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 21 | 24 |
25 | 26 | 27 |
28 | 41 |
42 | 43 | 49 | 50 |

The staccato object

51 | 52 |

Type: Dictionary

53 | 54 | 55 | 56 | 57 |

Attributes

58 | 59 |

This object has no attributes except for the globally available ones: _c, _x, id

60 | 61 | 62 | 63 | 64 | 65 |

Parent objects

66 | 67 |

This object is used by the following parent objects:

68 | 69 | 74 | 75 | 76 | 77 | 78 |

Examples

79 | 80 |

This object is used in the following examples:

81 |

82 | Articulations 83 |

84 | 85 | 86 | 87 |
88 |
89 | 90 | 91 | 92 | 93 | 94 | 95 | -------------------------------------------------------------------------------- /docs/mnx-reference/objects/staff-count/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | The staff count object | MNX specification 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 21 | 24 |
25 | 26 | 27 |
28 | 41 |
42 | 43 | 49 | 50 |

The staff count object

51 | 52 |

Type: Number

53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 |

Parent objects

62 | 63 |

This object is used by the following parent objects:

64 | 65 | 70 | 71 | 72 | 73 | 74 |

Examples

75 | 76 |

This object is used in the following examples:

77 |

78 | Grand staff piano music, Orchestral layout, Organ layout, System layouts 79 |

80 | 81 | 82 | 83 |
84 |
85 | 86 | 87 | 88 | 89 | 90 | 91 | -------------------------------------------------------------------------------- /docs/mnx-reference/objects/staff-label/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | The staff label object | MNX specification 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 21 | 24 |
25 | 26 | 27 |
28 | 41 |
42 | 43 | 49 | 50 |

The staff label object

51 | 52 |

Type: String

53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 |

Parent objects

62 | 63 |

This object is used by the following parent objects:

64 | 65 | 74 | 75 | 76 | 77 | 78 |

Examples

79 | 80 |

This object is used in the following examples:

81 |

82 | Multiple layouts, Orchestral layout, System layouts 83 |

84 | 85 | 86 | 87 |
88 |
89 | 90 | 91 | 92 | 93 | 94 | 95 | -------------------------------------------------------------------------------- /docs/mnx-reference/objects/staff-labelref/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | The staff labelref object | MNX specification 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 21 | 24 |
25 | 26 | 27 |
28 | 41 |
42 | 43 | 49 | 50 |

The staff labelref object

51 | 52 |

Type: String

53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 |

Parent objects

62 | 63 |

This object is used by the following parent objects:

64 | 65 | 72 | 73 | 74 | 75 | 76 |

Examples

77 | 78 |

This object is used in the following examples:

79 |

80 | Multiple layouts, System layouts 81 |

82 | 83 | 84 | 85 |
86 |
87 | 88 | 89 | 90 | 91 | 92 | 93 | -------------------------------------------------------------------------------- /docs/mnx-reference/objects/stress-marking/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | The stress marking object | MNX specification 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 21 | 24 |
25 | 26 | 27 |
28 | 41 |
42 | 43 | 49 | 50 |

The stress marking object

51 | 52 |

Type: Dictionary

53 | 54 | 55 | 56 | 57 |

Attributes

58 | 59 |

This object has no attributes except for the globally available ones: _c, _x, id

60 | 61 | 62 | 63 | 64 | 65 |

Parent objects

66 | 67 |

This object is used by the following parent objects:

68 | 69 | 74 | 75 | 76 | 77 | 78 | 79 | 80 |
81 |
82 | 83 | 84 | 85 | 86 | 87 | 88 | -------------------------------------------------------------------------------- /docs/mnx-reference/objects/string/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | The string object | MNX specification 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 21 | 24 |
25 | 26 | 27 |
28 | 41 |
42 | 43 | 49 | 50 |

The string object

51 | 52 |

Type: String

53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 |

Parent objects

62 | 63 |

This object is used by the following parent objects:

64 | 65 | 76 | 77 | 78 | 79 | 80 | 81 | 82 |
83 |
84 | 85 | 86 | 87 | 88 | 89 | 90 | -------------------------------------------------------------------------------- /docs/mnx-reference/objects/tenuto/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | The tenuto object | MNX specification 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 21 | 24 |
25 | 26 | 27 |
28 | 41 |
42 | 43 | 49 | 50 |

The tenuto object

51 | 52 |

Type: Dictionary

53 | 54 | 55 | 56 | 57 |

Attributes

58 | 59 |

This object has no attributes except for the globally available ones: _c, _x, id

60 | 61 | 62 | 63 | 64 | 65 |

Parent objects

66 | 67 |

This object is used by the following parent objects:

68 | 69 | 74 | 75 | 76 | 77 | 78 |

Examples

79 | 80 |

This object is used in the following examples:

81 |

82 | Articulations 83 |

84 | 85 | 86 | 87 |
88 |
89 | 90 | 91 | 92 | 93 | 94 | 95 | -------------------------------------------------------------------------------- /docs/mnx-reference/objects/unstress-marking/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | The unstress marking object | MNX specification 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 21 | 24 |
25 | 26 | 27 |
28 | 41 |
42 | 43 | 49 | 50 |

The unstress marking object

51 | 52 |

Type: Dictionary

53 | 54 | 55 | 56 | 57 |

Attributes

58 | 59 |

This object has no attributes except for the globally available ones: _c, _x, id

60 | 61 | 62 | 63 | 64 | 65 |

Parent objects

66 | 67 |

This object is used by the following parent objects:

68 | 69 | 74 | 75 | 76 | 77 | 78 | 79 | 80 |
81 |
82 | 83 | 84 | 85 | 86 | 87 | 88 | -------------------------------------------------------------------------------- /docs/mnx-reference/objects/up-or-down/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | The up or down object | MNX specification 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 21 | 24 |
25 | 26 | 27 |
28 | 41 |
42 | 43 | 49 | 50 |

The up or down object

51 | 52 |

Type: String

53 | 54 | 55 | 56 | 57 | 58 | 59 |

Allowed values:

60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 |
ValueDescription
"down"
"up"
80 | 81 | 82 | 83 |

Parent objects

84 | 85 |

This object is used by the following parent objects:

86 | 87 | 94 | 95 | 96 | 97 | 98 | 99 | 100 |
101 |
102 | 103 | 104 | 105 | 106 | 107 | 108 | -------------------------------------------------------------------------------- /docs/mnx-reference/objects/vendor-dict/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | The vendor dict object | MNX specification 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 21 | 24 |
25 | 26 | 27 |
28 | 41 |
42 | 43 | 49 | 50 |

The vendor dict object

51 | 52 |

Type: Dictionary

53 | 54 | 55 |

A dictionary with vendor-specific data. See the "_x" global attribute for more.

56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 |

Parent objects

64 | 65 |

This object is used by the following parent objects:

66 | 67 | 72 | 73 | 74 | 75 | 76 | 77 | 78 |
79 |
80 | 81 | 82 | 83 | 84 | 85 | 86 | -------------------------------------------------------------------------------- /docs/mnx-reference/objects/voice-name/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | The voice name object | MNX specification 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 21 | 24 |
25 | 26 | 27 |
28 | 41 |
42 | 43 | 49 | 50 |

The voice name object

51 | 52 |

Type: String

53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 |

Parent objects

62 | 63 |

This object is used by the following parent objects:

64 | 65 | 76 | 77 | 78 | 79 | 80 |

Examples

81 | 82 |

This object is used in the following examples:

83 |

84 | Orchestral layout, Organ layout 85 |

86 | 87 | 88 | 89 |
90 |
91 | 92 | 93 | 94 | 95 | 96 | 97 | -------------------------------------------------------------------------------- /docs/mnx-reference/objects/yes-no-auto/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | The yes, no or auto object | MNX specification 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 21 | 24 |
25 | 26 | 27 |
28 | 41 |
42 | 43 | 49 | 50 |

The yes, no or auto object

51 | 52 |

Type: String

53 | 54 | 55 | 56 | 57 | 58 | 59 |

Allowed values:

60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 |
ValueDescription
"auto"
"no"
"yes"
85 | 86 | 87 | 88 |

Parent objects

89 | 90 |

This object is used by the following parent objects:

91 | 92 | 97 | 98 | 99 | 100 | 101 | 102 | 103 |
104 |
105 | 106 | 107 | 108 | 109 | 110 | 111 | -------------------------------------------------------------------------------- /docs/static/examples/accidentals.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/w3c/mnx/13d752f5f7b32d031d8cdffc94206e5741509aaf/docs/static/examples/accidentals.png -------------------------------------------------------------------------------- /docs/static/examples/articulations.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/w3c/mnx/13d752f5f7b32d031d8cdffc94206e5741509aaf/docs/static/examples/articulations.png -------------------------------------------------------------------------------- /docs/static/examples/beam-hooks.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/w3c/mnx/13d752f5f7b32d031d8cdffc94206e5741509aaf/docs/static/examples/beam-hooks.png -------------------------------------------------------------------------------- /docs/static/examples/beams-across-barlines.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/w3c/mnx/13d752f5f7b32d031d8cdffc94206e5741509aaf/docs/static/examples/beams-across-barlines.png -------------------------------------------------------------------------------- /docs/static/examples/beams-grace-notes.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/w3c/mnx/13d752f5f7b32d031d8cdffc94206e5741509aaf/docs/static/examples/beams-grace-notes.png -------------------------------------------------------------------------------- /docs/static/examples/beams-inner-grace-notes.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/w3c/mnx/13d752f5f7b32d031d8cdffc94206e5741509aaf/docs/static/examples/beams-inner-grace-notes.png -------------------------------------------------------------------------------- /docs/static/examples/beams-secondary-beam-breaks.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/w3c/mnx/13d752f5f7b32d031d8cdffc94206e5741509aaf/docs/static/examples/beams-secondary-beam-breaks.png -------------------------------------------------------------------------------- /docs/static/examples/beams.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/w3c/mnx/13d752f5f7b32d031d8cdffc94206e5741509aaf/docs/static/examples/beams.png -------------------------------------------------------------------------------- /docs/static/examples/clef-changes.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/w3c/mnx/13d752f5f7b32d031d8cdffc94206e5741509aaf/docs/static/examples/clef-changes.png -------------------------------------------------------------------------------- /docs/static/examples/dotted-notes.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/w3c/mnx/13d752f5f7b32d031d8cdffc94206e5741509aaf/docs/static/examples/dotted-notes.png -------------------------------------------------------------------------------- /docs/static/examples/dynamics.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/w3c/mnx/13d752f5f7b32d031d8cdffc94206e5741509aaf/docs/static/examples/dynamics.png -------------------------------------------------------------------------------- /docs/static/examples/grace-note.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/w3c/mnx/13d752f5f7b32d031d8cdffc94206e5741509aaf/docs/static/examples/grace-note.png -------------------------------------------------------------------------------- /docs/static/examples/grand-staff.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/w3c/mnx/13d752f5f7b32d031d8cdffc94206e5741509aaf/docs/static/examples/grand-staff.png -------------------------------------------------------------------------------- /docs/static/examples/hello-world.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/w3c/mnx/13d752f5f7b32d031d8cdffc94206e5741509aaf/docs/static/examples/hello-world.png -------------------------------------------------------------------------------- /docs/static/examples/json/beams-across-barlines.json: -------------------------------------------------------------------------------- 1 | { 2 | "mnx": { 3 | "version": 1, 4 | "support": {"useBeams": true} 5 | }, 6 | "global": { 7 | "measures": [ 8 | { 9 | "time": {"count": 4, "unit": 4} 10 | }, 11 | {} 12 | ] 13 | }, 14 | "parts": [ 15 | { 16 | "measures": [ 17 | { 18 | "_x": { 19 | "mnxdocs": { 20 | "highlight": ["beams"] 21 | } 22 | }, 23 | "beams": [ 24 | { 25 | "events": ["ev3", "ev4", "ev5", "ev6"] 26 | } 27 | ], 28 | "clefs": [ 29 | {"clef": {"sign": "G", "staffPosition": -2}} 30 | ], 31 | "sequences": [ 32 | { 33 | "content": [ 34 | { 35 | "duration": {"base": "half"}, 36 | "rest": {} 37 | }, 38 | { 39 | "duration": {"base": "quarter"}, 40 | "rest": {} 41 | }, 42 | { 43 | "id": "ev3", 44 | "duration": {"base": "eighth"}, 45 | "notes": [ 46 | {"pitch": {"step": "C", "octave": 5}} 47 | ] 48 | }, 49 | { 50 | "id": "ev4", 51 | "duration": {"base": "eighth"}, 52 | "notes": [ 53 | {"pitch": {"step": "D", "octave": 5}} 54 | ] 55 | } 56 | ] 57 | } 58 | ] 59 | }, 60 | { 61 | "sequences": [ 62 | { 63 | "content": [ 64 | { 65 | "id": "ev5", 66 | "duration": {"base": "eighth"}, 67 | "notes": [ 68 | {"pitch": {"step": "E", "octave": 5}} 69 | ] 70 | }, 71 | { 72 | "id": "ev6", 73 | "duration": {"base": "eighth"}, 74 | "notes": [ 75 | {"pitch": {"step": "F", "octave": 5}} 76 | ] 77 | }, 78 | { 79 | "duration": {"base": "quarter"}, 80 | "rest": {} 81 | }, 82 | { 83 | "duration": {"base": "half"}, 84 | "rest": {} 85 | } 86 | ] 87 | } 88 | ] 89 | } 90 | ] 91 | } 92 | ] 93 | } 94 | -------------------------------------------------------------------------------- /docs/static/examples/json/dotted-notes.json: -------------------------------------------------------------------------------- 1 | { 2 | "mnx": {"version": 1}, 3 | "global": { 4 | "measures": [ 5 | { 6 | "time": {"count": 4, "unit": 4} 7 | } 8 | ] 9 | }, 10 | "parts": [ 11 | { 12 | "measures": [ 13 | { 14 | "clefs": [ 15 | {"clef": {"sign": "G", "staffPosition": -2}} 16 | ], 17 | "sequences": [ 18 | { 19 | "content": [ 20 | { 21 | "duration": {"base": "quarter", "dots": 1}, 22 | "notes": [ 23 | {"pitch": {"step": "G", "octave": 4}}, 24 | {"pitch": {"step": "C", "octave": 5}} 25 | ] 26 | }, 27 | { 28 | "duration": {"base": "eighth"}, 29 | "notes": [ 30 | {"pitch": {"step": "E", "octave": 5}} 31 | ] 32 | }, 33 | { 34 | "duration": {"base": "quarter", "dots": 1}, 35 | "notes": [ 36 | {"pitch": {"step": "F", "octave": 4}}, 37 | {"pitch": {"step": "D", "octave": 5}} 38 | ] 39 | }, 40 | { 41 | "duration": {"base": "eighth"}, 42 | "notes": [ 43 | {"pitch": {"step": "F", "octave": 5}} 44 | ] 45 | } 46 | ] 47 | } 48 | ] 49 | } 50 | ] 51 | } 52 | ] 53 | } -------------------------------------------------------------------------------- /docs/static/examples/json/grace-note.json: -------------------------------------------------------------------------------- 1 | { 2 | "mnx": {"version": 1}, 3 | "global": { 4 | "measures": [ 5 | { 6 | "time": {"count": 4, "unit": 4} 7 | } 8 | ] 9 | }, 10 | "parts": [ 11 | { 12 | "measures": [ 13 | { 14 | "clefs": [ 15 | {"clef": {"sign": "G", "staffPosition": -2}} 16 | ], 17 | "sequences": [ 18 | { 19 | "content": [ 20 | { 21 | "_x": { 22 | "mnxdocs": { 23 | "highlight": ["type"] 24 | } 25 | }, 26 | "type": "grace", 27 | "content": [ 28 | { 29 | "duration": {"base": "eighth"}, 30 | "notes": [ 31 | {"pitch": {"step": "B", "octave": 4}} 32 | ] 33 | } 34 | ] 35 | }, 36 | { 37 | "duration": {"base": "whole"}, 38 | "notes": [ 39 | {"pitch": {"step": "C", "octave": 5}} 40 | ] 41 | } 42 | ] 43 | } 44 | ] 45 | } 46 | ] 47 | } 48 | ] 49 | } 50 | -------------------------------------------------------------------------------- /docs/static/examples/json/hello-world.json: -------------------------------------------------------------------------------- 1 | { 2 | "mnx": {"version": 1}, 3 | "global": { 4 | "measures": [ 5 | { 6 | "barline": {"type": "regular"}, 7 | "time": {"count": 4, "unit": 4} 8 | } 9 | ] 10 | }, 11 | "parts": [ 12 | { 13 | "measures": [ 14 | { 15 | "clefs": [ 16 | {"clef": {"sign": "G", "staffPosition": -2}} 17 | ], 18 | "sequences": [ 19 | { 20 | "content": [ 21 | { 22 | "duration": {"base": "whole"}, 23 | "notes": [ 24 | {"pitch": {"step": "C", "octave": 4}} 25 | ] 26 | } 27 | ] 28 | } 29 | ] 30 | } 31 | ] 32 | } 33 | ] 34 | } -------------------------------------------------------------------------------- /docs/static/examples/json/jumps-dal-segno.json: -------------------------------------------------------------------------------- 1 | { 2 | "mnx": {"version": 1}, 3 | "global": { 4 | "measures": [ 5 | { 6 | "time": {"count": 4, "unit": 4} 7 | }, 8 | { 9 | "_x": { 10 | "mnxdocs": { 11 | "highlight": ["segno"] 12 | } 13 | }, 14 | "segno": {"location": {"fraction": [0, 1]}} 15 | }, 16 | {}, 17 | {}, 18 | { 19 | "_x": { 20 | "mnxdocs": { 21 | "highlight": ["jump"] 22 | } 23 | }, 24 | "jump": {"type": "segno", "location": {"fraction": [1, 1]}} 25 | } 26 | ] 27 | }, 28 | "parts": [ 29 | { 30 | "measures": [ 31 | { 32 | "clefs": [ 33 | {"clef": {"sign": "G", "staffPosition": -2}} 34 | ], 35 | "sequences": [ 36 | { 37 | "content": [ 38 | { 39 | "duration": {"base": "whole"}, 40 | "notes": [ 41 | {"pitch": {"step": "C", "octave": 5}} 42 | ] 43 | } 44 | ] 45 | } 46 | ] 47 | }, 48 | { 49 | "sequences": [ 50 | { 51 | "content": [ 52 | { 53 | "duration": {"base": "whole"}, 54 | "notes": [ 55 | {"pitch": {"step": "E", "octave": 5}} 56 | ] 57 | } 58 | ] 59 | } 60 | ] 61 | }, 62 | { 63 | "sequences": [ 64 | { 65 | "content": [ 66 | { 67 | "duration": {"base": "whole"}, 68 | "notes": [ 69 | {"pitch": {"step": "C", "octave": 5}} 70 | ] 71 | } 72 | ] 73 | } 74 | ] 75 | }, 76 | { 77 | "sequences": [ 78 | { 79 | "content": [ 80 | { 81 | "duration": {"base": "whole"}, 82 | "notes": [ 83 | {"pitch": {"step": "F", "octave": 5}} 84 | ] 85 | } 86 | ] 87 | } 88 | ] 89 | }, 90 | { 91 | "sequences": [ 92 | { 93 | "content": [ 94 | { 95 | "duration": {"base": "whole"}, 96 | "notes": [ 97 | {"pitch": {"step": "C", "octave": 5}} 98 | ] 99 | } 100 | ] 101 | } 102 | ] 103 | } 104 | ] 105 | } 106 | ] 107 | } 108 | -------------------------------------------------------------------------------- /docs/static/examples/json/ottavas-8va.json: -------------------------------------------------------------------------------- 1 | { 2 | "mnx": {"version": 1}, 3 | "global": { 4 | "measures": [ 5 | { 6 | "time": {"count": 4, "unit": 4} 7 | }, 8 | {} 9 | ] 10 | }, 11 | "parts": [ 12 | { 13 | "measures": [ 14 | { 15 | "_x": { 16 | "mnxdocs": { 17 | "highlight": ["ottavas"] 18 | } 19 | }, 20 | "clefs": [ 21 | {"clef": {"sign": "G", "staffPosition": -2}} 22 | ], 23 | "ottavas": [ 24 | { 25 | "value": 1, 26 | "position": {"fraction": [1, 2]}, 27 | "end": {"measure": 2, "position": {"fraction": [1, 2]}} 28 | } 29 | ], 30 | "sequences": [ 31 | { 32 | "content": [ 33 | { 34 | "duration": {"base": "quarter"}, 35 | "notes": [ 36 | {"pitch": {"step": "C", "octave": 5}} 37 | ] 38 | }, 39 | { 40 | "duration": {"base": "quarter"}, 41 | "notes": [ 42 | {"pitch": {"step": "E", "octave": 5}} 43 | ] 44 | }, 45 | { 46 | "duration": {"base": "half"}, 47 | "notes": [ 48 | {"pitch": {"step": "C", "octave": 7}} 49 | ] 50 | } 51 | ] 52 | } 53 | ] 54 | }, 55 | { 56 | "sequences": [ 57 | { 58 | "content": [ 59 | { 60 | "duration": {"base": "half"}, 61 | "notes": [ 62 | {"pitch": {"step": "E", "octave": 7}} 63 | ] 64 | }, 65 | { 66 | "duration": {"base": "quarter"}, 67 | "notes": [ 68 | {"pitch": {"step": "C", "octave": 7}} 69 | ] 70 | }, 71 | { 72 | "duration": {"base": "quarter"}, 73 | "notes": [ 74 | {"pitch": {"step": "C", "octave": 6}} 75 | ] 76 | } 77 | ] 78 | } 79 | ] 80 | } 81 | ] 82 | } 83 | ] 84 | } 85 | -------------------------------------------------------------------------------- /docs/static/examples/json/repeats-alternate-endings-simple.json: -------------------------------------------------------------------------------- 1 | { 2 | "mnx": {"version": 1}, 3 | "global": { 4 | "measures": [ 5 | { 6 | "_x": { 7 | "mnxdocs": { 8 | "highlight": ["repeatStart"] 9 | } 10 | }, 11 | "time": {"count": 4, "unit": 4}, 12 | "repeatStart": {} 13 | }, 14 | { 15 | "_x": { 16 | "mnxdocs": { 17 | "highlight": ["repeatEnd", "ending"] 18 | } 19 | }, 20 | "repeatEnd": {}, 21 | "ending": {"numbers": [1], "duration": 1} 22 | }, 23 | { 24 | "_x": { 25 | "mnxdocs": { 26 | "highlight": ["repeatEnd", "ending"] 27 | } 28 | }, 29 | "repeatEnd": {}, 30 | "ending": {"numbers": [2], "duration": 1} 31 | }, 32 | { 33 | "_x": { 34 | "mnxdocs": { 35 | "highlight": ["ending"] 36 | } 37 | }, 38 | "ending": {"numbers": [3], "duration": 1, "open": true} 39 | } 40 | ] 41 | }, 42 | "parts": [ 43 | { 44 | "measures": [ 45 | { 46 | "clefs": [ 47 | {"clef": {"sign": "G", "staffPosition": -2}} 48 | ], 49 | "sequences": [ 50 | { 51 | "content": [ 52 | { 53 | "duration": {"base": "whole"}, 54 | "notes": [ 55 | {"pitch": {"step": "C", "octave": 5}} 56 | ] 57 | } 58 | ] 59 | } 60 | ] 61 | }, 62 | { 63 | "sequences": [ 64 | { 65 | "content": [ 66 | { 67 | "duration": {"base": "whole"}, 68 | "notes": [ 69 | {"pitch": {"step": "E", "octave": 5}} 70 | ] 71 | } 72 | ] 73 | } 74 | ] 75 | }, 76 | { 77 | "sequences": [ 78 | { 79 | "content": [ 80 | { 81 | "duration": {"base": "whole"}, 82 | "notes": [ 83 | {"pitch": {"step": "G", "octave": 4}} 84 | ] 85 | } 86 | ] 87 | } 88 | ] 89 | }, 90 | { 91 | "sequences": [ 92 | { 93 | "content": [ 94 | { 95 | "duration": {"base": "whole"}, 96 | "notes": [ 97 | {"pitch": {"step": "C", "octave": 5}} 98 | ] 99 | } 100 | ] 101 | } 102 | ] 103 | } 104 | ] 105 | } 106 | ] 107 | } 108 | -------------------------------------------------------------------------------- /docs/static/examples/json/repeats-implied-start-repeat.json: -------------------------------------------------------------------------------- 1 | { 2 | "mnx": {"version": 1}, 3 | "global": { 4 | "measures": [ 5 | { 6 | "_x": { 7 | "mnxdocs": { 8 | "highlight": ["repeatEnd"] 9 | } 10 | }, 11 | "time": {"count": 4, "unit": 4}, 12 | "repeatEnd": {} 13 | } 14 | ] 15 | }, 16 | "parts": [ 17 | { 18 | "measures": [ 19 | { 20 | "clefs": [ 21 | {"clef": {"sign": "G", "staffPosition": -2}} 22 | ], 23 | "sequences": [ 24 | { 25 | "content": [ 26 | { 27 | "duration": {"base": "whole"}, 28 | "notes": [ 29 | {"pitch": {"step": "C", "octave": 5}} 30 | ] 31 | } 32 | ] 33 | } 34 | ] 35 | } 36 | ] 37 | } 38 | ] 39 | } 40 | -------------------------------------------------------------------------------- /docs/static/examples/json/repeats-more-once-repeated.json: -------------------------------------------------------------------------------- 1 | { 2 | "mnx": {"version": 1}, 3 | "global": { 4 | "measures": [ 5 | { 6 | "_x": { 7 | "mnxdocs": { 8 | "highlight": ["repeatEnd"] 9 | } 10 | }, 11 | "time": {"count": 4, "unit": 4}, 12 | "repeatEnd": {"times": 4} 13 | } 14 | ] 15 | }, 16 | "parts": [ 17 | { 18 | "measures": [ 19 | { 20 | "clefs": [ 21 | {"clef": {"sign": "G", "staffPosition": -2}} 22 | ], 23 | "sequences": [ 24 | { 25 | "content": [ 26 | { 27 | "duration": {"base": "whole"}, 28 | "notes": [ 29 | {"pitch": {"step": "C", "octave": 5}} 30 | ] 31 | } 32 | ] 33 | } 34 | ] 35 | } 36 | ] 37 | } 38 | ] 39 | } 40 | -------------------------------------------------------------------------------- /docs/static/examples/json/repeats.json: -------------------------------------------------------------------------------- 1 | { 2 | "mnx": {"version": 1}, 3 | "global": { 4 | "measures": [ 5 | { 6 | "_x": { 7 | "mnxdocs": { 8 | "highlight": ["repeatStart", "repeatEnd"] 9 | } 10 | }, 11 | "time": {"count": 4, "unit": 4}, 12 | "repeatStart": {}, 13 | "repeatEnd": {} 14 | } 15 | ] 16 | }, 17 | "parts": [ 18 | { 19 | "measures": [ 20 | { 21 | "clefs": [ 22 | {"clef": {"sign": "G", "staffPosition": -2}} 23 | ], 24 | "sequences": [ 25 | { 26 | "content": [ 27 | { 28 | "duration": {"base": "whole"}, 29 | "notes": [ 30 | {"pitch": {"step": "C", "octave": 5}} 31 | ] 32 | } 33 | ] 34 | } 35 | ] 36 | } 37 | ] 38 | } 39 | ] 40 | } 41 | -------------------------------------------------------------------------------- /docs/static/examples/json/slurs-chords.json: -------------------------------------------------------------------------------- 1 | { 2 | "mnx": {"version": 1}, 3 | "global": { 4 | "measures": [ 5 | { 6 | "time": {"count": 4, "unit": 4} 7 | } 8 | ] 9 | }, 10 | "parts": [ 11 | { 12 | "measures": [ 13 | { 14 | "clefs": [ 15 | {"clef": {"sign": "G", "staffPosition": -2}} 16 | ], 17 | "sequences": [ 18 | { 19 | "content": [ 20 | { 21 | "_x": { 22 | "mnxdocs": { 23 | "highlight": ["slurs"] 24 | } 25 | }, 26 | "id": "ev1", 27 | "duration": {"base": "quarter"}, 28 | "notes": [ 29 | {"pitch": {"step": "C", "octave": 5}}, 30 | {"pitch": {"step": "E", "octave": 5}} 31 | ], 32 | "slurs": [ 33 | {"side": "up", "target": "ev4"} 34 | ] 35 | }, 36 | { 37 | "id": "ev2", 38 | "duration": {"base": "quarter"}, 39 | "notes": [ 40 | {"pitch": {"step": "D", "octave": 5}}, 41 | {"pitch": {"step": "F", "octave": 5}} 42 | ] 43 | }, 44 | { 45 | "id": "ev3", 46 | "duration": {"base": "quarter"}, 47 | "notes": [ 48 | {"pitch": {"step": "E", "octave": 5}}, 49 | {"pitch": {"step": "G", "octave": 5}} 50 | ] 51 | }, 52 | { 53 | "id": "ev4", 54 | "duration": {"base": "quarter"}, 55 | "notes": [ 56 | {"pitch": {"step": "F", "octave": 5}}, 57 | {"pitch": {"step": "A", "octave": 5}} 58 | ] 59 | } 60 | ] 61 | } 62 | ] 63 | } 64 | ] 65 | } 66 | ] 67 | } 68 | -------------------------------------------------------------------------------- /docs/static/examples/json/slurs-targeting-specific-notes.json: -------------------------------------------------------------------------------- 1 | { 2 | "mnx": {"version": 1}, 3 | "global": { 4 | "measures": [ 5 | { 6 | "time": {"count": 4, "unit": 4} 7 | } 8 | ] 9 | }, 10 | "parts": [ 11 | { 12 | "measures": [ 13 | { 14 | "clefs": [ 15 | {"clef": {"sign": "G", "staffPosition": -2}} 16 | ], 17 | "sequences": [ 18 | { 19 | "content": [ 20 | { 21 | "_x": { 22 | "mnxdocs": { 23 | "highlight": ["slurs"] 24 | } 25 | }, 26 | "id": "ev1", 27 | "duration": {"base": "half"}, 28 | "notes": [ 29 | {"pitch": {"step": "C", "octave": 5}, "id": "note1"}, 30 | {"pitch": {"step": "E", "octave": 5}, "id": "note2"}, 31 | {"pitch": {"step": "G", "octave": 5}, "id": "note3"} 32 | ], 33 | "slurs": [ 34 | {"side": "down", "target": "ev2", "startNote": "note1", "endNote": "note4"}, 35 | {"side": "up", "target": "ev2", "startNote": "note2", "endNote": "note5"}, 36 | {"side": "up", "target": "ev2", "startNote": "note3", "endNote": "note6"} 37 | ] 38 | }, 39 | { 40 | "id": "ev2", 41 | "duration": {"base": "half"}, 42 | "notes": [ 43 | {"pitch": {"step": "B", "octave": 4}, "id": "note4"}, 44 | {"pitch": {"step": "D", "octave": 5}, "id": "note5"}, 45 | {"pitch": {"step": "F", "octave": 5}, "id": "note6"} 46 | ] 47 | } 48 | ] 49 | } 50 | ] 51 | } 52 | ] 53 | } 54 | ] 55 | } 56 | -------------------------------------------------------------------------------- /docs/static/examples/json/tempo-markings.json: -------------------------------------------------------------------------------- 1 | { 2 | "mnx": {"version": 1}, 3 | "global": { 4 | "measures": [ 5 | { 6 | "_x": { 7 | "mnxdocs": { 8 | "highlight": ["tempos"] 9 | } 10 | }, 11 | "time": {"count": 4, "unit": 4}, 12 | "tempos": [ 13 | {"value": {"base": "quarter"}, "bpm": 200} 14 | ] 15 | }, 16 | {} 17 | ] 18 | }, 19 | "parts": [ 20 | { 21 | "measures": [ 22 | { 23 | "clefs": [ 24 | {"clef": {"sign": "G", "staffPosition": -2}} 25 | ], 26 | "sequences": [ 27 | { 28 | "content": [ 29 | { 30 | "duration": {"base": "quarter"}, 31 | "notes": [ 32 | {"pitch": {"step": "C", "octave": 5}} 33 | ] 34 | }, 35 | { 36 | "duration": {"base": "quarter"}, 37 | "notes": [ 38 | {"pitch": {"step": "E", "octave": 5}} 39 | ] 40 | }, 41 | { 42 | "duration": {"base": "quarter"}, 43 | "notes": [ 44 | {"pitch": {"step": "G", "octave": 4}} 45 | ] 46 | }, 47 | { 48 | "duration": {"base": "quarter"}, 49 | "notes": [ 50 | {"pitch": {"step": "E", "octave": 5}} 51 | ] 52 | } 53 | ] 54 | } 55 | ] 56 | }, 57 | { 58 | "sequences": [ 59 | { 60 | "content": [ 61 | { 62 | "duration": {"base": "quarter"}, 63 | "notes": [ 64 | {"pitch": {"step": "C", "octave": 5}} 65 | ] 66 | }, 67 | { 68 | "duration": {"base": "quarter"}, 69 | "notes": [ 70 | {"pitch": {"step": "E", "octave": 5}} 71 | ] 72 | }, 73 | { 74 | "duration": {"base": "quarter"}, 75 | "notes": [ 76 | {"pitch": {"step": "G", "octave": 5}} 77 | ] 78 | }, 79 | { 80 | "duration": {"base": "quarter"}, 81 | "notes": [ 82 | {"pitch": {"step": "C", "octave": 6}} 83 | ] 84 | } 85 | ] 86 | } 87 | ] 88 | } 89 | ] 90 | } 91 | ] 92 | } 93 | -------------------------------------------------------------------------------- /docs/static/examples/json/three-note-chord-and-half-rest.json: -------------------------------------------------------------------------------- 1 | { 2 | "mnx": {"version": 1}, 3 | "global": { 4 | "measures": [ 5 | { 6 | "barline": {"type": "regular"}, 7 | "time": {"count": 4, "unit": 4} 8 | } 9 | ] 10 | }, 11 | "parts": [ 12 | { 13 | "measures": [ 14 | { 15 | "clefs": [ 16 | {"clef": {"sign": "G", "staffPosition": -2}} 17 | ], 18 | "sequences": [ 19 | { 20 | "content": [ 21 | { 22 | "duration": {"base": "half"}, 23 | "notes": [ 24 | {"pitch": {"step": "C", "octave": 4}}, 25 | {"pitch": {"step": "E", "octave": 4}}, 26 | {"pitch": {"step": "G", "octave": 4}} 27 | ] 28 | }, 29 | { 30 | "duration": {"base": "half"}, 31 | "rest": {} 32 | } 33 | ] 34 | } 35 | ] 36 | } 37 | ] 38 | } 39 | ] 40 | } -------------------------------------------------------------------------------- /docs/static/examples/json/two-bar-c-major-scale.json: -------------------------------------------------------------------------------- 1 | { 2 | "mnx": {"version": 1}, 3 | "global": { 4 | "measures": [ 5 | { 6 | "time": {"count": 4, "unit": 4} 7 | }, 8 | { 9 | "barline": {"type": "regular"} 10 | } 11 | ] 12 | }, 13 | "parts": [ 14 | { 15 | "measures": [ 16 | { 17 | "clefs": [ 18 | {"clef": {"sign": "G", "staffPosition": -2}} 19 | ], 20 | "sequences": [ 21 | { 22 | "content": [ 23 | { 24 | "duration": {"base": "quarter"}, 25 | "notes": [ 26 | {"pitch": {"step": "C", "octave": 4}} 27 | ] 28 | }, 29 | { 30 | "duration": {"base": "quarter"}, 31 | "notes": [ 32 | {"pitch": {"step": "D", "octave": 4}} 33 | ] 34 | }, 35 | { 36 | "duration": {"base": "quarter"}, 37 | "notes": [ 38 | {"pitch": {"step": "E", "octave": 4}} 39 | ] 40 | }, 41 | { 42 | "duration": {"base": "quarter"}, 43 | "notes": [ 44 | {"pitch": {"step": "F", "octave": 4}} 45 | ] 46 | } 47 | ] 48 | } 49 | ] 50 | }, 51 | { 52 | "sequences": [ 53 | { 54 | "content": [ 55 | { 56 | "duration": {"base": "quarter"}, 57 | "notes": [ 58 | {"pitch": {"step": "G", "octave": 4}} 59 | ] 60 | }, 61 | { 62 | "duration": {"base": "quarter"}, 63 | "notes": [ 64 | {"pitch": {"step": "A", "octave": 4}} 65 | ] 66 | }, 67 | { 68 | "duration": {"base": "quarter"}, 69 | "notes": [ 70 | {"pitch": {"step": "B", "octave": 4}} 71 | ] 72 | }, 73 | { 74 | "duration": {"base": "quarter"}, 75 | "notes": [ 76 | {"pitch": {"step": "C", "octave": 5}} 77 | ] 78 | } 79 | ] 80 | } 81 | ] 82 | } 83 | ] 84 | } 85 | ] 86 | } -------------------------------------------------------------------------------- /docs/static/examples/jumps-dal-segno.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/w3c/mnx/13d752f5f7b32d031d8cdffc94206e5741509aaf/docs/static/examples/jumps-dal-segno.png -------------------------------------------------------------------------------- /docs/static/examples/jumps-ds-al-fine.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/w3c/mnx/13d752f5f7b32d031d8cdffc94206e5741509aaf/docs/static/examples/jumps-ds-al-fine.png -------------------------------------------------------------------------------- /docs/static/examples/key-signatures.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/w3c/mnx/13d752f5f7b32d031d8cdffc94206e5741509aaf/docs/static/examples/key-signatures.png -------------------------------------------------------------------------------- /docs/static/examples/lyric_metadata.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/w3c/mnx/13d752f5f7b32d031d8cdffc94206e5741509aaf/docs/static/examples/lyric_metadata.png -------------------------------------------------------------------------------- /docs/static/examples/lyrics_basic.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/w3c/mnx/13d752f5f7b32d031d8cdffc94206e5741509aaf/docs/static/examples/lyrics_basic.png -------------------------------------------------------------------------------- /docs/static/examples/lyrics_multiline.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/w3c/mnx/13d752f5f7b32d031d8cdffc94206e5741509aaf/docs/static/examples/lyrics_multiline.png -------------------------------------------------------------------------------- /docs/static/examples/multimeasure-rests.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/w3c/mnx/13d752f5f7b32d031d8cdffc94206e5741509aaf/docs/static/examples/multimeasure-rests.png -------------------------------------------------------------------------------- /docs/static/examples/multiple-layouts.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/w3c/mnx/13d752f5f7b32d031d8cdffc94206e5741509aaf/docs/static/examples/multiple-layouts.png -------------------------------------------------------------------------------- /docs/static/examples/multiple-voices.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/w3c/mnx/13d752f5f7b32d031d8cdffc94206e5741509aaf/docs/static/examples/multiple-voices.png -------------------------------------------------------------------------------- /docs/static/examples/octave-shifts-8va.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/w3c/mnx/13d752f5f7b32d031d8cdffc94206e5741509aaf/docs/static/examples/octave-shifts-8va.png -------------------------------------------------------------------------------- /docs/static/examples/orchestral-layout.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/w3c/mnx/13d752f5f7b32d031d8cdffc94206e5741509aaf/docs/static/examples/orchestral-layout.png -------------------------------------------------------------------------------- /docs/static/examples/organ-layout.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/w3c/mnx/13d752f5f7b32d031d8cdffc94206e5741509aaf/docs/static/examples/organ-layout.png -------------------------------------------------------------------------------- /docs/static/examples/parts.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/w3c/mnx/13d752f5f7b32d031d8cdffc94206e5741509aaf/docs/static/examples/parts.png -------------------------------------------------------------------------------- /docs/static/examples/repeats-alternate-endings-advanced.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/w3c/mnx/13d752f5f7b32d031d8cdffc94206e5741509aaf/docs/static/examples/repeats-alternate-endings-advanced.png -------------------------------------------------------------------------------- /docs/static/examples/repeats-alternate-endings-simple.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/w3c/mnx/13d752f5f7b32d031d8cdffc94206e5741509aaf/docs/static/examples/repeats-alternate-endings-simple.png -------------------------------------------------------------------------------- /docs/static/examples/repeats-implied-start-repeat.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/w3c/mnx/13d752f5f7b32d031d8cdffc94206e5741509aaf/docs/static/examples/repeats-implied-start-repeat.png -------------------------------------------------------------------------------- /docs/static/examples/repeats-more-once-repeated.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/w3c/mnx/13d752f5f7b32d031d8cdffc94206e5741509aaf/docs/static/examples/repeats-more-once-repeated.png -------------------------------------------------------------------------------- /docs/static/examples/repeats.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/w3c/mnx/13d752f5f7b32d031d8cdffc94206e5741509aaf/docs/static/examples/repeats.png -------------------------------------------------------------------------------- /docs/static/examples/rest-positions.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/w3c/mnx/13d752f5f7b32d031d8cdffc94206e5741509aaf/docs/static/examples/rest-positions.png -------------------------------------------------------------------------------- /docs/static/examples/slurs-chords.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/w3c/mnx/13d752f5f7b32d031d8cdffc94206e5741509aaf/docs/static/examples/slurs-chords.png -------------------------------------------------------------------------------- /docs/static/examples/slurs-targeting-specific-notes.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/w3c/mnx/13d752f5f7b32d031d8cdffc94206e5741509aaf/docs/static/examples/slurs-targeting-specific-notes.png -------------------------------------------------------------------------------- /docs/static/examples/slurs.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/w3c/mnx/13d752f5f7b32d031d8cdffc94206e5741509aaf/docs/static/examples/slurs.png -------------------------------------------------------------------------------- /docs/static/examples/system-layouts.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/w3c/mnx/13d752f5f7b32d031d8cdffc94206e5741509aaf/docs/static/examples/system-layouts.png -------------------------------------------------------------------------------- /docs/static/examples/tempo-marking.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/w3c/mnx/13d752f5f7b32d031d8cdffc94206e5741509aaf/docs/static/examples/tempo-marking.png -------------------------------------------------------------------------------- /docs/static/examples/three-note-chord-and-half-rest.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/w3c/mnx/13d752f5f7b32d031d8cdffc94206e5741509aaf/docs/static/examples/three-note-chord-and-half-rest.png -------------------------------------------------------------------------------- /docs/static/examples/ties.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/w3c/mnx/13d752f5f7b32d031d8cdffc94206e5741509aaf/docs/static/examples/ties.png -------------------------------------------------------------------------------- /docs/static/examples/time-signature-glyphs.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/w3c/mnx/13d752f5f7b32d031d8cdffc94206e5741509aaf/docs/static/examples/time-signature-glyphs.png -------------------------------------------------------------------------------- /docs/static/examples/time-signatures.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/w3c/mnx/13d752f5f7b32d031d8cdffc94206e5741509aaf/docs/static/examples/time-signatures.png -------------------------------------------------------------------------------- /docs/static/examples/tremolos.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/w3c/mnx/13d752f5f7b32d031d8cdffc94206e5741509aaf/docs/static/examples/tremolos.png -------------------------------------------------------------------------------- /docs/static/examples/tuplets.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/w3c/mnx/13d752f5f7b32d031d8cdffc94206e5741509aaf/docs/static/examples/tuplets.png -------------------------------------------------------------------------------- /docs/static/examples/two-bar-c-major-scale.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/w3c/mnx/13d752f5f7b32d031d8cdffc94206e5741509aaf/docs/static/examples/two-bar-c-major-scale.png -------------------------------------------------------------------------------- /docs/static/fonts/BravuraText.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/w3c/mnx/13d752f5f7b32d031d8cdffc94206e5741509aaf/docs/static/fonts/BravuraText.woff -------------------------------------------------------------------------------- /docs/static/fonts/BravuraText.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/w3c/mnx/13d752f5f7b32d031d8cdffc94206e5741509aaf/docs/static/fonts/BravuraText.woff2 -------------------------------------------------------------------------------- /docs/static/global.js: -------------------------------------------------------------------------------- 1 | (function(){ 2 | var mq = window.matchMedia('(max-width: 800px)'); 3 | if (mq.matches) { 4 | document.body.classList.remove("has-sidenav"); 5 | } 6 | mq.addEventListener('change', (e) => { 7 | if(mq.matches) { 8 | document.body.classList.remove("has-sidenav"); 9 | } 10 | }); 11 | var toggle = document.getElementById('toggle'); 12 | toggle.addEventListener('click', (e) => { 13 | document.body.classList.toggle("has-sidenav"); 14 | }); 15 | })(); 16 | -------------------------------------------------------------------------------- /docs/static/images/UD-watermark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/w3c/mnx/13d752f5f7b32d031d8cdffc94206e5741509aaf/docs/static/images/UD-watermark.png -------------------------------------------------------------------------------- /docs/static/images/back-cg-final.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/w3c/mnx/13d752f5f7b32d031d8cdffc94206e5741509aaf/docs/static/images/back-cg-final.png -------------------------------------------------------------------------------- /docs/static/images/group-symbols/brace.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/w3c/mnx/13d752f5f7b32d031d8cdffc94206e5741509aaf/docs/static/images/group-symbols/brace.png -------------------------------------------------------------------------------- /docs/static/images/group-symbols/bracket.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/w3c/mnx/13d752f5f7b32d031d8cdffc94206e5741509aaf/docs/static/images/group-symbols/bracket.png -------------------------------------------------------------------------------- /docs/static/images/group-symbols/line.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/w3c/mnx/13d752f5f7b32d031d8cdffc94206e5741509aaf/docs/static/images/group-symbols/line.png -------------------------------------------------------------------------------- /docs/static/images/group-symbols/square.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/w3c/mnx/13d752f5f7b32d031d8cdffc94206e5741509aaf/docs/static/images/group-symbols/square.png -------------------------------------------------------------------------------- /docs/static/images/middle-c.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/w3c/mnx/13d752f5f7b32d031d8cdffc94206e5741509aaf/docs/static/images/middle-c.png -------------------------------------------------------------------------------- /doctools/docgenerator/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/w3c/mnx/13d752f5f7b32d031d8cdffc94206e5741509aaf/doctools/docgenerator/__init__.py -------------------------------------------------------------------------------- /doctools/docgenerator/asgi.py: -------------------------------------------------------------------------------- 1 | """ 2 | ASGI config for docgenerator project. 3 | 4 | It exposes the ASGI callable as a module-level variable named ``application``. 5 | 6 | For more information on this file, see 7 | https://docs.djangoproject.com/en/3.1/howto/deployment/asgi/ 8 | """ 9 | 10 | import os 11 | 12 | from django.core.asgi import get_asgi_application 13 | 14 | os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'docgenerator.settings') 15 | 16 | application = get_asgi_application() 17 | -------------------------------------------------------------------------------- /doctools/docgenerator/settings.py: -------------------------------------------------------------------------------- 1 | from pathlib import Path 2 | 3 | BASE_DIR = Path(__file__).resolve().parent.parent 4 | SECRET_KEY = 'z*i6mb-i!jjgcmiopy@1=)j=)svgo-08jd6b$1($=2gycmstrn' 5 | DEBUG = True 6 | 7 | IS_MUSICXML = False 8 | IS_MNX = True 9 | 10 | ALLOWED_HOSTS = ['*'] 11 | 12 | INSTALLED_APPS = [ 13 | 'django.contrib.admin', 14 | 'django.contrib.auth', 15 | 'django.contrib.contenttypes', 16 | 'django.contrib.sessions', 17 | 'django.contrib.messages', 18 | 'django.contrib.staticfiles', 19 | 'spectools', 20 | ] 21 | 22 | MIDDLEWARE = [ 23 | 'django.middleware.security.SecurityMiddleware', 24 | 'django.contrib.sessions.middleware.SessionMiddleware', 25 | 'django.middleware.common.CommonMiddleware', 26 | 'django.middleware.csrf.CsrfViewMiddleware', 27 | 'django.contrib.auth.middleware.AuthenticationMiddleware', 28 | 'django.contrib.messages.middleware.MessageMiddleware', 29 | 'django.middleware.clickjacking.XFrameOptionsMiddleware', 30 | ] 31 | 32 | ROOT_URLCONF = 'docgenerator.urls' 33 | 34 | TEMPLATES = [ 35 | { 36 | 'BACKEND': 'django.template.backends.django.DjangoTemplates', 37 | 'DIRS': [], 38 | 'APP_DIRS': True, 39 | 'OPTIONS': { 40 | 'context_processors': [ 41 | 'django.template.context_processors.debug', 42 | 'django.template.context_processors.request', 43 | 'django.contrib.auth.context_processors.auth', 44 | 'django.contrib.messages.context_processors.messages', 45 | 'spectools.context_processors.docs_global_variables', 46 | ], 47 | 'builtins': ['spectools.tags'], 48 | }, 49 | }, 50 | ] 51 | 52 | WSGI_APPLICATION = 'docgenerator.wsgi.application' 53 | 54 | DATABASES = { 55 | 'default': { 56 | 'ENGINE': 'django.db.backends.sqlite3', 57 | 'NAME': BASE_DIR / 'db.sqlite3', 58 | } 59 | } 60 | 61 | AUTH_PASSWORD_VALIDATORS = [ 62 | { 63 | 'NAME': 'django.contrib.auth.password_validation.UserAttributeSimilarityValidator', 64 | }, 65 | { 66 | 'NAME': 'django.contrib.auth.password_validation.MinimumLengthValidator', 67 | }, 68 | { 69 | 'NAME': 'django.contrib.auth.password_validation.CommonPasswordValidator', 70 | }, 71 | { 72 | 'NAME': 'django.contrib.auth.password_validation.NumericPasswordValidator', 73 | }, 74 | ] 75 | 76 | LANGUAGE_CODE = 'en-us' 77 | TIME_ZONE = 'UTC' 78 | USE_I18N = True 79 | USE_L10N = True 80 | USE_TZ = True 81 | STATIC_URL = f'/static/' 82 | STATICFILES_DIRS = [BASE_DIR / 'media'] 83 | DEFAULT_AUTO_FIELD = 'django.db.models.AutoField' 84 | -------------------------------------------------------------------------------- /doctools/docgenerator/urls.py: -------------------------------------------------------------------------------- 1 | from django.contrib import admin 2 | from django.urls import path, re_path 3 | from spectools import views 4 | 5 | urlpatterns = [ 6 | path('', views.homepage, name='homepage'), 7 | path('-reference/', views.reference_homepage, name='reference_homepage'), 8 | path('-reference/data-types/', views.data_type_list, name='data_type_list'), 9 | path('-reference/data-types//', views.data_type_detail, name='data_type_detail'), 10 | path('-reference/elements/', views.element_list, name='element_list'), 11 | path('-reference/elements//', views.element_detail, name='element_detail'), 12 | path('-reference/element-tree/', views.element_tree, name='element_tree'), 13 | path('-reference/examples/', views.example_list, name='example_list'), 14 | path('-reference/examples//', views.example_detail, name='example_detail'), 15 | path('-reference/objects/', views.json_object_list, name='json_object_list'), 16 | path('-reference/objects//', views.json_object_detail, name='json_object_detail'), 17 | path('-schema.json', views.json_schema, name='json_schema'), 18 | path('concepts/', views.concept_list, name='concept_list'), 19 | path('concepts//', views.concept_detail, name='concept_detail'), 20 | path('comparisons//', views.format_comparison_detail, name='format_comparison_detail'), 21 | path('admin/', admin.site.urls), 22 | re_path(r'^.*$', views.static_page_or_collection_detail), 23 | ] 24 | -------------------------------------------------------------------------------- /doctools/docgenerator/wsgi.py: -------------------------------------------------------------------------------- 1 | """ 2 | WSGI config for docgenerator project. 3 | 4 | It exposes the WSGI callable as a module-level variable named ``application``. 5 | 6 | For more information on this file, see 7 | https://docs.djangoproject.com/en/3.1/howto/deployment/wsgi/ 8 | """ 9 | 10 | import os 11 | 12 | from django.core.wsgi import get_wsgi_application 13 | 14 | os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'docgenerator.settings') 15 | 16 | application = get_wsgi_application() 17 | -------------------------------------------------------------------------------- /doctools/manage.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | """Django's command-line utility for administrative tasks.""" 3 | import os 4 | import sys 5 | 6 | 7 | def main(): 8 | """Run administrative tasks.""" 9 | os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'docgenerator.settings') 10 | try: 11 | from django.core.management import execute_from_command_line 12 | except ImportError as exc: 13 | raise ImportError( 14 | "Couldn't import Django. Are you sure it's installed and " 15 | "available on your PYTHONPATH environment variable? Did you " 16 | "forget to activate a virtual environment?" 17 | ) from exc 18 | execute_from_command_line(sys.argv) 19 | 20 | 21 | if __name__ == '__main__': 22 | main() 23 | -------------------------------------------------------------------------------- /doctools/media/examples/accidentals.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/w3c/mnx/13d752f5f7b32d031d8cdffc94206e5741509aaf/doctools/media/examples/accidentals.png -------------------------------------------------------------------------------- /doctools/media/examples/articulations.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/w3c/mnx/13d752f5f7b32d031d8cdffc94206e5741509aaf/doctools/media/examples/articulations.png -------------------------------------------------------------------------------- /doctools/media/examples/beam-hooks.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/w3c/mnx/13d752f5f7b32d031d8cdffc94206e5741509aaf/doctools/media/examples/beam-hooks.png -------------------------------------------------------------------------------- /doctools/media/examples/beams-across-barlines.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/w3c/mnx/13d752f5f7b32d031d8cdffc94206e5741509aaf/doctools/media/examples/beams-across-barlines.png -------------------------------------------------------------------------------- /doctools/media/examples/beams-grace-notes.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/w3c/mnx/13d752f5f7b32d031d8cdffc94206e5741509aaf/doctools/media/examples/beams-grace-notes.png -------------------------------------------------------------------------------- /doctools/media/examples/beams-inner-grace-notes.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/w3c/mnx/13d752f5f7b32d031d8cdffc94206e5741509aaf/doctools/media/examples/beams-inner-grace-notes.png -------------------------------------------------------------------------------- /doctools/media/examples/beams-secondary-beam-breaks.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/w3c/mnx/13d752f5f7b32d031d8cdffc94206e5741509aaf/doctools/media/examples/beams-secondary-beam-breaks.png -------------------------------------------------------------------------------- /doctools/media/examples/beams.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/w3c/mnx/13d752f5f7b32d031d8cdffc94206e5741509aaf/doctools/media/examples/beams.png -------------------------------------------------------------------------------- /doctools/media/examples/clef-changes.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/w3c/mnx/13d752f5f7b32d031d8cdffc94206e5741509aaf/doctools/media/examples/clef-changes.png -------------------------------------------------------------------------------- /doctools/media/examples/dotted-notes.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/w3c/mnx/13d752f5f7b32d031d8cdffc94206e5741509aaf/doctools/media/examples/dotted-notes.png -------------------------------------------------------------------------------- /doctools/media/examples/dynamics.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/w3c/mnx/13d752f5f7b32d031d8cdffc94206e5741509aaf/doctools/media/examples/dynamics.png -------------------------------------------------------------------------------- /doctools/media/examples/grace-note.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/w3c/mnx/13d752f5f7b32d031d8cdffc94206e5741509aaf/doctools/media/examples/grace-note.png -------------------------------------------------------------------------------- /doctools/media/examples/grand-staff.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/w3c/mnx/13d752f5f7b32d031d8cdffc94206e5741509aaf/doctools/media/examples/grand-staff.png -------------------------------------------------------------------------------- /doctools/media/examples/hello-world.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/w3c/mnx/13d752f5f7b32d031d8cdffc94206e5741509aaf/doctools/media/examples/hello-world.png -------------------------------------------------------------------------------- /doctools/media/examples/json/beams-across-barlines.json: -------------------------------------------------------------------------------- 1 | { 2 | "mnx": { 3 | "version": 1, 4 | "support": {"useBeams": true} 5 | }, 6 | "global": { 7 | "measures": [ 8 | { 9 | "time": {"count": 4, "unit": 4} 10 | }, 11 | {} 12 | ] 13 | }, 14 | "parts": [ 15 | { 16 | "measures": [ 17 | { 18 | "_x": { 19 | "mnxdocs": { 20 | "highlight": ["beams"] 21 | } 22 | }, 23 | "beams": [ 24 | { 25 | "events": ["ev3", "ev4", "ev5", "ev6"] 26 | } 27 | ], 28 | "clefs": [ 29 | {"clef": {"sign": "G", "staffPosition": -2}} 30 | ], 31 | "sequences": [ 32 | { 33 | "content": [ 34 | { 35 | "duration": {"base": "half"}, 36 | "rest": {} 37 | }, 38 | { 39 | "duration": {"base": "quarter"}, 40 | "rest": {} 41 | }, 42 | { 43 | "id": "ev3", 44 | "duration": {"base": "eighth"}, 45 | "notes": [ 46 | {"pitch": {"step": "C", "octave": 5}} 47 | ] 48 | }, 49 | { 50 | "id": "ev4", 51 | "duration": {"base": "eighth"}, 52 | "notes": [ 53 | {"pitch": {"step": "D", "octave": 5}} 54 | ] 55 | } 56 | ] 57 | } 58 | ] 59 | }, 60 | { 61 | "sequences": [ 62 | { 63 | "content": [ 64 | { 65 | "id": "ev5", 66 | "duration": {"base": "eighth"}, 67 | "notes": [ 68 | {"pitch": {"step": "E", "octave": 5}} 69 | ] 70 | }, 71 | { 72 | "id": "ev6", 73 | "duration": {"base": "eighth"}, 74 | "notes": [ 75 | {"pitch": {"step": "F", "octave": 5}} 76 | ] 77 | }, 78 | { 79 | "duration": {"base": "quarter"}, 80 | "rest": {} 81 | }, 82 | { 83 | "duration": {"base": "half"}, 84 | "rest": {} 85 | } 86 | ] 87 | } 88 | ] 89 | } 90 | ] 91 | } 92 | ] 93 | } 94 | -------------------------------------------------------------------------------- /doctools/media/examples/json/dotted-notes.json: -------------------------------------------------------------------------------- 1 | { 2 | "mnx": {"version": 1}, 3 | "global": { 4 | "measures": [ 5 | { 6 | "time": {"count": 4, "unit": 4} 7 | } 8 | ] 9 | }, 10 | "parts": [ 11 | { 12 | "measures": [ 13 | { 14 | "clefs": [ 15 | {"clef": {"sign": "G", "staffPosition": -2}} 16 | ], 17 | "sequences": [ 18 | { 19 | "content": [ 20 | { 21 | "duration": {"base": "quarter", "dots": 1}, 22 | "notes": [ 23 | {"pitch": {"step": "G", "octave": 4}}, 24 | {"pitch": {"step": "C", "octave": 5}} 25 | ] 26 | }, 27 | { 28 | "duration": {"base": "eighth"}, 29 | "notes": [ 30 | {"pitch": {"step": "E", "octave": 5}} 31 | ] 32 | }, 33 | { 34 | "duration": {"base": "quarter", "dots": 1}, 35 | "notes": [ 36 | {"pitch": {"step": "F", "octave": 4}}, 37 | {"pitch": {"step": "D", "octave": 5}} 38 | ] 39 | }, 40 | { 41 | "duration": {"base": "eighth"}, 42 | "notes": [ 43 | {"pitch": {"step": "F", "octave": 5}} 44 | ] 45 | } 46 | ] 47 | } 48 | ] 49 | } 50 | ] 51 | } 52 | ] 53 | } -------------------------------------------------------------------------------- /doctools/media/examples/json/grace-note.json: -------------------------------------------------------------------------------- 1 | { 2 | "mnx": {"version": 1}, 3 | "global": { 4 | "measures": [ 5 | { 6 | "time": {"count": 4, "unit": 4} 7 | } 8 | ] 9 | }, 10 | "parts": [ 11 | { 12 | "measures": [ 13 | { 14 | "clefs": [ 15 | {"clef": {"sign": "G", "staffPosition": -2}} 16 | ], 17 | "sequences": [ 18 | { 19 | "content": [ 20 | { 21 | "_x": { 22 | "mnxdocs": { 23 | "highlight": ["type"] 24 | } 25 | }, 26 | "type": "grace", 27 | "content": [ 28 | { 29 | "duration": {"base": "eighth"}, 30 | "notes": [ 31 | {"pitch": {"step": "B", "octave": 4}} 32 | ] 33 | } 34 | ] 35 | }, 36 | { 37 | "duration": {"base": "whole"}, 38 | "notes": [ 39 | {"pitch": {"step": "C", "octave": 5}} 40 | ] 41 | } 42 | ] 43 | } 44 | ] 45 | } 46 | ] 47 | } 48 | ] 49 | } 50 | -------------------------------------------------------------------------------- /doctools/media/examples/json/hello-world.json: -------------------------------------------------------------------------------- 1 | { 2 | "mnx": {"version": 1}, 3 | "global": { 4 | "measures": [ 5 | { 6 | "barline": {"type": "regular"}, 7 | "time": {"count": 4, "unit": 4} 8 | } 9 | ] 10 | }, 11 | "parts": [ 12 | { 13 | "measures": [ 14 | { 15 | "clefs": [ 16 | {"clef": {"sign": "G", "staffPosition": -2}} 17 | ], 18 | "sequences": [ 19 | { 20 | "content": [ 21 | { 22 | "duration": {"base": "whole"}, 23 | "notes": [ 24 | {"pitch": {"step": "C", "octave": 4}} 25 | ] 26 | } 27 | ] 28 | } 29 | ] 30 | } 31 | ] 32 | } 33 | ] 34 | } -------------------------------------------------------------------------------- /doctools/media/examples/json/jumps-dal-segno.json: -------------------------------------------------------------------------------- 1 | { 2 | "mnx": {"version": 1}, 3 | "global": { 4 | "measures": [ 5 | { 6 | "time": {"count": 4, "unit": 4} 7 | }, 8 | { 9 | "_x": { 10 | "mnxdocs": { 11 | "highlight": ["segno"] 12 | } 13 | }, 14 | "segno": {"location": {"fraction": [0, 1]}} 15 | }, 16 | {}, 17 | {}, 18 | { 19 | "_x": { 20 | "mnxdocs": { 21 | "highlight": ["jump"] 22 | } 23 | }, 24 | "jump": {"type": "segno", "location": {"fraction": [1, 1]}} 25 | } 26 | ] 27 | }, 28 | "parts": [ 29 | { 30 | "measures": [ 31 | { 32 | "clefs": [ 33 | {"clef": {"sign": "G", "staffPosition": -2}} 34 | ], 35 | "sequences": [ 36 | { 37 | "content": [ 38 | { 39 | "duration": {"base": "whole"}, 40 | "notes": [ 41 | {"pitch": {"step": "C", "octave": 5}} 42 | ] 43 | } 44 | ] 45 | } 46 | ] 47 | }, 48 | { 49 | "sequences": [ 50 | { 51 | "content": [ 52 | { 53 | "duration": {"base": "whole"}, 54 | "notes": [ 55 | {"pitch": {"step": "E", "octave": 5}} 56 | ] 57 | } 58 | ] 59 | } 60 | ] 61 | }, 62 | { 63 | "sequences": [ 64 | { 65 | "content": [ 66 | { 67 | "duration": {"base": "whole"}, 68 | "notes": [ 69 | {"pitch": {"step": "C", "octave": 5}} 70 | ] 71 | } 72 | ] 73 | } 74 | ] 75 | }, 76 | { 77 | "sequences": [ 78 | { 79 | "content": [ 80 | { 81 | "duration": {"base": "whole"}, 82 | "notes": [ 83 | {"pitch": {"step": "F", "octave": 5}} 84 | ] 85 | } 86 | ] 87 | } 88 | ] 89 | }, 90 | { 91 | "sequences": [ 92 | { 93 | "content": [ 94 | { 95 | "duration": {"base": "whole"}, 96 | "notes": [ 97 | {"pitch": {"step": "C", "octave": 5}} 98 | ] 99 | } 100 | ] 101 | } 102 | ] 103 | } 104 | ] 105 | } 106 | ] 107 | } 108 | -------------------------------------------------------------------------------- /doctools/media/examples/json/ottavas-8va.json: -------------------------------------------------------------------------------- 1 | { 2 | "mnx": {"version": 1}, 3 | "global": { 4 | "measures": [ 5 | { 6 | "time": {"count": 4, "unit": 4} 7 | }, 8 | {} 9 | ] 10 | }, 11 | "parts": [ 12 | { 13 | "measures": [ 14 | { 15 | "_x": { 16 | "mnxdocs": { 17 | "highlight": ["ottavas"] 18 | } 19 | }, 20 | "clefs": [ 21 | {"clef": {"sign": "G", "staffPosition": -2}} 22 | ], 23 | "ottavas": [ 24 | { 25 | "value": 1, 26 | "position": {"fraction": [1, 2]}, 27 | "end": {"measure": 2, "position": {"fraction": [1, 2]}} 28 | } 29 | ], 30 | "sequences": [ 31 | { 32 | "content": [ 33 | { 34 | "duration": {"base": "quarter"}, 35 | "notes": [ 36 | {"pitch": {"step": "C", "octave": 5}} 37 | ] 38 | }, 39 | { 40 | "duration": {"base": "quarter"}, 41 | "notes": [ 42 | {"pitch": {"step": "E", "octave": 5}} 43 | ] 44 | }, 45 | { 46 | "duration": {"base": "half"}, 47 | "notes": [ 48 | {"pitch": {"step": "C", "octave": 7}} 49 | ] 50 | } 51 | ] 52 | } 53 | ] 54 | }, 55 | { 56 | "sequences": [ 57 | { 58 | "content": [ 59 | { 60 | "duration": {"base": "half"}, 61 | "notes": [ 62 | {"pitch": {"step": "E", "octave": 7}} 63 | ] 64 | }, 65 | { 66 | "duration": {"base": "quarter"}, 67 | "notes": [ 68 | {"pitch": {"step": "C", "octave": 7}} 69 | ] 70 | }, 71 | { 72 | "duration": {"base": "quarter"}, 73 | "notes": [ 74 | {"pitch": {"step": "C", "octave": 6}} 75 | ] 76 | } 77 | ] 78 | } 79 | ] 80 | } 81 | ] 82 | } 83 | ] 84 | } 85 | -------------------------------------------------------------------------------- /doctools/media/examples/json/repeats-alternate-endings-simple.json: -------------------------------------------------------------------------------- 1 | { 2 | "mnx": {"version": 1}, 3 | "global": { 4 | "measures": [ 5 | { 6 | "_x": { 7 | "mnxdocs": { 8 | "highlight": ["repeatStart"] 9 | } 10 | }, 11 | "time": {"count": 4, "unit": 4}, 12 | "repeatStart": {} 13 | }, 14 | { 15 | "_x": { 16 | "mnxdocs": { 17 | "highlight": ["repeatEnd", "ending"] 18 | } 19 | }, 20 | "repeatEnd": {}, 21 | "ending": {"numbers": [1], "duration": 1} 22 | }, 23 | { 24 | "_x": { 25 | "mnxdocs": { 26 | "highlight": ["repeatEnd", "ending"] 27 | } 28 | }, 29 | "repeatEnd": {}, 30 | "ending": {"numbers": [2], "duration": 1} 31 | }, 32 | { 33 | "_x": { 34 | "mnxdocs": { 35 | "highlight": ["ending"] 36 | } 37 | }, 38 | "ending": {"numbers": [3], "duration": 1, "open": true} 39 | } 40 | ] 41 | }, 42 | "parts": [ 43 | { 44 | "measures": [ 45 | { 46 | "clefs": [ 47 | {"clef": {"sign": "G", "staffPosition": -2}} 48 | ], 49 | "sequences": [ 50 | { 51 | "content": [ 52 | { 53 | "duration": {"base": "whole"}, 54 | "notes": [ 55 | {"pitch": {"step": "C", "octave": 5}} 56 | ] 57 | } 58 | ] 59 | } 60 | ] 61 | }, 62 | { 63 | "sequences": [ 64 | { 65 | "content": [ 66 | { 67 | "duration": {"base": "whole"}, 68 | "notes": [ 69 | {"pitch": {"step": "E", "octave": 5}} 70 | ] 71 | } 72 | ] 73 | } 74 | ] 75 | }, 76 | { 77 | "sequences": [ 78 | { 79 | "content": [ 80 | { 81 | "duration": {"base": "whole"}, 82 | "notes": [ 83 | {"pitch": {"step": "G", "octave": 4}} 84 | ] 85 | } 86 | ] 87 | } 88 | ] 89 | }, 90 | { 91 | "sequences": [ 92 | { 93 | "content": [ 94 | { 95 | "duration": {"base": "whole"}, 96 | "notes": [ 97 | {"pitch": {"step": "C", "octave": 5}} 98 | ] 99 | } 100 | ] 101 | } 102 | ] 103 | } 104 | ] 105 | } 106 | ] 107 | } 108 | -------------------------------------------------------------------------------- /doctools/media/examples/json/repeats-implied-start-repeat.json: -------------------------------------------------------------------------------- 1 | { 2 | "mnx": {"version": 1}, 3 | "global": { 4 | "measures": [ 5 | { 6 | "_x": { 7 | "mnxdocs": { 8 | "highlight": ["repeatEnd"] 9 | } 10 | }, 11 | "time": {"count": 4, "unit": 4}, 12 | "repeatEnd": {} 13 | } 14 | ] 15 | }, 16 | "parts": [ 17 | { 18 | "measures": [ 19 | { 20 | "clefs": [ 21 | {"clef": {"sign": "G", "staffPosition": -2}} 22 | ], 23 | "sequences": [ 24 | { 25 | "content": [ 26 | { 27 | "duration": {"base": "whole"}, 28 | "notes": [ 29 | {"pitch": {"step": "C", "octave": 5}} 30 | ] 31 | } 32 | ] 33 | } 34 | ] 35 | } 36 | ] 37 | } 38 | ] 39 | } 40 | -------------------------------------------------------------------------------- /doctools/media/examples/json/repeats-more-once-repeated.json: -------------------------------------------------------------------------------- 1 | { 2 | "mnx": {"version": 1}, 3 | "global": { 4 | "measures": [ 5 | { 6 | "_x": { 7 | "mnxdocs": { 8 | "highlight": ["repeatEnd"] 9 | } 10 | }, 11 | "time": {"count": 4, "unit": 4}, 12 | "repeatEnd": {"times": 4} 13 | } 14 | ] 15 | }, 16 | "parts": [ 17 | { 18 | "measures": [ 19 | { 20 | "clefs": [ 21 | {"clef": {"sign": "G", "staffPosition": -2}} 22 | ], 23 | "sequences": [ 24 | { 25 | "content": [ 26 | { 27 | "duration": {"base": "whole"}, 28 | "notes": [ 29 | {"pitch": {"step": "C", "octave": 5}} 30 | ] 31 | } 32 | ] 33 | } 34 | ] 35 | } 36 | ] 37 | } 38 | ] 39 | } 40 | -------------------------------------------------------------------------------- /doctools/media/examples/json/repeats.json: -------------------------------------------------------------------------------- 1 | { 2 | "mnx": {"version": 1}, 3 | "global": { 4 | "measures": [ 5 | { 6 | "_x": { 7 | "mnxdocs": { 8 | "highlight": ["repeatStart", "repeatEnd"] 9 | } 10 | }, 11 | "time": {"count": 4, "unit": 4}, 12 | "repeatStart": {}, 13 | "repeatEnd": {} 14 | } 15 | ] 16 | }, 17 | "parts": [ 18 | { 19 | "measures": [ 20 | { 21 | "clefs": [ 22 | {"clef": {"sign": "G", "staffPosition": -2}} 23 | ], 24 | "sequences": [ 25 | { 26 | "content": [ 27 | { 28 | "duration": {"base": "whole"}, 29 | "notes": [ 30 | {"pitch": {"step": "C", "octave": 5}} 31 | ] 32 | } 33 | ] 34 | } 35 | ] 36 | } 37 | ] 38 | } 39 | ] 40 | } 41 | -------------------------------------------------------------------------------- /doctools/media/examples/json/slurs-chords.json: -------------------------------------------------------------------------------- 1 | { 2 | "mnx": {"version": 1}, 3 | "global": { 4 | "measures": [ 5 | { 6 | "time": {"count": 4, "unit": 4} 7 | } 8 | ] 9 | }, 10 | "parts": [ 11 | { 12 | "measures": [ 13 | { 14 | "clefs": [ 15 | {"clef": {"sign": "G", "staffPosition": -2}} 16 | ], 17 | "sequences": [ 18 | { 19 | "content": [ 20 | { 21 | "_x": { 22 | "mnxdocs": { 23 | "highlight": ["slurs"] 24 | } 25 | }, 26 | "id": "ev1", 27 | "duration": {"base": "quarter"}, 28 | "notes": [ 29 | {"pitch": {"step": "C", "octave": 5}}, 30 | {"pitch": {"step": "E", "octave": 5}} 31 | ], 32 | "slurs": [ 33 | {"side": "up", "target": "ev4"} 34 | ] 35 | }, 36 | { 37 | "id": "ev2", 38 | "duration": {"base": "quarter"}, 39 | "notes": [ 40 | {"pitch": {"step": "D", "octave": 5}}, 41 | {"pitch": {"step": "F", "octave": 5}} 42 | ] 43 | }, 44 | { 45 | "id": "ev3", 46 | "duration": {"base": "quarter"}, 47 | "notes": [ 48 | {"pitch": {"step": "E", "octave": 5}}, 49 | {"pitch": {"step": "G", "octave": 5}} 50 | ] 51 | }, 52 | { 53 | "id": "ev4", 54 | "duration": {"base": "quarter"}, 55 | "notes": [ 56 | {"pitch": {"step": "F", "octave": 5}}, 57 | {"pitch": {"step": "A", "octave": 5}} 58 | ] 59 | } 60 | ] 61 | } 62 | ] 63 | } 64 | ] 65 | } 66 | ] 67 | } 68 | -------------------------------------------------------------------------------- /doctools/media/examples/json/slurs-targeting-specific-notes.json: -------------------------------------------------------------------------------- 1 | { 2 | "mnx": {"version": 1}, 3 | "global": { 4 | "measures": [ 5 | { 6 | "time": {"count": 4, "unit": 4} 7 | } 8 | ] 9 | }, 10 | "parts": [ 11 | { 12 | "measures": [ 13 | { 14 | "clefs": [ 15 | {"clef": {"sign": "G", "staffPosition": -2}} 16 | ], 17 | "sequences": [ 18 | { 19 | "content": [ 20 | { 21 | "_x": { 22 | "mnxdocs": { 23 | "highlight": ["slurs"] 24 | } 25 | }, 26 | "id": "ev1", 27 | "duration": {"base": "half"}, 28 | "notes": [ 29 | {"pitch": {"step": "C", "octave": 5}, "id": "note1"}, 30 | {"pitch": {"step": "E", "octave": 5}, "id": "note2"}, 31 | {"pitch": {"step": "G", "octave": 5}, "id": "note3"} 32 | ], 33 | "slurs": [ 34 | {"side": "down", "target": "ev2", "startNote": "note1", "endNote": "note4"}, 35 | {"side": "up", "target": "ev2", "startNote": "note2", "endNote": "note5"}, 36 | {"side": "up", "target": "ev2", "startNote": "note3", "endNote": "note6"} 37 | ] 38 | }, 39 | { 40 | "id": "ev2", 41 | "duration": {"base": "half"}, 42 | "notes": [ 43 | {"pitch": {"step": "B", "octave": 4}, "id": "note4"}, 44 | {"pitch": {"step": "D", "octave": 5}, "id": "note5"}, 45 | {"pitch": {"step": "F", "octave": 5}, "id": "note6"} 46 | ] 47 | } 48 | ] 49 | } 50 | ] 51 | } 52 | ] 53 | } 54 | ] 55 | } 56 | -------------------------------------------------------------------------------- /doctools/media/examples/json/tempo-markings.json: -------------------------------------------------------------------------------- 1 | { 2 | "mnx": {"version": 1}, 3 | "global": { 4 | "measures": [ 5 | { 6 | "_x": { 7 | "mnxdocs": { 8 | "highlight": ["tempos"] 9 | } 10 | }, 11 | "time": {"count": 4, "unit": 4}, 12 | "tempos": [ 13 | {"value": {"base": "quarter"}, "bpm": 200} 14 | ] 15 | }, 16 | {} 17 | ] 18 | }, 19 | "parts": [ 20 | { 21 | "measures": [ 22 | { 23 | "clefs": [ 24 | {"clef": {"sign": "G", "staffPosition": -2}} 25 | ], 26 | "sequences": [ 27 | { 28 | "content": [ 29 | { 30 | "duration": {"base": "quarter"}, 31 | "notes": [ 32 | {"pitch": {"step": "C", "octave": 5}} 33 | ] 34 | }, 35 | { 36 | "duration": {"base": "quarter"}, 37 | "notes": [ 38 | {"pitch": {"step": "E", "octave": 5}} 39 | ] 40 | }, 41 | { 42 | "duration": {"base": "quarter"}, 43 | "notes": [ 44 | {"pitch": {"step": "G", "octave": 4}} 45 | ] 46 | }, 47 | { 48 | "duration": {"base": "quarter"}, 49 | "notes": [ 50 | {"pitch": {"step": "E", "octave": 5}} 51 | ] 52 | } 53 | ] 54 | } 55 | ] 56 | }, 57 | { 58 | "sequences": [ 59 | { 60 | "content": [ 61 | { 62 | "duration": {"base": "quarter"}, 63 | "notes": [ 64 | {"pitch": {"step": "C", "octave": 5}} 65 | ] 66 | }, 67 | { 68 | "duration": {"base": "quarter"}, 69 | "notes": [ 70 | {"pitch": {"step": "E", "octave": 5}} 71 | ] 72 | }, 73 | { 74 | "duration": {"base": "quarter"}, 75 | "notes": [ 76 | {"pitch": {"step": "G", "octave": 5}} 77 | ] 78 | }, 79 | { 80 | "duration": {"base": "quarter"}, 81 | "notes": [ 82 | {"pitch": {"step": "C", "octave": 6}} 83 | ] 84 | } 85 | ] 86 | } 87 | ] 88 | } 89 | ] 90 | } 91 | ] 92 | } 93 | -------------------------------------------------------------------------------- /doctools/media/examples/json/three-note-chord-and-half-rest.json: -------------------------------------------------------------------------------- 1 | { 2 | "mnx": {"version": 1}, 3 | "global": { 4 | "measures": [ 5 | { 6 | "barline": {"type": "regular"}, 7 | "time": {"count": 4, "unit": 4} 8 | } 9 | ] 10 | }, 11 | "parts": [ 12 | { 13 | "measures": [ 14 | { 15 | "clefs": [ 16 | {"clef": {"sign": "G", "staffPosition": -2}} 17 | ], 18 | "sequences": [ 19 | { 20 | "content": [ 21 | { 22 | "duration": {"base": "half"}, 23 | "notes": [ 24 | {"pitch": {"step": "C", "octave": 4}}, 25 | {"pitch": {"step": "E", "octave": 4}}, 26 | {"pitch": {"step": "G", "octave": 4}} 27 | ] 28 | }, 29 | { 30 | "duration": {"base": "half"}, 31 | "rest": {} 32 | } 33 | ] 34 | } 35 | ] 36 | } 37 | ] 38 | } 39 | ] 40 | } -------------------------------------------------------------------------------- /doctools/media/examples/json/two-bar-c-major-scale.json: -------------------------------------------------------------------------------- 1 | { 2 | "mnx": {"version": 1}, 3 | "global": { 4 | "measures": [ 5 | { 6 | "time": {"count": 4, "unit": 4} 7 | }, 8 | { 9 | "barline": {"type": "regular"} 10 | } 11 | ] 12 | }, 13 | "parts": [ 14 | { 15 | "measures": [ 16 | { 17 | "clefs": [ 18 | {"clef": {"sign": "G", "staffPosition": -2}} 19 | ], 20 | "sequences": [ 21 | { 22 | "content": [ 23 | { 24 | "duration": {"base": "quarter"}, 25 | "notes": [ 26 | {"pitch": {"step": "C", "octave": 4}} 27 | ] 28 | }, 29 | { 30 | "duration": {"base": "quarter"}, 31 | "notes": [ 32 | {"pitch": {"step": "D", "octave": 4}} 33 | ] 34 | }, 35 | { 36 | "duration": {"base": "quarter"}, 37 | "notes": [ 38 | {"pitch": {"step": "E", "octave": 4}} 39 | ] 40 | }, 41 | { 42 | "duration": {"base": "quarter"}, 43 | "notes": [ 44 | {"pitch": {"step": "F", "octave": 4}} 45 | ] 46 | } 47 | ] 48 | } 49 | ] 50 | }, 51 | { 52 | "sequences": [ 53 | { 54 | "content": [ 55 | { 56 | "duration": {"base": "quarter"}, 57 | "notes": [ 58 | {"pitch": {"step": "G", "octave": 4}} 59 | ] 60 | }, 61 | { 62 | "duration": {"base": "quarter"}, 63 | "notes": [ 64 | {"pitch": {"step": "A", "octave": 4}} 65 | ] 66 | }, 67 | { 68 | "duration": {"base": "quarter"}, 69 | "notes": [ 70 | {"pitch": {"step": "B", "octave": 4}} 71 | ] 72 | }, 73 | { 74 | "duration": {"base": "quarter"}, 75 | "notes": [ 76 | {"pitch": {"step": "C", "octave": 5}} 77 | ] 78 | } 79 | ] 80 | } 81 | ] 82 | } 83 | ] 84 | } 85 | ] 86 | } -------------------------------------------------------------------------------- /doctools/media/examples/jumps-dal-segno.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/w3c/mnx/13d752f5f7b32d031d8cdffc94206e5741509aaf/doctools/media/examples/jumps-dal-segno.png -------------------------------------------------------------------------------- /doctools/media/examples/jumps-ds-al-fine.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/w3c/mnx/13d752f5f7b32d031d8cdffc94206e5741509aaf/doctools/media/examples/jumps-ds-al-fine.png -------------------------------------------------------------------------------- /doctools/media/examples/key-signatures.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/w3c/mnx/13d752f5f7b32d031d8cdffc94206e5741509aaf/doctools/media/examples/key-signatures.png -------------------------------------------------------------------------------- /doctools/media/examples/lyric_metadata.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/w3c/mnx/13d752f5f7b32d031d8cdffc94206e5741509aaf/doctools/media/examples/lyric_metadata.png -------------------------------------------------------------------------------- /doctools/media/examples/lyrics_basic.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/w3c/mnx/13d752f5f7b32d031d8cdffc94206e5741509aaf/doctools/media/examples/lyrics_basic.png -------------------------------------------------------------------------------- /doctools/media/examples/lyrics_multiline.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/w3c/mnx/13d752f5f7b32d031d8cdffc94206e5741509aaf/doctools/media/examples/lyrics_multiline.png -------------------------------------------------------------------------------- /doctools/media/examples/multimeasure-rests.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/w3c/mnx/13d752f5f7b32d031d8cdffc94206e5741509aaf/doctools/media/examples/multimeasure-rests.png -------------------------------------------------------------------------------- /doctools/media/examples/multiple-layouts.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/w3c/mnx/13d752f5f7b32d031d8cdffc94206e5741509aaf/doctools/media/examples/multiple-layouts.png -------------------------------------------------------------------------------- /doctools/media/examples/multiple-voices.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/w3c/mnx/13d752f5f7b32d031d8cdffc94206e5741509aaf/doctools/media/examples/multiple-voices.png -------------------------------------------------------------------------------- /doctools/media/examples/octave-shifts-8va.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/w3c/mnx/13d752f5f7b32d031d8cdffc94206e5741509aaf/doctools/media/examples/octave-shifts-8va.png -------------------------------------------------------------------------------- /doctools/media/examples/orchestral-layout.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/w3c/mnx/13d752f5f7b32d031d8cdffc94206e5741509aaf/doctools/media/examples/orchestral-layout.png -------------------------------------------------------------------------------- /doctools/media/examples/organ-layout.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/w3c/mnx/13d752f5f7b32d031d8cdffc94206e5741509aaf/doctools/media/examples/organ-layout.png -------------------------------------------------------------------------------- /doctools/media/examples/parts.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/w3c/mnx/13d752f5f7b32d031d8cdffc94206e5741509aaf/doctools/media/examples/parts.png -------------------------------------------------------------------------------- /doctools/media/examples/repeats-alternate-endings-advanced.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/w3c/mnx/13d752f5f7b32d031d8cdffc94206e5741509aaf/doctools/media/examples/repeats-alternate-endings-advanced.png -------------------------------------------------------------------------------- /doctools/media/examples/repeats-alternate-endings-simple.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/w3c/mnx/13d752f5f7b32d031d8cdffc94206e5741509aaf/doctools/media/examples/repeats-alternate-endings-simple.png -------------------------------------------------------------------------------- /doctools/media/examples/repeats-implied-start-repeat.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/w3c/mnx/13d752f5f7b32d031d8cdffc94206e5741509aaf/doctools/media/examples/repeats-implied-start-repeat.png -------------------------------------------------------------------------------- /doctools/media/examples/repeats-more-once-repeated.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/w3c/mnx/13d752f5f7b32d031d8cdffc94206e5741509aaf/doctools/media/examples/repeats-more-once-repeated.png -------------------------------------------------------------------------------- /doctools/media/examples/repeats.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/w3c/mnx/13d752f5f7b32d031d8cdffc94206e5741509aaf/doctools/media/examples/repeats.png -------------------------------------------------------------------------------- /doctools/media/examples/rest-positions.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/w3c/mnx/13d752f5f7b32d031d8cdffc94206e5741509aaf/doctools/media/examples/rest-positions.png -------------------------------------------------------------------------------- /doctools/media/examples/slurs-chords.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/w3c/mnx/13d752f5f7b32d031d8cdffc94206e5741509aaf/doctools/media/examples/slurs-chords.png -------------------------------------------------------------------------------- /doctools/media/examples/slurs-targeting-specific-notes.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/w3c/mnx/13d752f5f7b32d031d8cdffc94206e5741509aaf/doctools/media/examples/slurs-targeting-specific-notes.png -------------------------------------------------------------------------------- /doctools/media/examples/slurs.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/w3c/mnx/13d752f5f7b32d031d8cdffc94206e5741509aaf/doctools/media/examples/slurs.png -------------------------------------------------------------------------------- /doctools/media/examples/system-layouts.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/w3c/mnx/13d752f5f7b32d031d8cdffc94206e5741509aaf/doctools/media/examples/system-layouts.png -------------------------------------------------------------------------------- /doctools/media/examples/tempo-marking.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/w3c/mnx/13d752f5f7b32d031d8cdffc94206e5741509aaf/doctools/media/examples/tempo-marking.png -------------------------------------------------------------------------------- /doctools/media/examples/three-note-chord-and-half-rest.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/w3c/mnx/13d752f5f7b32d031d8cdffc94206e5741509aaf/doctools/media/examples/three-note-chord-and-half-rest.png -------------------------------------------------------------------------------- /doctools/media/examples/ties.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/w3c/mnx/13d752f5f7b32d031d8cdffc94206e5741509aaf/doctools/media/examples/ties.png -------------------------------------------------------------------------------- /doctools/media/examples/time-signature-glyphs.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/w3c/mnx/13d752f5f7b32d031d8cdffc94206e5741509aaf/doctools/media/examples/time-signature-glyphs.png -------------------------------------------------------------------------------- /doctools/media/examples/time-signatures.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/w3c/mnx/13d752f5f7b32d031d8cdffc94206e5741509aaf/doctools/media/examples/time-signatures.png -------------------------------------------------------------------------------- /doctools/media/examples/tremolos.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/w3c/mnx/13d752f5f7b32d031d8cdffc94206e5741509aaf/doctools/media/examples/tremolos.png -------------------------------------------------------------------------------- /doctools/media/examples/tuplets.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/w3c/mnx/13d752f5f7b32d031d8cdffc94206e5741509aaf/doctools/media/examples/tuplets.png -------------------------------------------------------------------------------- /doctools/media/examples/two-bar-c-major-scale.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/w3c/mnx/13d752f5f7b32d031d8cdffc94206e5741509aaf/doctools/media/examples/two-bar-c-major-scale.png -------------------------------------------------------------------------------- /doctools/media/fonts/BravuraText.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/w3c/mnx/13d752f5f7b32d031d8cdffc94206e5741509aaf/doctools/media/fonts/BravuraText.woff -------------------------------------------------------------------------------- /doctools/media/fonts/BravuraText.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/w3c/mnx/13d752f5f7b32d031d8cdffc94206e5741509aaf/doctools/media/fonts/BravuraText.woff2 -------------------------------------------------------------------------------- /doctools/media/global.js: -------------------------------------------------------------------------------- 1 | (function(){ 2 | var mq = window.matchMedia('(max-width: 800px)'); 3 | if (mq.matches) { 4 | document.body.classList.remove("has-sidenav"); 5 | } 6 | mq.addEventListener('change', (e) => { 7 | if(mq.matches) { 8 | document.body.classList.remove("has-sidenav"); 9 | } 10 | }); 11 | var toggle = document.getElementById('toggle'); 12 | toggle.addEventListener('click', (e) => { 13 | document.body.classList.toggle("has-sidenav"); 14 | }); 15 | })(); 16 | -------------------------------------------------------------------------------- /doctools/media/images/UD-watermark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/w3c/mnx/13d752f5f7b32d031d8cdffc94206e5741509aaf/doctools/media/images/UD-watermark.png -------------------------------------------------------------------------------- /doctools/media/images/back-cg-final.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/w3c/mnx/13d752f5f7b32d031d8cdffc94206e5741509aaf/doctools/media/images/back-cg-final.png -------------------------------------------------------------------------------- /doctools/media/images/group-symbols/brace.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/w3c/mnx/13d752f5f7b32d031d8cdffc94206e5741509aaf/doctools/media/images/group-symbols/brace.png -------------------------------------------------------------------------------- /doctools/media/images/group-symbols/bracket.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/w3c/mnx/13d752f5f7b32d031d8cdffc94206e5741509aaf/doctools/media/images/group-symbols/bracket.png -------------------------------------------------------------------------------- /doctools/media/images/group-symbols/line.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/w3c/mnx/13d752f5f7b32d031d8cdffc94206e5741509aaf/doctools/media/images/group-symbols/line.png -------------------------------------------------------------------------------- /doctools/media/images/group-symbols/square.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/w3c/mnx/13d752f5f7b32d031d8cdffc94206e5741509aaf/doctools/media/images/group-symbols/square.png -------------------------------------------------------------------------------- /doctools/media/images/middle-c.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/w3c/mnx/13d752f5f7b32d031d8cdffc94206e5741509aaf/doctools/media/images/middle-c.png -------------------------------------------------------------------------------- /doctools/requirements.txt: -------------------------------------------------------------------------------- 1 | django==4.2.24 2 | lxml>=4.6.3 3 | -------------------------------------------------------------------------------- /w3c.json: -------------------------------------------------------------------------------- 1 | { 2 | "group": 81249 3 | , "contacts": ["adrianholovaty", "dspreadbury", "mscuthbert"] 4 | , "repo-type": "cg-report" 5 | } 6 | --------------------------------------------------------------------------------