├── .codeclimate.yml
├── .editorconfig
├── .eslintignore
├── .eslintrc.json
├── .github
└── workflows
│ └── ci.yml
├── .gitignore
├── .idea
├── codeStyles
│ ├── Project.xml
│ └── codeStyleConfig.xml
├── dictionaries
│ └── cuthbert.xml
├── eslintPlugin.xml
├── inspectionProfiles
│ └── Project_Default.xml
└── jsLibraryMappings.xml
├── .ropeproject
└── config.py
├── Gruntfile.js
├── LICENSE
├── README.md
├── build
└── README.md
├── css
├── ajax-loader.gif
├── arrow_down.png
├── backward.png
├── basic.css
├── dots.png
├── file.png
├── forward.png
├── m21.css
└── midiPlayer.css
├── doc
├── AbstractAscendingMelodicMinorScale.html
├── AbstractDiatonicScale.html
├── AbstractHarmonicMinorScale.html
├── AbstractScale.html
├── AscendingMelodicMinorScale.html
├── ClassFilter.html
├── ClassNotFilter.html
├── ConcreteScale.html
├── Derivation_Derivation.html
├── DiatonicScale.html
├── HarmonicMinorScale.html
├── IsFilter.html
├── IsNotFilter.html
├── LayoutScore.html
├── MajorScale.html
├── MeasureExporter.html
├── MeasureParser_MeasureParser.html
├── MinorScale.html
├── Note_Note.html
├── OffsetFilter.html
├── OffsetIterator.html
├── Page.html
├── PartExporter.html
├── PartParser.html
├── RecursiveIterator.html
├── ScoreExporter.html
├── SiteRef.html
├── SitesException.html
├── Staff.html
├── System.html
├── classes.list.html
├── global.html
├── img
│ ├── glyphicons-halflings-white.png
│ └── glyphicons-halflings.png
├── index.html
├── module-music21.html
├── module-music21_duration.html
├── module-music21_scale-Scale.html
├── module-music21_scale.AbstractScale.html
├── module-music21_scale.html
├── modules.list.html
├── music21.articulations.Accent.html
├── music21.articulations.Articulation.html
├── music21.articulations.DynamicArticulation.html
├── music21.articulations.LengthArticulation.html
├── music21.articulations.Marcato.html
├── music21.articulations.PitchArticulation.html
├── music21.articulations.Spiccato.html
├── music21.articulations.Staccatissimo.html
├── music21.articulations.Staccato.html
├── music21.articulations.StrongAccent.html
├── music21.articulations.Tenuto.html
├── music21.articulations.TimbreArticulation.html
├── music21.articulations.html
├── music21.audioRecording.exports.Recorder.html
├── music21.audioRecording.html
├── music21.audioSearch.html
├── music21.base.Music21Object.html
├── music21.base.html
├── music21.beam.Beam.html
├── music21.beam.Beams.html
├── music21.beam.html
├── music21.chord.Chord.html
├── music21.chord.html
├── music21.clef.AltoClef.html
├── music21.clef.Bass8vbClef.html
├── music21.clef.BassClef.html
├── music21.clef.Clef.html
├── music21.clef.MezzoSopranoClef.html
├── music21.clef.PercussionClef.html
├── music21.clef.SopranoClef.html
├── music21.clef.TenorClef.html
├── music21.clef.Treble8vaClef.html
├── music21.clef.Treble8vbClef.html
├── music21.clef.TrebleClef.html
├── music21.clef.html
├── music21.common.html
├── music21.derivation.music21.derivation.html
├── music21.duration.Duration.html
├── music21.duration.exports.Tuplet.html
├── music21.dynamics.Dynamic.html
├── music21.dynamics.html
├── music21.exceptions21.ExtendableError.html
├── music21.exceptions21.exports.Music21Exception.html
├── music21.exceptions21.exports.StreamException.html
├── music21.exceptions21.html
├── music21.expressions.Expression.html
├── music21.expressions.Fermata.html
├── music21.expressions.html
├── music21.figuredBass.exports.Figure.html
├── music21.figuredBass.exports.Modifier.html
├── music21.figuredBass.exports.Notation.html
├── music21.fromPython.Converter.html
├── music21.fromPython.html
├── music21.harmony.exports.Harmony.html
├── music21.harmony.html
├── music21.instrument.Instrument.html
├── music21.instrument.html
├── music21.interval.ChromaticInterval.html
├── music21.interval.DiatonicInterval.html
├── music21.interval.GenericInterval.html
├── music21.interval.Interval.html
├── music21.interval.html
├── music21.key.Key.html
├── music21.key.KeySignature.html
├── music21.key.html
├── music21.keyboard.BlackKey.html
├── music21.keyboard.Key.html
├── music21.keyboard.Keyboard.html
├── music21.keyboard.WhiteKey.html
├── music21.keyboard.html
├── music21.layout.html
├── music21.meter.TimeSignature.html
├── music21.meter.html
├── music21.miditools.Event.html
├── music21.miditools.MidiPlayer.html
├── music21.miditools.html
├── music21.module_duration.html
├── music21.module_figuredBass.html
├── music21.module_vfShow.html
├── music21.module_webmidi.html
├── music21.musicxml.html
├── music21.musicxml.m21ToXml.exports.XMLExporterBase.html
├── music21.musicxml.m21ToXml.html
├── music21.note.GeneralNote.html
├── music21.note.Lyric.html
├── music21.note.NotRest.html
├── music21.note.Note.html
├── music21.note.Rest.html
├── music21.note.html
├── music21.pitch.Accidental.html
├── music21.pitch.Pitch.html
├── music21.pitch.html
├── music21.prebase.ProtoM21Object.html
├── music21.prebase.html
├── music21.renderOptions.RenderOptions.html
├── music21.renderOptions.html
├── music21.roman.RomanNumeral.html
├── music21.roman.html
├── music21.scale.AbstractScale.html
├── music21.scale.Scale.html
├── music21.scale.exports.AbstractAscendingMelodicMinorScale.html
├── music21.scale.exports.AbstractDiatonicScale.html
├── music21.scale.exports.AbstractHarmonicMinorScale.html
├── music21.scale.exports.AbstractScale.html
├── music21.scale.exports.AscendingMelodicMinorScale.html
├── music21.scale.exports.ConcreteScale.html
├── music21.scale.exports.DiatonicScale.html
├── music21.scale.exports.HarmonicMinorScale.html
├── music21.scale.exports.MajorScale.html
├── music21.scale.exports.MinorScale.html
├── music21.scale.exports.Scale.html
├── music21.scale.html
├── music21.scale.module_AbstractScale.html
├── music21.scale.module_Scale.html
├── music21.sites.exports.Sites.html
├── music21.sites.html
├── music21.stream.Measure.html
├── music21.stream.Part.html
├── music21.stream.Score.html
├── music21.stream.Stream.html
├── music21.stream.Voice.html
├── music21.stream.filters.exports.StreamFilter.html
├── music21.stream.html
├── music21.stream.iterator.exports.StreamIterator.html
├── music21.tempo.Metronome.html
├── music21.tempo.html
├── music21.tie.Tie.html
├── music21.tie.html
├── music21.tinyNotation.html
├── music21.vfShow.RenderStack.html
├── music21.vfShow.Renderer.html
├── music21.voiceLeading.exports.VoiceLeadingQuartet.html
├── music21.voiceLeading.html
├── music21_articulations.js.html
├── music21_audioRecording.js.html
├── music21_audioSearch.js.html
├── music21_base.js.html
├── music21_beam.js.html
├── music21_chord.js.html
├── music21_clef.js.html
├── music21_common.js.html
├── music21_derivation.js.html
├── music21_duration.js.html
├── music21_dynamics.js.html
├── music21_exceptions21.js.html
├── music21_expressions.js.html
├── music21_figuredBass.js.html
├── music21_fromPython.js.html
├── music21_harmony.js.html
├── music21_instrument.js.html
├── music21_interval.js.html
├── music21_key.js.html
├── music21_keyboard.js.html
├── music21_layout.js.html
├── music21_meter.js.html
├── music21_miditools.js.html
├── music21_modules.js.html
├── music21_musicxml.js.html
├── music21_musicxml_m21ToXml.js.html
├── music21_musicxml_xmlToM21.js.html
├── music21_note.js.html
├── music21_parseLoader.js.html
├── music21_pitch.js.html
├── music21_prebase.js.html
├── music21_renderOptions.js.html
├── music21_roman.js.html
├── music21_scale%0AScale%20module.%20See%20%7B@link%20music21.scale%7D%20namespacemodule_.html
├── music21_scale.js.html
├── music21_sites.js.html
├── music21_stream.js.html
├── music21_stream_filters.js.html
├── music21_stream_iterator.js.html
├── music21_tempo.js.html
├── music21_tie.js.html
├── music21_tinyNotation.js.html
├── music21_vfShow.js.html
├── music21_voiceLeading.js.html
├── music21_webmidi.js.html
├── namespaces.list.html
├── scripts
│ ├── URI.js
│ ├── bootstrap-dropdown.js
│ ├── bootstrap-tab.js
│ ├── docstrap.lib.js
│ ├── prettify
│ │ ├── Apache-License-2.0.txt
│ │ ├── jquery.min.js
│ │ ├── lang-css.js
│ │ └── prettify.js
│ ├── sunlight.js
│ └── toc.js
└── styles
│ ├── darkstrap.css
│ ├── prettify-tomorrow.css
│ ├── site.amelia.css
│ ├── site.cerulean.css
│ ├── site.cosmo.css
│ ├── site.cyborg.css
│ ├── site.darkly.css
│ ├── site.darkstrap.css
│ ├── site.flatly.css
│ ├── site.journal.css
│ ├── site.lumen.css
│ ├── site.paper.css
│ ├── site.readable.css
│ ├── site.sandstone.css
│ ├── site.simplex.css
│ ├── site.slate.css
│ ├── site.spacelab.css
│ ├── site.spruce.css
│ ├── site.superhero.css
│ ├── site.united.css
│ ├── site.yeti.css
│ ├── sunlight.dark.css
│ └── sunlight.default.css
├── favicon.ico
├── jsdoc-template
├── jsdoc.conf.json
├── moment.js
├── publish.js
├── static
│ ├── img
│ │ ├── glyphicons-halflings-white.png
│ │ └── glyphicons-halflings.png
│ ├── scripts
│ │ ├── URI.js
│ │ ├── bootstrap-dropdown.js
│ │ ├── bootstrap-tab.js
│ │ ├── docstrap.lib.js
│ │ ├── prettify
│ │ │ ├── Apache-License-2.0.txt
│ │ │ ├── jquery.min.js
│ │ │ ├── lang-css.js
│ │ │ └── prettify.js
│ │ ├── sunlight.js
│ │ └── toc.js
│ └── styles
│ │ ├── darkstrap.css
│ │ ├── prettify-tomorrow.css
│ │ ├── site.amelia.css
│ │ ├── site.cerulean.css
│ │ ├── site.cosmo.css
│ │ ├── site.cyborg.css
│ │ ├── site.darkly.css
│ │ ├── site.darkstrap.css
│ │ ├── site.flatly.css
│ │ ├── site.journal.css
│ │ ├── site.lumen.css
│ │ ├── site.paper.css
│ │ ├── site.readable.css
│ │ ├── site.sandstone.css
│ │ ├── site.simplex.css
│ │ ├── site.slate.css
│ │ ├── site.spacelab.css
│ │ ├── site.spruce.css
│ │ ├── site.superhero.css
│ │ ├── site.united.css
│ │ ├── site.yeti.css
│ │ ├── sunlight.dark.css
│ │ └── sunlight.default.css
└── tmpl
│ ├── augments.tmpl
│ ├── container.tmpl
│ ├── details.tmpl
│ ├── example.tmpl
│ ├── examples.tmpl
│ ├── exceptions.tmpl
│ ├── fires.tmpl
│ ├── layout.tmpl
│ ├── mainpage.tmpl
│ ├── members.tmpl
│ ├── method.tmpl
│ ├── params.tmpl
│ ├── properties.tmpl
│ ├── returns.tmpl
│ ├── sections.tmpl
│ ├── source.tmpl
│ ├── tutorial.tmpl
│ └── type.tmpl
├── package-lock.json
├── package.json
├── releases
├── music21.debug.js
├── music21.debug.js.map
└── src
│ ├── articulations.d.ts
│ ├── articulations.d.ts.map
│ ├── audioRecording.d.ts
│ ├── audioRecording.d.ts.map
│ ├── audioSearch.d.ts
│ ├── audioSearch.d.ts.map
│ ├── bar.d.ts
│ ├── bar.d.ts.map
│ ├── base.d.ts
│ ├── base.d.ts.map
│ ├── beam.d.ts
│ ├── beam.d.ts.map
│ ├── chord.d.ts
│ ├── chord.d.ts.map
│ ├── chordTables.d.ts
│ ├── chordTables.d.ts.map
│ ├── clef.d.ts
│ ├── clef.d.ts.map
│ ├── common.d.ts
│ ├── common.d.ts.map
│ ├── converter.d.ts
│ ├── converter.d.ts.map
│ ├── debug.d.ts
│ ├── debug.d.ts.map
│ ├── defaults.d.ts
│ ├── defaults.d.ts.map
│ ├── derivation.d.ts
│ ├── derivation.d.ts.map
│ ├── duration.d.ts
│ ├── duration.d.ts.map
│ ├── dynamics.d.ts
│ ├── dynamics.d.ts.map
│ ├── editorial.d.ts
│ ├── editorial.d.ts.map
│ ├── exceptions21.d.ts
│ ├── exceptions21.d.ts.map
│ ├── expressions.d.ts
│ ├── expressions.d.ts.map
│ ├── figuredBass.d.ts
│ ├── figuredBass.d.ts.map
│ ├── fromPython.d.ts
│ ├── fromPython.d.ts.map
│ ├── harmony.d.ts
│ ├── harmony.d.ts.map
│ ├── instrument.d.ts
│ ├── instrument.d.ts.map
│ ├── interval.d.ts
│ ├── interval.d.ts.map
│ ├── key.d.ts
│ ├── key.d.ts.map
│ ├── keyboard.d.ts
│ ├── keyboard.d.ts.map
│ ├── layout.d.ts
│ ├── layout.d.ts.map
│ ├── main.d.ts
│ ├── main.d.ts.map
│ ├── meter.d.ts
│ ├── meter.d.ts.map
│ ├── miditools.d.ts
│ ├── miditools.d.ts.map
│ ├── musicxml.d.ts
│ ├── musicxml.d.ts.map
│ ├── musicxml
│ ├── m21ToXml.d.ts
│ ├── m21ToXml.d.ts.map
│ ├── xmlToM21.d.ts
│ └── xmlToM21.d.ts.map
│ ├── note.d.ts
│ ├── note.d.ts.map
│ ├── parseLoader.d.ts
│ ├── parseLoader.d.ts.map
│ ├── pitch.d.ts
│ ├── pitch.d.ts.map
│ ├── prebase.d.ts
│ ├── prebase.d.ts.map
│ ├── renderOptions.d.ts
│ ├── renderOptions.d.ts.map
│ ├── roman.d.ts
│ ├── roman.d.ts.map
│ ├── scale.d.ts
│ ├── scale.d.ts.map
│ ├── sites.d.ts
│ ├── sites.d.ts.map
│ ├── stream.d.ts
│ ├── stream.d.ts.map
│ ├── stream
│ ├── filters.d.ts
│ ├── filters.d.ts.map
│ ├── iterator.d.ts
│ ├── iterator.d.ts.map
│ ├── makeNotation.d.ts
│ └── makeNotation.d.ts.map
│ ├── style.d.ts
│ ├── style.d.ts.map
│ ├── svgs.d.ts
│ ├── svgs.d.ts.map
│ ├── tempo.d.ts
│ ├── tempo.d.ts.map
│ ├── tie.d.ts
│ ├── tie.d.ts.map
│ ├── tinyNotation.d.ts
│ ├── tinyNotation.d.ts.map
│ ├── types.d.ts
│ ├── types.d.ts.map
│ ├── vfShims.d.ts
│ ├── vfShims.d.ts.map
│ ├── vfShow.d.ts
│ ├── vfShow.d.ts.map
│ ├── voiceLeading.d.ts
│ ├── voiceLeading.d.ts.map
│ ├── webmidi.d.ts
│ └── webmidi.d.ts.map
├── scripts
└── postinstall.bash
├── src
├── articulations.ts
├── audioRecording.ts
├── audioSearch.ts
├── bar.ts
├── base.ts
├── beam.ts
├── chord.ts
├── chordTables.ts
├── clef.ts
├── common.ts
├── converter.ts
├── debug.ts
├── defaults.ts
├── derivation.ts
├── duration.ts
├── dynamics.ts
├── editorial.ts
├── exceptions21.ts
├── expressions.ts
├── figuredBass.ts
├── fromPython.ts
├── harmony.ts
├── instrument.ts
├── interval.ts
├── key.ts
├── keyboard.ts
├── layout.ts
├── main.ts
├── meter.ts
├── miditools.ts
├── musicxml.ts
├── musicxml
│ ├── m21ToXml.ts
│ └── xmlToM21.ts
├── note.ts
├── parseLoader.ts
├── pitch.ts
├── prebase.ts
├── renderOptions.ts
├── roman.ts
├── scale.ts
├── sites.ts
├── stream.ts
├── stream
│ ├── filters.ts
│ ├── iterator.ts
│ └── makeNotation.ts
├── style.ts
├── svgs.ts
├── tempo.ts
├── tie.ts
├── tinyNotation.ts
├── types.ts
├── vfShims.ts
├── vfShow.ts
├── voiceLeading.ts
└── webmidi.ts
├── start_python_server.py
├── testHTML
├── audioSearchGame.html
├── audioSearchTest.html
├── autobeam_m21j_test.html
├── bachOut.xml
├── chord_violin_test.html
├── colorChanger.html
├── crossSiteTest.html
├── delayMic.html
├── demo-Cuthbert.html
├── demo-DragScore.html
├── embedPlayer.html
├── es6.html
├── jsdoctest.js
├── jsonpickleParse.html
├── keyboard.html
├── keyboardJazz.html
├── layout.html
├── m21jSandbox.html
├── midiInChords.html
├── midiInKeyChords.html
├── midiInRequire.html
├── musicxmlTest.html
├── pickleM21.html
├── pitchEditing.html
├── pitchEditing_long_score.html
├── recordAudio.html
├── renderTinyNotationDivs.html
├── roundCanon.html
├── sfElsewhereCDN.html
├── showKeyboard.html
├── streamClone.html
└── xyLocation.html
├── tests
├── gruntTest.html
├── index.html
├── loadAll.ts
└── moduleTests
│ ├── articulations.ts
│ ├── base.ts
│ ├── beam.ts
│ ├── chord.ts
│ ├── clef.ts
│ ├── common.ts
│ ├── duration.ts
│ ├── dynamics.ts
│ ├── editorial.ts
│ ├── figuredBass.ts
│ ├── interval.ts
│ ├── key.ts
│ ├── meter.ts
│ ├── note.ts
│ ├── pitch.ts
│ ├── prebase.ts
│ ├── roman.ts
│ ├── scale.ts
│ ├── sites.ts
│ ├── stream.ts
│ ├── stream
│ └── iterator.ts
│ ├── tempo.ts
│ ├── tie.ts
│ ├── tinyNotation.ts
│ ├── vfShow.ts
│ └── voiceLeading.ts
├── tsconfig.json
├── uploadDocs.py
└── webResources
└── midiPlayer
├── pause.png
├── play.png
└── stop.png
/.codeclimate.yml:
--------------------------------------------------------------------------------
1 | # Save as .codeclimate.yml (note leading .) in project root directory
2 | languages:
3 | Ruby: true
4 | JavaScript: true
5 | PHP: true
6 | exclude_paths:
7 | - "ext/*"
8 | - "src/ext/*"
9 | - "node_modules/*"
10 | - "doc/scripts/*"
11 |
--------------------------------------------------------------------------------
/.editorconfig:
--------------------------------------------------------------------------------
1 | # For details see http://EditorConfig.org
2 |
3 | # Unix-style newlines with a newline ending every file
4 | [*]
5 | end_of_line = lf
6 | insert_final_newline = true
7 |
8 | # Matches multiple files with brace expansion notation
9 | # Set default charset
10 | [*.{js,py,ts}]
11 | charset = utf-8
12 | indent_style = space
13 | indent_size = 4
14 |
--------------------------------------------------------------------------------
/.eslintignore:
--------------------------------------------------------------------------------
1 | ext/*
2 | src/ext/*
3 | node_modules/*
4 |
--------------------------------------------------------------------------------
/.github/workflows/ci.yml:
--------------------------------------------------------------------------------
1 | name: CI
2 |
3 | on:
4 | push:
5 | branches:
6 | - master
7 | - '*CI*'
8 | pull_request:
9 | branches:
10 | - '*'
11 |
12 | jobs:
13 | frontend_tests:
14 | runs-on: ubuntu-latest
15 | steps:
16 | - uses: actions/setup-node@v4
17 | with:
18 | node-version: 18
19 |
20 | - uses: actions/checkout@v3
21 | with:
22 | submodules: True
23 |
24 | - name: Install deps
25 | run: npm ci
26 |
27 | - name: Prepare Google Sandbox
28 | run: sudo chown root /opt/google/chrome/chrome-sandbox && sudo chmod 4755 /opt/google/chrome/chrome-sandbox
29 |
30 | - name: Run frontend tests (and Disable AppArmor for Chrome)
31 | run: env CHROME_DEVEL_SANDBOX=/opt/google/chrome/chrome-sandbox grunt test_no_watch
32 |
33 | eslint:
34 | runs-on: ubuntu-latest
35 | steps:
36 | - uses: actions/setup-node@v4
37 | with:
38 | node-version: 18
39 |
40 | - uses: actions/checkout@v3
41 | with:
42 | submodules: True
43 |
44 | - name: Install deps
45 | run: npm ci
46 |
47 | - name: Run eslint
48 | run: grunt eslint
49 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | # node
2 | node_modules/
3 | node_modules/grunt/package.json
4 |
5 | # Build is not committed, just releases/
6 | build/
7 |
8 | # Built tests
9 | tests/music21.tests.js
10 | tests/music21.tests.js.map
11 |
12 | # Python files
13 | __pycache__
14 | *.py[cod]
15 |
16 | .buildpath
17 |
18 | # emacs
19 | .*~
20 | *~
21 |
22 | # vim
23 | *.swp
24 |
25 | # Eclipse
26 | /.settings
27 | .settings
28 |
29 | # IDEA
30 | .project
31 | .pydevproject
32 |
33 |
34 | # OSX
35 | .DS_Store
36 |
37 | # C extensions
38 | *.so
39 |
40 | # Packages
41 | *.egg
42 | *.egg-info
43 | dist
44 | parts
45 | bin
46 | var
47 | sdist
48 | develop-eggs
49 | .installed.cfg
50 | lib
51 | lib64
52 |
53 | # Installer logs
54 | pip-log.txt
55 |
56 | # Unit test / coverage reports
57 | .coverage
58 | .tox
59 | nosetests.xml
60 |
61 | # Translations
62 | *.mo
63 |
64 | # Mr Developer
65 | .mr.developer.cfg
66 |
67 | soundfonts/*
68 |
69 | node_modules/grunt-contrib-uglify/package.json
70 |
71 | # PyCharm
72 | .idea/encodings.xml
73 | .idea/misc.xml
74 | .idea/modules.xml
75 | .idea/music21j.iml
76 | .idea/vcs.xml
77 | .idea/workspace.xml
78 | .idea/copilot
79 |
80 | # VSCode
81 | *.code-workspace
82 | /tests/test_compile_out/
83 | /.idea
84 |
--------------------------------------------------------------------------------
/.idea/codeStyles/Project.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
--------------------------------------------------------------------------------
/.idea/codeStyles/codeStyleConfig.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/.idea/eslintPlugin.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/.idea/inspectionProfiles/Project_Default.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
--------------------------------------------------------------------------------
/.idea/jsLibraryMappings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | Music21j is distributed according to the terms the
2 | BSD license
3 |
4 | ---
5 | BSD License
6 |
7 | Copyright (c) 2013-2025, Michael Scott Asato Cuthbert
8 | All rights reserved.
9 |
10 | Redistribution and use in source and binary forms, with or without
11 | modification, are permitted provided that the following conditions are met:
12 | * Redistributions of source code must retain the above copyright
13 | notice, this list of conditions and the following disclaimer.
14 | * Redistributions in binary form must reproduce the above copyright
15 | notice, this list of conditions and the following disclaimer in the
16 | documentation and/or other materials provided with the distribution.
17 | * Neither the name of Michael Scott Asato Cuthbert nor music21 nor the
18 | names of its contributors may be used to endorse or promote products
19 | derived from this software without specific prior written permission.
20 |
21 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
22 | ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
23 | WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
24 | DISCLAIMED. IN NO EVENT SHALL Cuthbert BE LIABLE FOR ANY
25 | DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
26 | (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
27 | LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
28 | ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
29 | (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
30 | SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
31 |
32 |
--------------------------------------------------------------------------------
/build/README.md:
--------------------------------------------------------------------------------
1 | This directory is where versions of music21 get built to after
2 | running `grunt webpack` (or whatever), but to save space on Git pulls,
3 | only released versions (in `/releases`) are committed.
4 |
--------------------------------------------------------------------------------
/css/ajax-loader.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cuthbertLab/music21j/f06f2d040cbfa5c2ce18c9baa6d4a810cd371d5a/css/ajax-loader.gif
--------------------------------------------------------------------------------
/css/arrow_down.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cuthbertLab/music21j/f06f2d040cbfa5c2ce18c9baa6d4a810cd371d5a/css/arrow_down.png
--------------------------------------------------------------------------------
/css/backward.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cuthbertLab/music21j/f06f2d040cbfa5c2ce18c9baa6d4a810cd371d5a/css/backward.png
--------------------------------------------------------------------------------
/css/dots.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cuthbertLab/music21j/f06f2d040cbfa5c2ce18c9baa6d4a810cd371d5a/css/dots.png
--------------------------------------------------------------------------------
/css/file.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cuthbertLab/music21j/f06f2d040cbfa5c2ce18c9baa6d4a810cd371d5a/css/file.png
--------------------------------------------------------------------------------
/css/forward.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cuthbertLab/music21j/f06f2d040cbfa5c2ce18c9baa6d4a810cd371d5a/css/forward.png
--------------------------------------------------------------------------------
/css/m21.css:
--------------------------------------------------------------------------------
1 | .loadingSoundfont {
2 | top: 40px;
3 | background-color: #99ff99;
4 | color: black;
5 | font-weight: normal;
6 | position: fixed;
7 | right: 30px;
8 | width: 170px;
9 | font-size: 10px;
10 | opacity: 0.7;
11 | border-radius: 15px;
12 | box-shadow: 0 0 19px #999;
13 | padding: 10px 10px 10px 10px;
14 | z-index: 20;
15 | }
16 |
17 | .streamHolding {
18 | display: inline-block;
19 | }
20 |
21 | .streamHolding > svg {
22 | display: block;
23 | }
24 |
25 |
--------------------------------------------------------------------------------
/css/midiPlayer.css:
--------------------------------------------------------------------------------
1 | /* midi player */
2 | /* adapted from MIDI.js css MIT License*/
3 |
4 | .midiPlayer {
5 | background-image: linear-gradient(
6 | to bottom,
7 | rgba(66, 66, 66, 1),
8 | rgba(22, 22, 22, 1)
9 | );
10 | padding: 15px 20px;
11 | border: 1px solid #000;
12 | box-shadow: 0 0 10px #fff;
13 | border-radius: 10px;
14 | color: #ffffff;
15 | color: rgba(255, 255, 255, 0.8);
16 | text-shadow: 1px 1px 2px #000;
17 | margin-bottom: 15px;
18 | height: 42px;
19 | max-width: 700px;
20 | min-height: 70px;
21 | }
22 |
23 | .midiPlayer .capsule {
24 | border: 1px solid #000;
25 | box-shadow: 0 0 10px #555;
26 | background: #000;
27 | background: linear-gradient(to bottom, rgba(0, 0, 0, 0.5), #333 0);
28 | overflow: hidden;
29 | border-radius: 5px;
30 | -moz-border-radius: 5px;
31 | -webkit-border-radius: 5px;
32 | width: 420px;
33 | display: inline-block;
34 | height: 30px;
35 | }
36 |
37 | .midiPlayer .capsule .cursor {
38 | border-radius: 5px;
39 | border-top-right-radius: 0;
40 | border-bottom-right-radius: 0;
41 | background: #003b96;
42 | background: linear-gradient(to bottom, #0088e9, #003b96 100%);
43 | width: 0;
44 | display: inline-block;
45 | height: 100%;
46 | }
47 |
48 | .midiPlayer .timePlayed,
49 | .midiPlayer .timeRemaining {
50 | position: relative;
51 | top: -9px;
52 | padding: 0 10px;
53 | width: 40px;
54 | display: inline-block;
55 | text-align: right;
56 | }
57 |
58 | .midiPlayer .timeRemaining {
59 | text-align: left;
60 | }
61 |
62 | .midiPlayer .timeControls {
63 | width: 560px;
64 | margin: 0;
65 | float: left;
66 | position: relative;
67 | top: 5px;
68 | }
69 |
70 | .midiPlayer .positionControls {
71 | position: relative;
72 | top: 5px;
73 | margin: 0 auto;
74 | width: 80px;
75 | float: right;
76 | }
77 |
78 | .midiPlayer .positionControls input[type='image']:hover {
79 | opacity: 1;
80 | }
81 |
82 | .midiPlayer .positionControls input[type='image']:active {
83 | opacity: 0.85;
84 | }
85 |
86 | .midiPlayer .positionControls input[type='image'] {
87 | opacity: 0.7;
88 | outline: none;
89 | vertical-align: middle;
90 | }
91 |
--------------------------------------------------------------------------------
/doc/img/glyphicons-halflings-white.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cuthbertLab/music21j/f06f2d040cbfa5c2ce18c9baa6d4a810cd371d5a/doc/img/glyphicons-halflings-white.png
--------------------------------------------------------------------------------
/doc/img/glyphicons-halflings.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cuthbertLab/music21j/f06f2d040cbfa5c2ce18c9baa6d4a810cd371d5a/doc/img/glyphicons-halflings.png
--------------------------------------------------------------------------------
/doc/scripts/prettify/lang-css.js:
--------------------------------------------------------------------------------
1 | PR.registerLangHandler(PR.createSimpleLexer([
2 | ["pln", /^[\t\n\f\r ]+/, null, " \t\r\n"]
3 | ], [
4 | ["str", /^"(?:[^\n\f\r"\\]|\\(?:\r\n?|\n|\f)|\\[\S\s])*"/, null],
5 | ["str", /^'(?:[^\n\f\r'\\]|\\(?:\r\n?|\n|\f)|\\[\S\s])*'/, null],
6 | ["lang-css-str", /^url\(([^"')]*)\)/i],
7 | ["kwd", /^(?:url|rgb|!important|@import|@page|@media|@charset|inherit)(?=[^\w-]|$)/i, null],
8 | ["lang-css-kw", /^(-?(?:[_a-z]|\\[\da-f]+ ?)(?:[\w-]|\\\\[\da-f]+ ?)*)\s*:/i],
9 | ["com", /^\/\*[^*]*\*+(?:[^*/][^*]*\*+)*\//],
10 | ["com", /^(?:<\!--|--\>)/],
11 | ["lit", /^(?:\d+|\d*\.\d+)(?:%|[a-z]+)?/i],
12 | ["lit", /^#[\da-f]{3,6}/i],
13 | ["pln", /^-?(?:[_a-z]|\\[\da-f]+ ?)(?:[\w-]|\\\\[\da-f]+ ?)*/i],
14 | ["pun", /^[^\s\w"']+/]
15 | ]), ["css"]);
16 | PR.registerLangHandler(PR.createSimpleLexer([], [
17 | ["kwd", /^-?(?:[_a-z]|\\[\da-f]+ ?)(?:[\w-]|\\\\[\da-f]+ ?)*/i]
18 | ]), ["css-kw"]);
19 | PR.registerLangHandler(PR.createSimpleLexer([], [
20 | ["str", /^[^"')]+/]
21 | ]), ["css-str"]);
--------------------------------------------------------------------------------
/doc/styles/prettify-tomorrow.css:
--------------------------------------------------------------------------------
1 | /* Tomorrow Theme */
2 | /* Original theme - https://github.com/chriskempson/tomorrow-theme */
3 | /* Pretty printing styles. Used with prettify.js. */
4 | /* SPAN elements with the classes below are added by prettyprint. */
5 | /* plain text */
6 | .pln {
7 | color: #4d4d4c; }
8 |
9 | @media screen {
10 | /* string content */
11 | .str {
12 | color: #718c00; }
13 |
14 | /* a keyword */
15 | .kwd {
16 | color: #8959a8; }
17 |
18 | /* a comment */
19 | .com {
20 | color: #8e908c; }
21 |
22 | /* a type name */
23 | .typ {
24 | color: #4271ae; }
25 |
26 | /* a literal value */
27 | .lit {
28 | color: #f5871f; }
29 |
30 | /* punctuation */
31 | .pun {
32 | color: #4d4d4c; }
33 |
34 | /* lisp open bracket */
35 | .opn {
36 | color: #4d4d4c; }
37 |
38 | /* lisp close bracket */
39 | .clo {
40 | color: #4d4d4c; }
41 |
42 | /* a markup tag name */
43 | .tag {
44 | color: #c82829; }
45 |
46 | /* a markup attribute name */
47 | .atn {
48 | color: #f5871f; }
49 |
50 | /* a markup attribute value */
51 | .atv {
52 | color: #3e999f; }
53 |
54 | /* a declaration */
55 | .dec {
56 | color: #f5871f; }
57 |
58 | /* a variable name */
59 | .var {
60 | color: #c82829; }
61 |
62 | /* a function name */
63 | .fun {
64 | color: #4271ae; } }
65 | /* Use higher contrast and text-weight for printable form. */
66 | @media print, projection {
67 | .str {
68 | color: #060; }
69 |
70 | .kwd {
71 | color: #006;
72 | font-weight: bold; }
73 |
74 | .com {
75 | color: #600;
76 | font-style: italic; }
77 |
78 | .typ {
79 | color: #404;
80 | font-weight: bold; }
81 |
82 | .lit {
83 | color: #044; }
84 |
85 | .pun, .opn, .clo {
86 | color: #440; }
87 |
88 | .tag {
89 | color: #006;
90 | font-weight: bold; }
91 |
92 | .atn {
93 | color: #404; }
94 |
95 | .atv {
96 | color: #060; } }
97 | /* Style */
98 | /*
99 | pre.prettyprint {
100 | background: white;
101 | font-family: Menlo, Monaco, Consolas, monospace;
102 | font-size: 12px;
103 | line-height: 1.5;
104 | border: 1px solid #ccc;
105 | padding: 10px; }
106 | */
107 |
108 | /* Specify class=linenums on a pre to get line numbering */
109 | ol.linenums {
110 | margin-top: 0;
111 | margin-bottom: 0; }
112 |
113 | /* IE indents via margin-left */
114 | li.L0,
115 | li.L1,
116 | li.L2,
117 | li.L3,
118 | li.L4,
119 | li.L5,
120 | li.L6,
121 | li.L7,
122 | li.L8,
123 | li.L9 {
124 | /* */ }
125 |
126 | /* Alternate shading for lines */
127 | li.L1,
128 | li.L3,
129 | li.L5,
130 | li.L7,
131 | li.L9 {
132 | /* */ }
133 |
--------------------------------------------------------------------------------
/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cuthbertLab/music21j/f06f2d040cbfa5c2ce18c9baa6d4a810cd371d5a/favicon.ico
--------------------------------------------------------------------------------
/jsdoc-template/jsdoc.conf.json:
--------------------------------------------------------------------------------
1 | {
2 | "tags" : {
3 | "allowUnknownTags" : true,
4 | "dictionaries": ["jsdoc","closure"]
5 | },
6 | "plugins" : ["plugins/markdown"],
7 | "recurseDepth": 10,
8 | "templates" : {
9 | "cleverLinks" : true,
10 | "monospaceLinks" : false,
11 | "dateFormat" : "ddd MMM Do YYYY",
12 | "outputSourceFiles" : true,
13 | "outputSourcePath" : true,
14 | "systemName" : "Music21j",
15 | "footer" : "",
16 | "copyright" : "Music21j, Copyright © 2013-2021 Michael Scott Cuthbert",
17 | "navType" : "vertical",
18 | "theme" : "spruce",
19 | "linenums" : true,
20 | "collapseSymbols" : false,
21 | "inverseNav" : true,
22 | "highlightTutorialCode" : true,
23 | "protocol": "html://"
24 | },
25 | "markdown" : {
26 | "parser" : "gfm",
27 | "hardwrap" : true
28 | }
29 | }
30 |
--------------------------------------------------------------------------------
/jsdoc-template/static/img/glyphicons-halflings-white.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cuthbertLab/music21j/f06f2d040cbfa5c2ce18c9baa6d4a810cd371d5a/jsdoc-template/static/img/glyphicons-halflings-white.png
--------------------------------------------------------------------------------
/jsdoc-template/static/img/glyphicons-halflings.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cuthbertLab/music21j/f06f2d040cbfa5c2ce18c9baa6d4a810cd371d5a/jsdoc-template/static/img/glyphicons-halflings.png
--------------------------------------------------------------------------------
/jsdoc-template/static/scripts/prettify/lang-css.js:
--------------------------------------------------------------------------------
1 | PR.registerLangHandler(PR.createSimpleLexer([
2 | ["pln", /^[\t\n\f\r ]+/, null, " \t\r\n"]
3 | ], [
4 | ["str", /^"(?:[^\n\f\r"\\]|\\(?:\r\n?|\n|\f)|\\[\S\s])*"/, null],
5 | ["str", /^'(?:[^\n\f\r'\\]|\\(?:\r\n?|\n|\f)|\\[\S\s])*'/, null],
6 | ["lang-css-str", /^url\(([^"')]*)\)/i],
7 | ["kwd", /^(?:url|rgb|!important|@import|@page|@media|@charset|inherit)(?=[^\w-]|$)/i, null],
8 | ["lang-css-kw", /^(-?(?:[_a-z]|\\[\da-f]+ ?)(?:[\w-]|\\\\[\da-f]+ ?)*)\s*:/i],
9 | ["com", /^\/\*[^*]*\*+(?:[^*/][^*]*\*+)*\//],
10 | ["com", /^(?:<\!--|--\>)/],
11 | ["lit", /^(?:\d+|\d*\.\d+)(?:%|[a-z]+)?/i],
12 | ["lit", /^#[\da-f]{3,6}/i],
13 | ["pln", /^-?(?:[_a-z]|\\[\da-f]+ ?)(?:[\w-]|\\\\[\da-f]+ ?)*/i],
14 | ["pun", /^[^\s\w"']+/]
15 | ]), ["css"]);
16 | PR.registerLangHandler(PR.createSimpleLexer([], [
17 | ["kwd", /^-?(?:[_a-z]|\\[\da-f]+ ?)(?:[\w-]|\\\\[\da-f]+ ?)*/i]
18 | ]), ["css-kw"]);
19 | PR.registerLangHandler(PR.createSimpleLexer([], [
20 | ["str", /^[^"')]+/]
21 | ]), ["css-str"]);
--------------------------------------------------------------------------------
/jsdoc-template/static/styles/prettify-tomorrow.css:
--------------------------------------------------------------------------------
1 | /* Tomorrow Theme */
2 | /* Original theme - https://github.com/chriskempson/tomorrow-theme */
3 | /* Pretty printing styles. Used with prettify.js. */
4 | /* SPAN elements with the classes below are added by prettyprint. */
5 | /* plain text */
6 | .pln {
7 | color: #4d4d4c; }
8 |
9 | @media screen {
10 | /* string content */
11 | .str {
12 | color: #718c00; }
13 |
14 | /* a keyword */
15 | .kwd {
16 | color: #8959a8; }
17 |
18 | /* a comment */
19 | .com {
20 | color: #8e908c; }
21 |
22 | /* a type name */
23 | .typ {
24 | color: #4271ae; }
25 |
26 | /* a literal value */
27 | .lit {
28 | color: #f5871f; }
29 |
30 | /* punctuation */
31 | .pun {
32 | color: #4d4d4c; }
33 |
34 | /* lisp open bracket */
35 | .opn {
36 | color: #4d4d4c; }
37 |
38 | /* lisp close bracket */
39 | .clo {
40 | color: #4d4d4c; }
41 |
42 | /* a markup tag name */
43 | .tag {
44 | color: #c82829; }
45 |
46 | /* a markup attribute name */
47 | .atn {
48 | color: #f5871f; }
49 |
50 | /* a markup attribute value */
51 | .atv {
52 | color: #3e999f; }
53 |
54 | /* a declaration */
55 | .dec {
56 | color: #f5871f; }
57 |
58 | /* a variable name */
59 | .var {
60 | color: #c82829; }
61 |
62 | /* a function name */
63 | .fun {
64 | color: #4271ae; } }
65 | /* Use higher contrast and text-weight for printable form. */
66 | @media print, projection {
67 | .str {
68 | color: #060; }
69 |
70 | .kwd {
71 | color: #006;
72 | font-weight: bold; }
73 |
74 | .com {
75 | color: #600;
76 | font-style: italic; }
77 |
78 | .typ {
79 | color: #404;
80 | font-weight: bold; }
81 |
82 | .lit {
83 | color: #044; }
84 |
85 | .pun, .opn, .clo {
86 | color: #440; }
87 |
88 | .tag {
89 | color: #006;
90 | font-weight: bold; }
91 |
92 | .atn {
93 | color: #404; }
94 |
95 | .atv {
96 | color: #060; } }
97 | /* Style */
98 | /*
99 | pre.prettyprint {
100 | background: white;
101 | font-family: Menlo, Monaco, Consolas, monospace;
102 | font-size: 12px;
103 | line-height: 1.5;
104 | border: 1px solid #ccc;
105 | padding: 10px; }
106 | */
107 |
108 | /* Specify class=linenums on a pre to get line numbering */
109 | ol.linenums {
110 | margin-top: 0;
111 | margin-bottom: 0; }
112 |
113 | /* IE indents via margin-left */
114 | li.L0,
115 | li.L1,
116 | li.L2,
117 | li.L3,
118 | li.L4,
119 | li.L5,
120 | li.L6,
121 | li.L7,
122 | li.L8,
123 | li.L9 {
124 | /* */ }
125 |
126 | /* Alternate shading for lines */
127 | li.L1,
128 | li.L3,
129 | li.L5,
130 | li.L7,
131 | li.L9 {
132 | /* */ }
133 |
--------------------------------------------------------------------------------
/jsdoc-template/tmpl/augments.tmpl:
--------------------------------------------------------------------------------
1 |
5 |
6 |
7 |
10 |
11 |
--------------------------------------------------------------------------------
/jsdoc-template/tmpl/example.tmpl:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/jsdoc-template/tmpl/examples.tmpl:
--------------------------------------------------------------------------------
1 |
6 |
7 |
8 |
9 |
12 |
--------------------------------------------------------------------------------
/jsdoc-template/tmpl/exceptions.tmpl:
--------------------------------------------------------------------------------
1 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 | Type
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
--------------------------------------------------------------------------------
/jsdoc-template/tmpl/fires.tmpl:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/jsdoc-template/tmpl/mainpage.tmpl:
--------------------------------------------------------------------------------
1 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
15 |
16 |
--------------------------------------------------------------------------------
/jsdoc-template/tmpl/members.tmpl:
--------------------------------------------------------------------------------
1 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 | Type:
21 |
26 |
27 |
28 |
29 |
30 |
31 | Example 1? 's':'' ?>
32 |
33 |
34 |
35 |
--------------------------------------------------------------------------------
/jsdoc-template/tmpl/method.tmpl:
--------------------------------------------------------------------------------
1 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 | Type:
22 |
27 |
28 |
29 |
30 | This:
31 |
32 |
33 |
34 |
35 | Parameters:
36 |
37 |
38 |
39 |
40 |
41 |
42 | Fires:
43 |
46 |
47 |
48 |
49 | Listens to Events:
50 |
53 |
54 |
55 |
56 | Listeners of This Event:
57 |
60 |
61 |
62 |
63 | Throws:
64 | 1) { ?>
70 |
71 |
73 |
74 |
75 | Returns:
76 | 1) { ?>
82 |
83 |
85 |
86 |
87 | Example 1? 's':'' ?>
88 |
89 |
90 |
91 |
--------------------------------------------------------------------------------
/jsdoc-template/tmpl/returns.tmpl:
--------------------------------------------------------------------------------
1 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 | Type
14 |
15 |
16 |
17 |
18 |
19 |
20 |
--------------------------------------------------------------------------------
/jsdoc-template/tmpl/sections.tmpl:
--------------------------------------------------------------------------------
1 |
2 |
7 |
--------------------------------------------------------------------------------
/jsdoc-template/tmpl/source.tmpl:
--------------------------------------------------------------------------------
1 |
4 |
10 |
--------------------------------------------------------------------------------
/jsdoc-template/tmpl/tutorial.tmpl:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | 0) { ?>
5 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
--------------------------------------------------------------------------------
/jsdoc-template/tmpl/type.tmpl:
--------------------------------------------------------------------------------
1 |
5 |
6 | |
7 |
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "music21j",
3 | "version": "0.17.9",
4 | "description": "A toolkit for computer-aided musicology, Javascript version",
5 | "main": "releases/music21.debug.js",
6 | "typings": "releases/src/main.d.ts",
7 | "files": [
8 | "/css",
9 | "/releases",
10 | "/scripts",
11 | "/webResources"
12 | ],
13 | "dependencies": {
14 | "jsonpickle": "^1.1.2",
15 | "midicube": "^0.9.1",
16 | "vexflow": "^4.2.3"
17 | },
18 | "devDependencies": {
19 | "@babel/core": "^7.26.8",
20 | "@babel/eslint-parser": "7.22.15",
21 | "@babel/plugin-proposal-class-properties": "^7.18.6",
22 | "@babel/plugin-proposal-export-namespace-from": "^7.18.9",
23 | "@babel/plugin-transform-object-assign": "^7.25.9",
24 | "@babel/preset-env": "^7.26.8",
25 | "@types/jquery": "^3.5.32",
26 | "@types/qunit": "^2.19.12",
27 | "@typescript-eslint/eslint-plugin": "^6.7.0",
28 | "@typescript-eslint/parser": "^6.7.0",
29 | "ajv": "^8.17.1",
30 | "babel-loader": "^9.2.1",
31 | "browserslist": "^4.24.4",
32 | "core-js": "^3.40.0",
33 | "css-loader": "^6.11.0",
34 | "eslint": "^8.57.1",
35 | "eslint-config-airbnb-base": "^15.0.0",
36 | "eslint-plugin-import": "^2.31.0",
37 | "eslint-webpack-plugin": "^4.2.0",
38 | "exports-loader": "^4.0.0",
39 | "glob": "^10.4.5",
40 | "grunt": "^1.6.1",
41 | "grunt-bump": "0.8.0",
42 | "grunt-cli": "^1.5.0",
43 | "grunt-contrib-copy": "^1.0.0",
44 | "grunt-contrib-qunit": "6.2.1",
45 | "grunt-contrib-watch": "^1.1.0",
46 | "grunt-eslint": "^24.3.0",
47 | "grunt-git": "^1.1.1",
48 | "grunt-webpack": "^6.0.0",
49 | "npm-check-updates": "^16.14.20",
50 | "qunit": "^2.24.1",
51 | "style-loader": "^3.3.4",
52 | "ts-loader": "^9.4.4",
53 | "typescript": "^5.2.2",
54 | "webpack": "^5.97.1"
55 | },
56 | "directories": {
57 | "test": "tests"
58 | },
59 | "scripts": {
60 | "prepublishOnly": "rm -rf releases; cp -rp build/ releases/; rm -rf releases/tests; rm releases/README.md",
61 | "postinstall": "sh scripts/postinstall.bash",
62 | "test": "echo \"Error: no test specified\" && exit 1"
63 | },
64 | "repository": {
65 | "type": "git",
66 | "url": "git+https://github.com/cuthbertLab/music21j.git"
67 | },
68 | "keywords": [
69 | "music",
70 | "theory",
71 | "musicology",
72 | "notation"
73 | ],
74 | "author": {
75 | "name": "Michael Scott Asato Cuthbert",
76 | "email": "michael.asato.cuthbert@gmail.com",
77 | "url": "https://www.trecento.com"
78 | },
79 | "license": "BSD-3-Clause",
80 | "bugs": {
81 | "url": "https://github.com/cuthbertLab/music21j/issues"
82 | }
83 | }
84 |
--------------------------------------------------------------------------------
/releases/src/articulations.d.ts.map:
--------------------------------------------------------------------------------
1 | {"version":3,"file":"articulations.d.ts","sourceRoot":"","sources":["../../src/articulations.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,YAAY,IAAI,cAAc,EAA0B,QAAQ,IAAI,UAAU,EAAE,MAAM,SAAS,CAAC;AAGzG,OAAO,KAAK,OAAO,MAAM,WAAW,CAAC;AAErC,oBAAY,qBAAqB;IAC7B,KAAK,UAAU;IACf,KAAK,UAAU;IACf,IAAI,SAAS;IACb,KAAK,UAAU;IACf,SAAS,aAAa;IACtB,SAAS,aAAa;CACzB;AAED,eAAO,MAAM,8CAA8C,gEAO1D,CAAC;AAEF,MAAM,WAAW,yBAAyB;IACtC,aAAa,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED;;GAEG;AACH,wBAAgB,iCAAiC,CAC7C,GAAG,EAAE,cAAc,GAAC,UAAU,EAC9B,SAAS,EAAE,qBAAqB,EAChC,aAAa,EAAE,MAAM,GACtB,IAAI,CAyBN;AAED;;;;;;;;;GASG;AACH,qBAAa,YAAa,SAAQ,OAAO,CAAC,cAAc;IACpD,MAAM,KAAK,SAAS,WAAkD;IAEtE,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,qBAAqB,CAAmC;IACnE,eAAe,EAAE,MAAM,CAAM;IAC7B,YAAY,EAAE,MAAM,CAAO;IAC3B,WAAW,EAAE,MAAM,CAAO;IAE1B;;;OAGG;IACH,OAAO,CAAC,EAAC,aAAa,EAAC,GAAE,yBAA8B,GAAG,cAAc,GAAC,IAAI;CAQhF;AAED;;GAEG;AACH,qBAAa,kBAAmB,SAAQ,YAAY;IAChD,MAAM,KAAK,SAAS,WAAwD;IAEnE,IAAI,SAAyB;CACzC;AAED;;GAEG;AACH,qBAAa,mBAAoB,SAAQ,YAAY;IACjD,MAAM,KAAK,SAAS,WAAyD;IAEpE,IAAI,SAAyB;CACzC;AAED;;GAEG;AACH,qBAAa,iBAAkB,SAAQ,YAAY;IAC/C,MAAM,KAAK,SAAS,WAAuD;IAElE,IAAI,SAAwB;CACxC;AAED;;GAEG;AACH,qBAAa,kBAAmB,SAAQ,YAAY;IAChD,MAAM,KAAK,SAAS,WAAwD;IAEnE,IAAI,SAAyB;CACzC;AAED;;GAEG;AACH,qBAAa,MAAO,SAAQ,mBAAmB;IAC3C,MAAM,KAAK,SAAS,WAA4C;IAEvD,IAAI,SAAY;IAChB,eAAe,SAAQ;IACvB,YAAY,SAAO;CAC/B;AAED;;GAEG;AACH,qBAAa,YAAa,SAAQ,MAAM;IACpC,MAAM,KAAK,SAAS,WAAkD;IAE7D,IAAI,SAAmB;IACvB,eAAe,SAAQ;IACvB,YAAY,SAAO;CAC/B;AAED,qBAAa,QAAS,SAAQ,kBAAkB;IAC5C,MAAM,KAAK,SAAS,WAA8C;IAEzD,IAAI,SAAc;IAClB,eAAe,SAAQ;IACvB,WAAW,SAAO;CAC9B;AAED,qBAAa,aAAc,SAAQ,QAAQ;IACvC,MAAM,KAAK,SAAS,WAAmD;IAE9D,IAAI,SAAmB;IACvB,eAAe,SAAQ;IACvB,WAAW,SAAO;CAC9B;AAED;;GAEG;AACH,qBAAa,QAAS,SAAQ,QAAQ;IAClC,MAAM,KAAK,SAAS,WAA8C;IAEzD,IAAI,SAAc;IAClB,eAAe,SAAM;CACjC;AAED;;;GAGG;AACH,qBAAa,OAAQ,SAAQ,mBAAmB;IAC5C,MAAM,KAAK,SAAS,WAA6C;;CASpE;AAED,qBAAa,MAAO,SAAQ,kBAAkB;IAC1C,MAAM,KAAK,SAAS,WAA4C;IAEvD,IAAI,SAAY;IAChB,eAAe,SAAQ;CACnC"}
--------------------------------------------------------------------------------
/releases/src/audioRecording.d.ts:
--------------------------------------------------------------------------------
1 | interface RecorderConfig {
2 | bufferLen?: number;
3 | callback?: Function;
4 | type?: string;
5 | }
6 | interface CanvasInfo {
7 | id: string;
8 | width: number;
9 | height: number;
10 | canvasContext: CanvasRenderingContext2D;
11 | animationFrameID?: number;
12 | }
13 | /**
14 | * Adopted from Matt Diamond's recorder.js code MIT License
15 | */
16 | export declare class Recorder {
17 | bufferLen: number;
18 | config: RecorderConfig;
19 | recording: boolean;
20 | currCallback: any;
21 | audioContext: AudioContext;
22 | frequencyCanvasInfo: CanvasInfo;
23 | waveformCanvasInfo: CanvasInfo;
24 | analyserNode: any;
25 | context: BaseAudioContext;
26 | worker: Worker;
27 | node: ScriptProcessorNode;
28 | constructor(cfg?: RecorderConfig);
29 | /**
30 | * Start here -- polyfills navigator, runs getUserMedia and then sends to audioStreamConnected
31 | */
32 | initAudio(): void;
33 | /**
34 | * After the user has given permission to record, this method is called.
35 | * It creates a gain point, and then connects the input source to the gain.
36 | * It connects an analyserNode (fftSize 2048) to the gain.
37 | *
38 | * It creates a second gain of 0.0 connected to the destination, so that
39 | * we're not hearing what we're playing in in an infinite loop (SUCKS to turn this off...)
40 | *
41 | * And it calls this.connectSource on the inputPoint so that
42 | * we can do something with all these wonderful inputs.
43 | */
44 | audioStreamConnected(stream: any): void;
45 | /**
46 | * Creates a worker to receive and process all the messages asynchronously.
47 | */
48 | connectSource(source: GainNode): void;
49 | /**
50 | * Creates a ScriptProcessorNode (preferably) to allow for direct audio processing.
51 | *
52 | * Sets it to this.node and returns it.
53 | */
54 | setNode(): ScriptProcessorNode;
55 | /**
56 | * Configure from another source...
57 | */
58 | configure(cfg: any): void;
59 | record(): void;
60 | stop(): void;
61 | clear(): void;
62 | /**
63 | * Directly get the buffers from the worker and then call cb.
64 | */
65 | getBuffers(cb: any): void;
66 | /**
67 | * call exportWAV or exportMonoWAV on the worker, then call cb or (if undefined) setupDownload.
68 | */
69 | exportWAV(cb: any, type: any, isMono: any): void;
70 | exportMonoWAV(cb: any, type: any): void;
71 | setupDownload(blob: any, filename?: string, elementId?: string): void;
72 | setContextForCanvasInfo(canvasInfo: CanvasInfo): void;
73 | /**
74 | * Update the Analysers.
75 | */
76 | updateAnalysers(time: number): void;
77 | drawWaveformCanvas(buffers: number[][]): void;
78 | /**
79 | * set this as a callback from getBuffers. Returns the source so that a stop() command
80 | * is possible.
81 | */
82 | playBuffers(buffers: number[][]): AudioBufferSourceNode;
83 | }
84 | export {};
85 | //# sourceMappingURL=audioRecording.d.ts.map
--------------------------------------------------------------------------------
/releases/src/audioRecording.d.ts.map:
--------------------------------------------------------------------------------
1 | {"version":3,"file":"audioRecording.d.ts","sourceRoot":"","sources":["../../src/audioRecording.ts"],"names":[],"mappings":"AAEA,UAAU,cAAc;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,UAAU,UAAU;IAChB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,aAAa,EAAE,wBAAwB,CAAC;IACxC,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED;;GAEG;AACH,qBAAa,QAAQ;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,cAAc,CAAC;IACvB,SAAS,EAAE,OAAO,CAAS;IAC3B,YAAY,MAAC;IACb,YAAY,EAAE,YAAY,CAAC;IAC3B,mBAAmB,EAAE,UAAU,CAAC;IAChC,kBAAkB,EAAE,UAAU,CAAC;IAC/B,YAAY,EAAE,GAAG,CAAC;IAClB,OAAO,EAAE,gBAAgB,CAAC;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,mBAAmB,CAAC;gBAEd,GAAG,GAAE,cAAmB;IA6BpC;;OAEG;IACH,SAAS;IAkBT;;;;;;;;;;OAUG;IACH,oBAAoB,CAAC,MAAM,KAAA,GAAG,IAAI;IAoBlC;;OAEG;IACH,aAAa,CAAC,MAAM,EAAE,QAAQ,GAAG,IAAI;IA4DrC;;;;OAIG;IACH,OAAO;IAWP;;OAEG;IACH,SAAS,CAAC,GAAG,KAAA,GAAG,IAAI;IAQpB,MAAM,IAAI,IAAI;IAId,IAAI,IAAI,IAAI;IAIZ,KAAK,IAAI,IAAI;IAIb;;OAEG;IACH,UAAU,CAAC,EAAE,KAAA,GAAG,IAAI;IAKpB;;OAEG;IACH,SAAS,CAAC,EAAE,KAAA,EAAE,IAAI,KAAA,EAAE,MAAM,KAAA,GAAG,IAAI;IAsBjC,aAAa,CAAC,EAAE,KAAA,EAAE,IAAI,KAAA,GAAG,IAAI;IAI7B,aAAa,CACT,IAAI,KAAA,EACJ,QAAQ,GAAE,MAAqB,EAC/B,SAAS,GAAE,MAAe,GAC3B,IAAI;IAOP,uBAAuB,CAAC,UAAU,EAAE,UAAU,GAAG,IAAI;IAarD;;OAEG;IACH,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAiDnC,kBAAkB,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI;IAkC7C;;;OAGG;IACH,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,GAAG,qBAAqB;CAoB1D"}
--------------------------------------------------------------------------------
/releases/src/audioSearch.d.ts:
--------------------------------------------------------------------------------
1 | declare class _ConfigSingletonCreator {
2 | fftSize: number;
3 | AudioContextCaller: any;
4 | _audioContext: AudioContext;
5 | animationFrameCallbackId: number;
6 | sampleBuffer: Float32Array;
7 | currentAnalyser: any;
8 | minFrequency: number;
9 | maxFrequency: number;
10 | pitchSmoothingSize: number;
11 | lastPitchClassesDetected: number[];
12 | lastPitchesDetected: number[];
13 | lastCentsDeviationsDetected: number[];
14 | constructor();
15 | get audioContext(): AudioContext;
16 | set audioContext(ac: AudioContext);
17 | }
18 | export declare const config: _ConfigSingletonCreator;
19 | /**
20 | * Note: audioRecording uses the newer getUserMedia routines, so
21 | * this should be ported to be similar to there.
22 | *
23 | * @param {Object} dictionary - optional dictionary to fill
24 | * @param {function} callback - callback on success
25 | * @param {function} error - callback on error
26 | */
27 | export declare function getUserMedia(dictionary: any, callback: any, error: any): void;
28 | export declare function userMediaStarted(audioStream: any): void;
29 | export declare const animateLoop: () => void;
30 | export declare function smoothPitchExtraction(frequency: number): [number, number];
31 | export declare function sampleCallback(frequency: number): number;
32 | export declare function autoCorrelate(buf: any, sampleRate: number, minFrequency?: number, maxFrequency?: number): number;
33 | export declare function midiNumDiffFromFrequency(frequency: number): [number, number];
34 | export {};
35 | //# sourceMappingURL=audioSearch.d.ts.map
--------------------------------------------------------------------------------
/releases/src/audioSearch.d.ts.map:
--------------------------------------------------------------------------------
1 | {"version":3,"file":"audioSearch.d.ts","sourceRoot":"","sources":["../../src/audioSearch.ts"],"names":[],"mappings":"AAWA,cAAM,uBAAuB;IACzB,OAAO,EAAE,MAAM,CAAQ;IACvB,kBAAkB,EAAE,GAAG,CAAC;IACxB,aAAa,EAAE,YAAY,CAAQ;IACnC,wBAAwB,EAAE,MAAM,CAAK;IACrC,YAAY,EAAE,YAAY,CAAQ;IAClC,eAAe,MAAC;IAChB,YAAY,EAAE,MAAM,CAAM;IAC1B,YAAY,EAAE,MAAM,CAAO;IAC3B,kBAAkB,EAAE,MAAM,CAAK;IAC/B,wBAAwB,EAAE,MAAM,EAAE,CAAM;IACxC,mBAAmB,EAAE,MAAM,EAAE,CAAM;IACnC,2BAA2B,EAAE,MAAM,EAAE,CAAM;;IAM3C,IAAI,YAAY,IAmBK,YAAY,CAFhC;IAED,IAAI,YAAY,CAAC,EAAE,EAAE,YAAY,EAEhC;CACJ;AAED,eAAO,MAAM,MAAM,yBAAgC,CAAC;AAEpD;;;;;;;GAOG;AACH,wBAAgB,YAAY,CAAC,UAAU,KAAA,EAAE,QAAQ,KAAA,EAAE,KAAK,KAAA,GAAG,IAAI,CAmC9D;AAED,wBAAgB,gBAAgB,CAAC,WAAW,KAAA,GAAG,IAAI,CAclD;AAED,eAAO,MAAM,WAAW,YAmBvB,CAAC;AAEF,wBAAgB,qBAAqB,CAAC,SAAS,EAAE,MAAM,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CA+CzE;AAED,wBAAgB,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAMxD;AAGD,wBAAgB,aAAa,CACzB,GAAG,KAAA,EACH,UAAU,EAAE,MAAM,EAClB,YAAY,GAAE,MAAU,EACxB,YAAY,GAAE,MAAkB,UAqEnC;AAED,wBAAgB,wBAAwB,CACpC,SAAS,EAAE,MAAM,GAClB,CAAC,MAAM,EAAE,MAAM,CAAC,CAKlB"}
--------------------------------------------------------------------------------
/releases/src/bar.d.ts:
--------------------------------------------------------------------------------
1 | /**
2 | * music21j -- Javascript reimplementation of Core music21p features.
3 | * music21/bar -- Barline objects
4 | *
5 | * Copyright (c) 2013-24, Michael Scott Asato Cuthbert
6 | * Based on music21 (=music21p), Copyright (c) 2006-24, Michael Scott Asato Cuthbert
7 | *
8 | */
9 | import * as base from './base';
10 | import { Music21Exception } from './exceptions21';
11 | export declare class BarException extends Music21Exception {
12 | }
13 | export declare class Barline extends base.Music21Object {
14 | _type: string;
15 | location: string;
16 | static get className(): string;
17 | constructor(type?: string, location?: string);
18 | get type(): string;
19 | set type(v: string);
20 | musicXMLBarStyle(): string;
21 | }
22 | export default Barline;
23 | //# sourceMappingURL=bar.d.ts.map
--------------------------------------------------------------------------------
/releases/src/bar.d.ts.map:
--------------------------------------------------------------------------------
1 | {"version":3,"file":"bar.d.ts","sourceRoot":"","sources":["../../src/bar.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,KAAK,IAAI,MAAM,QAAQ,CAAC;AAC/B,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAgBlD,qBAAa,YAAa,SAAQ,gBAAgB;CAAG;AAsBrD,qBAAa,OAAQ,SAAQ,IAAI,CAAC,aAAa;IAC3C,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IAEjB,MAAM,KAAK,SAAS,WAAoC;gBAE5C,IAAI,SAAU,EAAE,QAAQ,SAAQ;IAO5C,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED,IAAI,IAAI,CAAC,CAAC,EAAE,MAAM,EAEjB;IAED,gBAAgB,IAAI,MAAM;CAG7B;AAED,eAAe,OAAO,CAAC"}
--------------------------------------------------------------------------------
/releases/src/base.d.ts.map:
--------------------------------------------------------------------------------
1 | {"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../src/base.ts"],"names":[],"mappings":"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"}
--------------------------------------------------------------------------------
/releases/src/beam.d.ts.map:
--------------------------------------------------------------------------------
1 | {"version":3,"file":"beam.d.ts","sourceRoot":"","sources":["../../src/beam.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,OAAO,MAAM,WAAW,CAAC;AAErC,OAAO,KAAK,KAAK,IAAI,MAAM,QAAQ,CAAC;AAGpC,eAAO,MAAM,cAAc;;;;;CAK1B,CAAC;AAEF,eAAO,MAAM,qBAAqB,UAMjC,CAAC;AAGF;;;;;;;;;GASG;AACH,qBAAa,IAAK,SAAQ,OAAO,CAAC,cAAc;IAC5C,MAAM,KAAK,SAAS,WAAkC;IACtD,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,GAAC,SAAS,CAAC;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,gBAAgB,EAAE,MAAM,CAAC;gBAEb,IAAI,EAAE,MAAM,EAAE,SAAS,MAAU;CAKhD;AAED;;;;;;GAMG;AACH,qBAAa,KAAM,SAAQ,OAAO,CAAC,cAAc;IAC7C,MAAM,KAAK,SAAS,WAAmC;IAEvD,MAAM,CAAC,UAAU,CAAC,OAAO,EAAE,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,KAAK,EAAE;IAgBjE,MAAM,CAAC,2BAA2B,CAAC,SAAS,EAAE,KAAK,EAAE,GAAG,KAAK,EAAE;IAiB/D,MAAM,CAAC,oBAAoB,CAAC,SAAS,EAAE,KAAK,EAAE,GAAG,KAAK,EAAE;IAkCxD,MAAM,CAAC,2BAA2B,CAAC,SAAS,EAAE,KAAK,EAAE,GAAG,KAAK,EAAE;IAoE/D,SAAS,EAAE,IAAI,EAAE,CAAM;IACvB,SAAS,EAAE,OAAO,CAAS;IAE3B,IAAI,MAAM,IAAI,MAAM,CAEnB;IAED;;;;;;;OAOG;IACH,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,MAAU,GAAG,IAAI;IAO/C;;;;;;;;;;;;;;;;OAgBG;IACH,IAAI,CAAC,KAAK,EAAE,MAAM,GAAC,MAAM,EAAE,IAAI,GAAE,MAAM,GAAC,SAAqB,GAAG,KAAK;IAoCrE;;;;;OAKG;IACH,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,GAAC,SAAS;IAY3C;;;;OAIG;IACH,UAAU,IAAI,MAAM,EAAE;IAQtB;;;;;;OAMG;IACH,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAC,SAAS;IAajD;;;;OAIG;IACH,QAAQ,IAAI,MAAM,EAAE;IAQpB;;;;;;OAMG;IACH,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,GAAE,MAAkB,GAAG,KAAK;IAY1D;;;;;;;OAOG;IACH,WAAW,CACP,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,EACZ,SAAS,GAAE,MAAM,GAAC,SAAqB,GACxC,KAAK;CAiBX"}
--------------------------------------------------------------------------------
/releases/src/chord.d.ts.map:
--------------------------------------------------------------------------------
1 | {"version":3,"file":"chord.d.ts","sourceRoot":"","sources":["../../src/chord.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,EAAE,SAAS,IAAI,WAAW,EAAE,MAAM,SAAS,CAAC;AAKnD,OAAO,KAAK,IAAI,MAAM,QAAQ,CAAC;AAC/B,OAAO,KAAK,WAAW,MAAM,eAAe,CAAC;AAG7C,OAAO,KAAK,KAAK,IAAI,MAAM,QAAQ,CAAC;AACpC,OAAO,KAAK,KAAK,UAAU,MAAM,cAAc,CAAC;AAChD,OAAO,KAAK,KAAK,KAAK,MAAM,SAAS,CAAC;AACtC,OAAO,EAAC,kBAAkB,EAAC,MAAM,QAAQ,CAAC;AAE1C,OAAO,EAAE,WAAW,EAAE,CAAC;AAGvB;;;;;;;;;;GAUG;AACH,qBAAa,KAAM,SAAQ,IAAI,CAAC,OAAO;IACnC,MAAM,KAAK,SAAS,WAAoC;IAExD,SAAS,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,EAAE,CAAM;IACnC,OAAO,UAAQ;IACf,MAAM,UAAS;IACf,MAAM,UAAS;IACf,UAAU,EAAE,GAAG,CAAM;IACrB,MAAM,EAAE,GAAG,CAAM;IACjB,SAAS,CAAC,mBAAmB,EAAE,GAAG,CAAa;IAC/C,SAAS,CAAC,gCAAgC,EAAE,OAAO,CAAQ;gBAE/C,KAAK,CAAC,EAAE,MAAM,GAAC,MAAM,EAAE,GAAC,IAAI,CAAC,IAAI,GAAC,IAAI,CAAC,IAAI,EAAE,GAAC,KAAK,CAAC,KAAK,GAAC,KAAK,CAAC,KAAK,EAAE;IA2BnF,UAAU,IAAI,MAAM;IAKpB,IAAI,MAAM,IAAI,MAAM,CAEnB;IAKD,IAAI,OAAO,IAAI,KAAK,CAAC,KAAK,EAAE,CAM3B;IAED,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,KAAK,GAAC,MAAM,GAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAqBxD;IAED,IAAI,KAAK,IAAI,IAAI,CAAC,IAAI,EAAE,CAEvB;IAED,IAAI,KAAK,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,EAAE,EAI9B;IAED,WAAW,CAAC,OAAO,GAAE,kBAAuB,GAAG,WAAW;IAK1D,IAAI,mBAAmB,IAAI,MAAM,EAAE,CAUlC;IAED,IAAI,kBAAkB,QAMrB;IAED,IAAI,UAAU,IAAI,MAAM,CAyBvB;IAED,IAAI,UAAU,WAEb;IAED,IAAI,gBAAgB,QAEnB;IAED,IAAI,aAAa,WAEhB;IAED,GAAG,CAAC,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC,IAAI;IAQvB,CAAC,MAAM,CAAC,QAAQ,CAAC;IAOnB,aAAa,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO;IAapC,YAAY,IAAI,KAAK;IAkBrB,IAAI,YAAY,IAAI,OAAO,CAO1B;IAED,IAAI,cAAc,QAEjB;IAUD,wBAAwB,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,IAAI;IAyBzC;;;;OAIG;IACH,GAAG,CACC,CAAC,EAAE,MAAM,GAAC,MAAM,EAAE,GAAC,IAAI,CAAC,IAAI,GAAC,IAAI,CAAC,IAAI,EAAE,GAAC,KAAK,CAAC,KAAK,GAAC,KAAK,CAAC,KAAK,EAAE,EAClE,OAAO,GAAE,OAAc,GACxB,IAAI;IA8BP,WAAW,IAAI,IAAI;IAYnB;;;;;OAKG;IACH,sBAAsB,IAAI,KAAK;IAe/B;;OAEG;IACH,IAAI,CAAC,OAAO,CAAC,EAAE,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK;IA0DxC;;;;;;;;;;OAUG;IACH,sBAAsB,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,CAAC,KAAK,GAAG,MAAM,GAAC,SAAS;IAgBnF;;;;OAIG;IACH,IAAI,CAAC,OAAO,CAAC,EAAE,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,GAAC,SAAS;IA8BlD;;;;OAIG;IACH,WAAW,IAAI,MAAM;IAKrB,YAAY,IAAI,OAAO;IAavB,YAAY,IAAI,OAAO;IAavB,iBAAiB,IAAI,OAAO;IAa5B,gBAAgB,IAAI,OAAO;IAc3B,iBAAiB,IAAI,OAAO;IAI5B,mBAAmB,IAAI,OAAO;IAI9B,eAAe,CAAC,aAAa,EAAE,MAAM,EAAE,GAAG,OAAO;IA+BjD;;OAEG;IACH,cAAc,IAAI,OAAO;IAQzB;;OAEG;IACH,UAAU,IAAI,OAAO;IAQrB;;;;;;OAMG;IACH,SAAS,IAAI,MAAM;IAaV,QAAQ,CACb,KAAK,GAAE,MAAY,EACnB,WAAW,MAAY,EACvB,EACI,UAAoB,EACpB,OAAiB,EACjB,UAAgB,GACnB,GAAE;QACC,UAAU,CAAC,EAAE,UAAU,CAAC,UAAU,CAAC;QACnC,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,UAAU,CAAC,EAAE,OAAO,CAAC;KACrB;IAqBR;;;;;;OAMG;IACH,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,GAAC,SAAS;IAuB9E,IAAI,KAAK,IAAI,KAAK,CAAC,KAAK,GAAC,SAAS,CAEjC;IAED,IAAI,KAAK,IAAI,KAAK,CAAC,KAAK,GAAC,SAAS,CAEjC;IAED,IAAI,OAAO,IAAI,KAAK,CAAC,KAAK,GAAC,SAAS,CAEnC;CACJ;AAED,eAAO,MAAM,gBAAgB;;;;;;;;;;CAU5B,CAAC"}
--------------------------------------------------------------------------------
/releases/src/chordTables.d.ts.map:
--------------------------------------------------------------------------------
1 | {"version":3,"file":"chordTables.d.ts","sourceRoot":"","sources":["../../src/chordTables.ts"],"names":[],"mappings":"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"}
--------------------------------------------------------------------------------
/releases/src/clef.d.ts.map:
--------------------------------------------------------------------------------
1 | {"version":3,"file":"clef.d.ts","sourceRoot":"","sources":["../../src/clef.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,KAAK,IAAI,MAAM,QAAQ,CAAC;AAC/B,OAAO,KAAK,KAAK,MAAM,SAAS,CAAC;AACjC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAQvC,KAAK,QAAQ,GAAG,QAAQ,GAAC,SAAS,GAAC,eAAe,GAAC,MAAM,GAAC,OAAO,GAAC,MAAM,GAAC,YAAY,CAAC;AAEtF,eAAO,MAAM,WAAW,EAAE,MAAM,CAAC,QAAQ,EAAE,MAAM,CAQhD,CAAC;AAEF,eAAO,MAAM,UAAU,EAAE,MAAM,CAAC,QAAQ,EAAE,MAAM,CAQ/C,CAAC;AAEF,eAAO,MAAM,UAAU,EAAE,MAAM,CAAC,QAAQ,EAAE,MAAM,CAQ/C,CAAC;AAEF;;;;;;;;;GASG;AACH,qBAAa,IAAK,SAAQ,IAAI,CAAC,aAAa;IACxC,MAAM,KAAK,SAAS,WAAkC;IAEtD,IAAI,EAAE,MAAM,CAAa;IACzB,IAAI,EAAE,MAAM,CAAa;IACzB,IAAI,EAAE,MAAM,CAAK;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAsB;IACxC,sBAAsB,EAAE,MAAM,CAAK;gBAEvB,IAAI,CAAC,EAAE,QAAQ,EAAE,YAAY,GAAE,MAAU;IAmBrD,UAAU;IAIV;;;;;;OAMG;IACH,oBAAoB,CAAC,CAAC,EAAE,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK;IAajD,0BAA0B,CACtB,SAAS,EAAE,KAAK,CAAC,KAAK,GAAC,KAAK,CAAC,KAAK,EAAE,EACpC,EACI,aAAkB,EAClB,gBAAqB,GACxB,GAAE;QACC,aAAa,CAAC,EAAE,OAAO,CAAC;QACxB,gBAAgB,CAAC,EAAE,OAAO,CAAC;KACzB,GACP,MAAM;CAoCZ;AAED;;GAEG;AACH,qBAAa,UAAW,SAAQ,IAAI;IAChC,MAAM,KAAK,SAAS,WAAwC;;CAO/D;AAED;;;;GAIG;AACH,qBAAa,aAAc,SAAQ,IAAI;IACnC,MAAM,KAAK,SAAS,WAA2C;;CAKlE;AAED;;GAEG;AACH,qBAAa,aAAc,SAAQ,IAAI;IACnC,MAAM,KAAK,SAAS,WAA2C;;CAKlE;AAED;;GAEG;AACH,qBAAa,QAAS,SAAQ,IAAI;IAC9B,MAAM,KAAK,SAAS,WAAsC;;CAO7D;AAED;;GAEG;AACH,qBAAa,WAAY,SAAQ,IAAI;IACjC,MAAM,KAAK,SAAS,WAAyC;;CAOhE;AAED;;GAEG;AACH,qBAAa,QAAS,SAAQ,IAAI;IAC9B,MAAM,KAAK,SAAS,WAAsC;;CAO7D;AAED;;GAEG;AACH,qBAAa,SAAU,SAAQ,IAAI;IAC/B,MAAM,KAAK,SAAS,WAAuC;;CAO9D;AAED;;GAEG;AACH,qBAAa,WAAY,SAAQ,IAAI;IACjC,MAAM,KAAK,SAAS,WAAyC;;CAOhE;AAED;;GAEG;AACH,qBAAa,gBAAiB,SAAQ,IAAI;IACtC,MAAM,KAAK,SAAS,WAA8C;;CAOrE;AAED;;;;GAIG;AACH,qBAAa,cAAe,SAAQ,IAAI;IACpC,MAAM,KAAK,SAAS,WAA4C;;CAOnE;AAED,eAAO,MAAM,SAAS;;;;;;;;;;;CAWrB,CAAC;AAEF;;;;GAIG;AACH,wBAAgB,QAAQ,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,OAAY,EAAE;;CAAG,GAAG,IAAI,CA6B9D;AAED;GACG;AACH,wBAAgB,cAAc,CAAC,UAAU,EAAE,MAAM,EAAE,WAAW,GAAE,MAAU,GAAG,IAAI,CA2DhF"}
--------------------------------------------------------------------------------
/releases/src/common.d.ts.map:
--------------------------------------------------------------------------------
1 | {"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../src/common.ts"],"names":[],"mappings":";;AAMA,wBAAgB,iBAAiB,CAAC,EAAE,CAAC,EAAE,MAAM,GAAC,WAAW,GAAG,WAAW,CAUtE;AAED;;;;;;;;GAQG;AACH,wBAAgB,KAAK,CAAC,CAAC,SAAS,MAAM,EAAE,WAAW,EAAE,CAAC,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,CAAC,CAqB1E;AAED,wBAAgB,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,OAW9D;AAED;;;;GAIG;AACH,wBAAgB,KAAK,CAAC,WAAW,KAAA,EAAE,iBAAiB,KAAA,GAAG,IAAI,CAe1D;AAED;;;;;GAKG;AAsCH;;;;;;GAMG;AAEH,wBAAgB,MAAM,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAKnD;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,eAAe,CAAC,CAAC,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,CAmB5D;AAED;;GAEG;AAEH,wBAAgB,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CA6B7C;AAED;;GAEG;AAEH,wBAAgB,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CA8B3C;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,GAAG,GAAE,MAAc,EAAE,KAAK,GAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAM,GAAG,UAAU,CAW7F;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,GAAE,OAAe,GAAG,MAAM,CAyBlF;AAED;;;;;;;;GAQG;AACH,wBAAgB,WAAW,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,SAAM,EAAE,cAAc,SAAG,GACpE;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAC,GAAG,SAAS,CAUvD;AAED;;;;;;;GAOG;AACH,wBAAgB,OAAO,CAAC,GAAG,EAAE,MAAM,GAAC,MAAM,GAAG,MAAM,CAQlD;AAED;;;;;GAKG;AACH,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAO7C;AAED,wBAAgB,WAAW,CAAC,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,OAAO,CAczD;AAMD,qBAAa,gBAAgB;IACzB,IAAI,IAAI,MAAM;CAKjB;AAED,eAAO,MAAM,IAAI;;;;;CAKhB,CAAC;AAEF,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAExD;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAOrD;AAED,eAAO,MAAM,YAAY,SAAU,MAAM,KAAG,MAoC3C,CAAC;AAEF,wBAAgB,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAE5C;AA4BD;;;;;GAKG;AACH,wBAAgB,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAe1C;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,KAAK,CAAC,YAAY,EAAE,MAAM,GAAG,WAAW,CAKvD;AAED;;GAEG;AACH,wBAAgB,KAAK,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAEjD"}
--------------------------------------------------------------------------------
/releases/src/converter.d.ts:
--------------------------------------------------------------------------------
1 | export declare function parse(txt: string): import("./stream").Score;
2 | //# sourceMappingURL=converter.d.ts.map
--------------------------------------------------------------------------------
/releases/src/converter.d.ts.map:
--------------------------------------------------------------------------------
1 | {"version":3,"file":"converter.d.ts","sourceRoot":"","sources":["../../src/converter.ts"],"names":[],"mappings":"AAEA,wBAAgB,KAAK,CAAC,GAAG,EAAE,MAAM,4BAGhC"}
--------------------------------------------------------------------------------
/releases/src/debug.d.ts:
--------------------------------------------------------------------------------
1 | export declare const debug: boolean;
2 | //# sourceMappingURL=debug.d.ts.map
--------------------------------------------------------------------------------
/releases/src/debug.d.ts.map:
--------------------------------------------------------------------------------
1 | {"version":3,"file":"debug.d.ts","sourceRoot":"","sources":["../../src/debug.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,KAAK,EAAE,OAAe,CAAC"}
--------------------------------------------------------------------------------
/releases/src/defaults.d.ts:
--------------------------------------------------------------------------------
1 | export declare const defaults: {
2 | appendLocation: string;
3 | };
4 | export default defaults;
5 | //# sourceMappingURL=defaults.d.ts.map
--------------------------------------------------------------------------------
/releases/src/defaults.d.ts.map:
--------------------------------------------------------------------------------
1 | {"version":3,"file":"defaults.d.ts","sourceRoot":"","sources":["../../src/defaults.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,QAAQ;;CAEpB,CAAC;AAEF,eAAe,QAAQ,CAAC"}
--------------------------------------------------------------------------------
/releases/src/derivation.d.ts:
--------------------------------------------------------------------------------
1 | import { Music21Object } from './base';
2 | export declare class Derivation {
3 | client: Music21Object;
4 | method: string;
5 | origin: Music21Object;
6 | constructor(client: Music21Object);
7 | clone(): Derivation;
8 | chain(): Generator;
9 | rootDerivation(): Music21Object | undefined;
10 | }
11 | export default Derivation;
12 | //# sourceMappingURL=derivation.d.ts.map
--------------------------------------------------------------------------------
/releases/src/derivation.d.ts.map:
--------------------------------------------------------------------------------
1 | {"version":3,"file":"derivation.d.ts","sourceRoot":"","sources":["../../src/derivation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AAEvC,qBAAa,UAAU;IACnB,MAAM,EAAE,aAAa,CAAC;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,aAAa,CAAC;gBAEV,MAAM,EAAE,aAAa;IAIjC,KAAK,IAAI,UAAU;IAOjB,KAAK,IAAI,SAAS,CAAC,aAAa,EAAE,IAAI,EAAE,IAAI,CAAC;IAQ/C,cAAc,IAAI,aAAa,GAAC,SAAS;CAQ5C;AAGD,eAAe,UAAU,CAAC"}
--------------------------------------------------------------------------------
/releases/src/duration.d.ts.map:
--------------------------------------------------------------------------------
1 | {"version":3,"file":"duration.d.ts","sourceRoot":"","sources":["../../src/duration.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,OAAO,MAAM,WAAW,CAAC;AAErC;;GAEG;AACH,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;CAkB3B,CAAC;AAEF,eAAO,MAAM,gBAAgB,IAAI,CAAC;AAElC,eAAO,MAAM,kBAAkB,UAiB9B,CAAC;AAEF,eAAO,MAAM,oBAAoB,UAiBhC,CAAC;AAEF;;;GAGG;AACH,qBAAa,QAAS,SAAQ,OAAO,CAAC,cAAc;IAChD,MAAM,KAAK,SAAS,WAA0C;IAC9D,OAAO,EAAE,OAAO,CAAS;IACzB,MAAM,EAAE,OAAO,CAAQ;IACvB,SAAS,CAAC,cAAc,EAAE,MAAM,CAAO;IACvC,SAAS,CAAC,KAAK,EAAE,MAAM,CAAK;IAC5B,SAAS,CAAC,eAAe,MAAa;IACtC,SAAS,CAAC,KAAK,EAAE,MAAM,CAAU;IACjC,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,CAAM;gBAEtB,EAAE,GAAE,MAAM,GAAC,MAAY;IAkBnC,UAAU,IAAI,MAAM;IAIpB;;;;;;;;;;;;OAYG;IACH,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED,IAAI,IAAI,CAAC,OAAO,EAAE,MAAM,EAKvB;IAED;;;;;;;;;;;;;OAaG;IACH,IAAI,aAAa,IAAI,MAAM,CAE1B;IAED,IAAI,aAAa,CAAC,EAAE,EAAE,MAAM,EAS3B;IAED;;;;;;;;;;;;;;;OAeG;IACH,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED,IAAI,IAAI,CAAC,MAAM,EAAE,MAAM,EAUtB;IAED;;;;;;OAMG;IACH,IAAI,OAAO,IAAI,MAAM,EAAE,CAEtB;IAED;;;;;;;;;;;OAWG;IACH,IAAI,eAAe,IAAI,MAAM,CAS5B;IAED,SAAS,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM;IAsB7B,oBAAoB;IAkBpB,oBAAoB;IAwCpB;;;;;OAKG;IACH,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,YAAY,GAAE,OAAe,GAAG,IAAI;CAQvE;AAED;;;;;;;;;GASG;AACH,qBAAa,MAAO,SAAQ,OAAO,CAAC,cAAc;IAC9C,MAAM,KAAK,SAAS,WAAwC;IAC5D,iBAAiB,EAAE,MAAM,CAAC;IAC1B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,cAAc,EAAE,QAAQ,CAAC;IACzB,cAAc,EAAE,QAAQ,CAAC;IACzB,MAAM,EAAE,OAAO,CAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,OAAO,CAAQ;IACxB,SAAS,EAAE,MAAM,CAAW;IAC5B,gBAAgB,EAAE,MAAM,CAAC;IACzB,gBAAgB,EAAE,MAAM,CAAC;gBAGrB,iBAAiB,GAAE,MAAU,EAC7B,iBAAiB,GAAE,MAAU,EAC7B,cAAc,GAAE,QAAQ,GAAC,MAAkB,EAC3C,cAAc,GAAE,QAAQ,GAAC,MAAkB;IAmC/C;;;;;OAKG;IACH,IAAI,QAAQ,WAoBX;IAED;;;;;OAKG;IACH,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,QAAQ;IAWvC;;;;;OAKG;IACH,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI;IAU9C;;;OAGG;IACH,iBAAiB,IAAI,MAAM;IAI3B;;;;;OAKG;IACH,gBAAgB,IAAI,MAAM;CAM7B"}
--------------------------------------------------------------------------------
/releases/src/dynamics.d.ts:
--------------------------------------------------------------------------------
1 | /**
2 | * music21j -- Javascript reimplementation of Core music21p features.
3 | * music21/dynamics -- Dynamics
4 | *
5 | * note that Vex.Flow does not support Dynamics yet and we do not support MIDI dynamics,
6 | * so currently of limited value...
7 | *
8 | * Copyright (c) 2013-24, Michael Scott Asato Cuthbert
9 | * Based on music21 (=music21p), Copyright (c) 2006-24, Michael Scott Asato Cuthbert
10 | *
11 | * Dynamics related objects.
12 | *
13 | * Currently do not export to Vexflow. :-(
14 | */
15 | import * as base from './base';
16 | export declare const shortNames: string[];
17 | export declare const longNames: {
18 | ppp: string[];
19 | pp: string[];
20 | p: string[];
21 | mp: string[];
22 | mf: string[];
23 | f: string[];
24 | fp: string[];
25 | sf: string[];
26 | ff: string[];
27 | fff: string[];
28 | };
29 | export declare const englishNames: {
30 | ppp: string[];
31 | pp: string[];
32 | p: string[];
33 | mp: string[];
34 | mf: string[];
35 | f: string[];
36 | ff: string[];
37 | fff: string[];
38 | };
39 | export declare const dynamicStrToScalar: {
40 | None: number[];
41 | n: number[];
42 | pppp: number[];
43 | ppp: number[];
44 | pp: number[];
45 | p: number[];
46 | mp: number[];
47 | mf: number[];
48 | f: number[];
49 | fp: number[];
50 | sf: number[];
51 | ff: number[];
52 | fff: number[];
53 | ffff: number[];
54 | };
55 | /**
56 | * A representation of a dynamic.
57 | *
58 | * @param {number|string} value - either a number between 0 and 1 or a dynamic mark such as "ff" or "mp"
59 | * @property {string|undefined} value - a name such as "pp" etc.
60 | * @property {string|undefined} longName - a longer name such as "pianissimo"
61 | * @property {string|undefined} englishName - a name such as "very soft"
62 | * @property {number} volumeScalar - a number between 0 and 1.
63 | */
64 | export declare class Dynamic extends base.Music21Object {
65 | static get className(): string;
66 | protected _value: string;
67 | protected _volumeScalar: number;
68 | longName: string;
69 | englishName: string;
70 | constructor(value: string | number);
71 | get value(): string;
72 | set value(value: string | number);
73 | get volumeScalar(): number;
74 | set volumeScalar(value: number);
75 | }
76 | //# sourceMappingURL=dynamics.d.ts.map
--------------------------------------------------------------------------------
/releases/src/dynamics.d.ts.map:
--------------------------------------------------------------------------------
1 | {"version":3,"file":"dynamics.d.ts","sourceRoot":"","sources":["../../src/dynamics.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AACH,OAAO,KAAK,IAAI,MAAM,QAAQ,CAAC;AAG/B,eAAO,MAAM,UAAU,UAiBtB,CAAC;AAGF,eAAO,MAAM,SAAS;;;;;;;;;;;CAWrB,CAAC;AAEF,eAAO,MAAM,YAAY;;;;;;;;;CASxB,CAAC;AAEF,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;CAe9B,CAAC;AAEF;;;;;;;;GAQG;AACH,qBAAa,OAAQ,SAAQ,IAAI,CAAC,aAAa;IAC3C,MAAM,KAAK,SAAS,WAAyC;IAE7D,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC;IACzB,SAAS,CAAC,aAAa,EAAE,MAAM,CAAC;IAChC,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;gBAGR,KAAK,EAAE,MAAM,GAAC,MAAM;IAKhC,IAAI,KAAK,IAAI,MAAM,CAElB;IAED,IAAI,KAAK,CAAC,KAAK,EAAE,MAAM,GAAC,MAAM,EAuC7B;IAED,IAAI,YAAY,IAAI,MAAM,CAQzB;IAED,IAAI,YAAY,CAAC,KAAK,EAAE,MAAM,EAI7B;CACJ"}
--------------------------------------------------------------------------------
/releases/src/editorial.d.ts:
--------------------------------------------------------------------------------
1 | /**
2 | * music21j -- Javascript reimplementation of Core music21p features.
3 | * music21/editorial -- Representations of editorial information
4 | *
5 | * Copyright (c) 2013-24, Michael Scott Asato Cuthbert
6 | * Based on music21 (=music21p), Copyright (c) 2006-24, Michael Scott Asato Cuthbert
7 | */
8 | import { ProtoM21Object } from './prebase';
9 | export declare class Editorial extends ProtoM21Object implements Record {
10 | static get className(): string;
11 | comments: any[];
12 | footnotes: any[];
13 | ficta: any;
14 | harmonicInterval: any;
15 | melodicInterval: any;
16 | }
17 | export default Editorial;
18 | //# sourceMappingURL=editorial.d.ts.map
--------------------------------------------------------------------------------
/releases/src/editorial.d.ts.map:
--------------------------------------------------------------------------------
1 | {"version":3,"file":"editorial.d.ts","sourceRoot":"","sources":["../../src/editorial.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAE3C,qBAAa,SAAU,SAAQ,cAAe,YAAW,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IACxE,MAAM,KAAK,SAAS,WAA4C;IAEhE,QAAQ,EAAE,GAAG,EAAE,CAAM;IAErB,SAAS,EAAE,GAAG,EAAE,CAAM;IAItB,KAAK,EAAE,GAAG,CAAa;IAEvB,gBAAgB,EAAE,GAAG,CAAa;IAElC,eAAe,EAAE,GAAG,CAAa;CACpC;AAED,eAAe,SAAS,CAAC"}
--------------------------------------------------------------------------------
/releases/src/exceptions21.d.ts:
--------------------------------------------------------------------------------
1 | declare class ExtendableError extends Error {
2 | constructor(message: string);
3 | }
4 | export declare class Music21Exception extends ExtendableError {
5 | }
6 | export declare class StreamException extends Music21Exception {
7 | }
8 | export {};
9 | //# sourceMappingURL=exceptions21.d.ts.map
--------------------------------------------------------------------------------
/releases/src/exceptions21.d.ts.map:
--------------------------------------------------------------------------------
1 | {"version":3,"file":"exceptions21.d.ts","sourceRoot":"","sources":["../../src/exceptions21.ts"],"names":[],"mappings":"AACA,cAAM,eAAgB,SAAQ,KAAK;gBACnB,OAAO,EAAE,MAAM;CAgB9B;AAED,qBAAa,gBAAiB,SAAQ,eAAe;CAAG;AAExD,qBAAa,eAAgB,SAAQ,gBAAgB;CAAG"}
--------------------------------------------------------------------------------
/releases/src/expressions.d.ts:
--------------------------------------------------------------------------------
1 | /**
2 | * Expressions can be note-attached (`music21.note.Note.expressions[]`) or floating...
3 | *
4 | */
5 | import { Articulation as VFArticulation, Ornament as VFOrnament } from 'vexflow';
6 | import * as base from './base';
7 | import { ArticulationPlacement, VexflowArticulationParams } from './articulations';
8 | /**
9 | * Expressions can be note-attached (`music21.note.Note.expressions[]`) or floating...
10 | *
11 | * @property {string} name
12 | * @property {string} vexflowModifier
13 | * @property {number} setPosition
14 | */
15 | export declare class Expression extends base.Music21Object {
16 | static get className(): string;
17 | name: string;
18 | vexflowModifier: string;
19 | placement: ArticulationPlacement;
20 | /**
21 | * Renders this Expression as a Vex.Flow.Articulation
22 | *
23 | * (this is not right for all cases)
24 | */
25 | vexflow({ stemDirection }?: VexflowArticulationParams): VFArticulation | VFOrnament | null;
26 | }
27 | /**
28 | * A fermata...
29 | *
30 | */
31 | export declare class Fermata extends Expression {
32 | static get className(): string;
33 | constructor();
34 | }
35 | export declare class Ornament extends Expression {
36 | static get className(): string;
37 | name: string;
38 | vexflow({ stemDirection }?: VexflowArticulationParams): VFOrnament | null;
39 | }
40 | export declare class Trill extends Ornament {
41 | static get className(): string;
42 | constructor();
43 | }
44 | export declare class Turn extends Ornament {
45 | static get className(): string;
46 | constructor();
47 | }
48 | export declare class InvertedTurn extends Turn {
49 | static get className(): string;
50 | constructor();
51 | }
52 | export declare class GeneralMordent extends Ornament {
53 | static get className(): string;
54 | }
55 | /**
56 | * note that Vexflow's definition of mordent/inverted mordent is backwards
57 | * from music theory. -- see music21p for more details.
58 | */
59 | export declare class Mordent extends GeneralMordent {
60 | static get className(): string;
61 | constructor();
62 | }
63 | export declare class InvertedMordent extends GeneralMordent {
64 | static get className(): string;
65 | constructor();
66 | }
67 | //# sourceMappingURL=expressions.d.ts.map
--------------------------------------------------------------------------------
/releases/src/expressions.d.ts.map:
--------------------------------------------------------------------------------
1 | {"version":3,"file":"expressions.d.ts","sourceRoot":"","sources":["../../src/expressions.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,YAAY,IAAI,cAAc,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,SAAS,CAAC;AACjF,OAAO,KAAK,IAAI,MAAM,QAAQ,CAAC;AAC/B,OAAO,EACH,qBAAqB,EAErB,yBAAyB,EAC5B,MAAM,iBAAiB,CAAC;AAEzB;;;;;;GAMG;AACH,qBAAa,UAAW,SAAQ,IAAI,CAAC,aAAa;IAC9C,MAAM,KAAK,SAAS,WAA+C;IAEnE,IAAI,EAAE,MAAM,CAAgB;IAC5B,eAAe,EAAE,MAAM,CAAM;IAC7B,SAAS,EAAE,qBAAqB,CAA+B;IAE/D;;;;OAIG;IACH,OAAO,CAAC,EAAC,aAAa,EAAC,GAAE,yBAA8B,GAAG,cAAc,GAAG,UAAU,GAAG,IAAI;CAQ/F;AAED;;;GAGG;AACH,qBAAa,OAAQ,SAAQ,UAAU;IACnC,MAAM,KAAK,SAAS,WAA4C;;CAOnE;AAGD,qBAAa,QAAS,SAAQ,UAAU;IACpC,MAAM,KAAK,SAAS,WAA6C;IAEjE,IAAI,EAAE,MAAM,CAAc;IAC1B,OAAO,CAAC,EAAC,aAAa,EAAC,GAAE,yBAA8B,GAAG,UAAU,GAAG,IAAI;CAQ9E;AAGD,qBAAa,KAAM,SAAQ,QAAQ;IAC/B,MAAM,KAAK,SAAS,WAA0C;;CAOjE;AAED,qBAAa,IAAK,SAAQ,QAAQ;IAC9B,MAAM,KAAK,SAAS,WAAyC;;CAOhE;AAED,qBAAa,YAAa,SAAQ,IAAI;IAClC,MAAM,KAAK,SAAS,WAAiD;;CAOxE;AAED,qBAAa,cAAe,SAAQ,QAAQ;IACxC,MAAM,KAAK,SAAS,WAAmD;CAC1E;AAGD;;;GAGG;AACH,qBAAa,OAAQ,SAAQ,cAAc;IACvC,MAAM,KAAK,SAAS,WAA4C;;CAOnE;AAED,qBAAa,eAAgB,SAAQ,cAAc;IAC/C,MAAM,KAAK,SAAS,WAAoD;;CAO3E"}
--------------------------------------------------------------------------------
/releases/src/figuredBass.d.ts:
--------------------------------------------------------------------------------
1 | import * as pitch from './pitch';
2 | /**
3 | * In music21p is in figuredBass.notation -- eventually to be moved there.
4 | */
5 | export declare class Notation {
6 | notationColumn: string;
7 | figureStrings: string[];
8 | origNumbers: number[];
9 | origModStrings: any;
10 | numbers: number[];
11 | modifierStrings: string[];
12 | modifiers: Modifier[];
13 | figures: Figure[];
14 | /**
15 | *
16 | * @param {string} [notationColumn='']
17 | * @property {string[]} figureStrings
18 | * @property {int[]} origNumbers
19 | * @property {int[]} numbers
20 | * @property {string[]} modifierStrings
21 | * @property {Modifier[]} modifiers
22 | * @property {Figure[]} figures
23 | */
24 | constructor(notationColumn?: string);
25 | /**
26 | * _parseNotationColumn - Given a notation column below a pitch, defines both this.numbers
27 | * and this.modifierStrings, which provide the intervals above the
28 | * bass and (if necessary) how to modify the corresponding pitches
29 | * accordingly.
30 | */
31 | _parseNotationColumn(): void;
32 | _translateToLonghand(): void;
33 | _getModifiers(): void;
34 | _getFigures(): void;
35 | }
36 | export declare class Figure {
37 | number: number;
38 | modifierString: string;
39 | modifier: Modifier;
40 | constructor(number: number, modifierString: string);
41 | }
42 | export declare class Modifier {
43 | modifierString: string;
44 | accidental: pitch.Accidental;
45 | constructor(modifierString: string);
46 | _toAccidental(): pitch.Accidental;
47 | modifyPitchName(pitchNameToAlter: string): string;
48 | modifyPitch(pitchToAlter: pitch.Pitch, inPlace: boolean): pitch.Pitch;
49 | }
50 | //# sourceMappingURL=figuredBass.d.ts.map
--------------------------------------------------------------------------------
/releases/src/figuredBass.d.ts.map:
--------------------------------------------------------------------------------
1 | {"version":3,"file":"figuredBass.d.ts","sourceRoot":"","sources":["../../src/figuredBass.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,SAAS,CAAC;AAejC;;GAEG;AAGH,qBAAa,QAAQ;IACjB,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,MAAM,EAAE,CAAa;IACpC,WAAW,EAAE,MAAM,EAAE,CAAa;IAClC,cAAc,MAAa;IAC3B,OAAO,EAAE,MAAM,EAAE,CAAa;IAC9B,eAAe,EAAE,MAAM,EAAE,CAAa;IACtC,SAAS,EAAE,QAAQ,EAAE,CAAC;IACtB,OAAO,EAAE,MAAM,EAAE,CAAC;IAElB;;;;;;;;;OASG;gBACS,cAAc,GAAE,MAAW;IAWvC;;;;;OAKG;IACH,oBAAoB,IAAI,IAAI;IAmC5B,oBAAoB;IA2CpB,aAAa;IAUb,WAAW;CAUd;AAED,qBAAa,MAAM;IACf,MAAM,EAAE,MAAM,CAAC;IACf,cAAc,EAAE,MAAM,CAAC;IACvB,QAAQ,EAAE,QAAQ,CAAC;gBAEP,MAAM,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM;CAKrD;AAeD,qBAAa,QAAQ;IACjB,cAAc,EAAE,MAAM,CAAC;IACvB,UAAU,EAAE,KAAK,CAAC,UAAU,CAAC;gBAEjB,cAAc,EAAE,MAAM;IAKlC,aAAa;IAYb,eAAe,CAAC,gBAAgB,EAAE,MAAM,GAAG,MAAM;IAMjD,WAAW,CAAC,YAAY,EAAE,KAAK,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,GAAG,KAAK,CAAC,KAAK;CAsBxE"}
--------------------------------------------------------------------------------
/releases/src/fromPython.d.ts:
--------------------------------------------------------------------------------
1 | import type * as stream from './stream';
2 | /**
3 | *
4 | * @property {boolean} debug
5 | * @property {Array} knownUnparsables - list of classes that cannot be parsed
6 | * @property {Object} handlers - object mapping string names of classes to a set of
7 | * function calls to perform when restoring or post-restoring.
8 | * (too complicated to explain; read the code)
9 | */
10 | export declare class Converter {
11 | debug: boolean;
12 | knownUnparsables: string[];
13 | handlers: any;
14 | currentPart: any;
15 | lastClef: any;
16 | lastKeySignature: any;
17 | lastTimeSignature: any;
18 | constructor();
19 | /**
20 | * Fixes up some references that cannot be unpacked from jsonpickle.
21 | *
22 | * s - stream after unpacking from jsonpickle
23 | */
24 | streamPostRestore(s: stream.Stream): stream.Stream;
25 | /**
26 | * Run the main decoder
27 | */
28 | run(jss: any): any;
29 | }
30 | //# sourceMappingURL=fromPython.d.ts.map
--------------------------------------------------------------------------------
/releases/src/fromPython.d.ts.map:
--------------------------------------------------------------------------------
1 | {"version":3,"file":"fromPython.d.ts","sourceRoot":"","sources":["../../src/fromPython.ts"],"names":[],"mappings":"AA2BA,OAAO,KAAK,KAAK,MAAM,MAAM,UAAU,CAAC;AAMxC;;;;;;;GAOG;AACH,qBAAa,SAAS;IAClB,KAAK,EAAE,OAAO,CAAQ;IACtB,gBAAgB,WAWd;IAEF,QAAQ,EAAE,GAAG,CAAC;IACd,WAAW,MAAa;IACxB,QAAQ,MAAa;IACrB,gBAAgB,MAAa;IAC7B,iBAAiB,MAAa;;IA2C9B;;;;OAIG;IACH,iBAAiB,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM;IA6ElD;;OAEG;IACH,GAAG,CAAC,GAAG,KAAA;CAIV"}
--------------------------------------------------------------------------------
/releases/src/harmony.d.ts:
--------------------------------------------------------------------------------
1 | import * as chord from './chord';
2 | import * as key from './key';
3 | export declare class Harmony extends chord.Chord {
4 | static get className(): string;
5 | protected _writeAsChord: boolean;
6 | protected _roman: any;
7 | chordStepModifications: any[];
8 | protected _degreesList: any[];
9 | protected _key: key.Key;
10 | protected _figure: string;
11 | constructor(figure: string, { parseFigure, updatePitches, }?: {
12 | parseFigure?: boolean;
13 | updatePitches?: boolean;
14 | });
15 | _parseFigure(): void;
16 | _updatePitches(): void;
17 | get figure(): string;
18 | set figure(newFigure: string);
19 | get key(): key.Key;
20 | set key(keyOrScale: key.Key);
21 | findFigure(): void;
22 | }
23 | //# sourceMappingURL=harmony.d.ts.map
--------------------------------------------------------------------------------
/releases/src/harmony.d.ts.map:
--------------------------------------------------------------------------------
1 | {"version":3,"file":"harmony.d.ts","sourceRoot":"","sources":["../../src/harmony.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,SAAS,CAAC;AACjC,OAAO,KAAK,GAAG,MAAM,OAAO,CAAC;AAE7B,qBAAa,OAAQ,SAAQ,KAAK,CAAC,KAAK;IACpC,MAAM,KAAK,SAAS,WAAwC;IAE5D,SAAS,CAAC,aAAa,EAAE,OAAO,CAAS;IACzC,SAAS,CAAC,MAAM,MAAC;IACjB,sBAAsB,QAAM;IAC5B,SAAS,CAAC,YAAY,QAAM;IAC5B,SAAS,CAAC,IAAI,EAAE,GAAG,CAAC,GAAG,CAAC;IACxB,SAAS,CAAC,OAAO,EAAE,MAAM,CAAC;gBAGtB,MAAM,EAAE,MAAM,EACd,EACI,WAAgB,EAChB,aAAmB,GACtB;;;KAAG;IAiCR,YAAY;IAEZ,cAAc;IAEd,IAAI,MAAM,IAAI,MAAM,CAKnB;IAED,IAAI,MAAM,CAAC,SAAS,EAAE,MAAM,EAM3B;IAED,IAAI,GAAG,IAAI,GAAG,CAAC,GAAG,CAEjB;IAED,IAAI,GAAG,CAAC,UAAU,EAAE,GAAG,CAAC,GAAG,EAO1B;IAED,UAAU;CACb"}
--------------------------------------------------------------------------------
/releases/src/instrument.d.ts:
--------------------------------------------------------------------------------
1 | /**
2 | * music21j -- Javascript reimplementation of Core music21p features.
3 | * music21/instrument -- instrument objects
4 | *
5 | * Copyright (c) 2013-24, Michael Scott Asato Cuthbert
6 | * Based on music21 (=music21p), Copyright (c) 2006-24, Michael Scott Asato Cuthbert
7 | */
8 | import * as base from './base';
9 | import type * as interval from './interval';
10 | export declare const global_usedChannels: number[];
11 | export declare const maxMidi: number;
12 | interface InstrumentFileInfo {
13 | fn: string;
14 | name: string;
15 | midiNumber: number;
16 | }
17 | export declare const info: InstrumentFileInfo[];
18 | /**
19 | * Represents an instrument. instrumentNames are found in the ext/soundfonts directory
20 | *
21 | * Note that unlike music21p -- for now there is only one instrument object: Instrument
22 | * there are no Piano, Flute, etc. objects
23 | *
24 | * See music21.miditools and esp. `loadSoundfont` for a way of loading soundfonts into
25 | * instruments.
26 | */
27 | export declare class Instrument extends base.Music21Object {
28 | static get className(): string;
29 | partId: string;
30 | partName: string;
31 | partAbbreviation: string;
32 | instrumentId: string;
33 | instrumentName: string;
34 | instrumentAbbreviation: string;
35 | midiProgram: number | undefined;
36 | _midiChannel: number | undefined;
37 | lowestNote: number;
38 | highestNote: number;
39 | transposition: interval.Interval;
40 | inGMPercMap: boolean;
41 | soundfontFn: string;
42 | constructor(instrumentName?: string);
43 | /**
44 | * Assign an instrument to an unused midi channel.
45 | *
46 | * Will use the global list of used channels (`music21.instrument.Instrument.usedChannels`)
47 | * if not given. Assigns up to `music21.instrument.maxMidi` channels (16)
48 | * Skips 10 unless this.inGMPercMap is true
49 | */
50 | autoAssignMidiChannel(usedChannels?: number[]): number;
51 | get oggSoundfont(): string;
52 | get mp3Soundfont(): string;
53 | get midiChannel(): number;
54 | set midiChannel(ch: number);
55 | }
56 | /**
57 | * Find information for a given instrument (by filename or name)
58 | * and load it into an instrument object.
59 | *
60 | * fn - name or filename of instrument
61 | * [inst] - instrument object to load into
62 | */
63 | export declare function find(fn: string, inst?: Instrument): Instrument | undefined;
64 | export {};
65 | //# sourceMappingURL=instrument.d.ts.map
--------------------------------------------------------------------------------
/releases/src/instrument.d.ts.map:
--------------------------------------------------------------------------------
1 | {"version":3,"file":"instrument.d.ts","sourceRoot":"","sources":["../../src/instrument.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,KAAK,IAAI,MAAM,QAAQ,CAAC;AAC/B,OAAO,KAAK,KAAK,QAAQ,MAAM,YAAY,CAAC;AAE5C,eAAO,MAAM,mBAAmB,EAAE,MAAM,EAAO,CAAC;AAChD,eAAO,MAAM,OAAO,EAAE,MAAW,CAAC;AAElC,UAAU,kBAAkB;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;CACtB;AAED,eAAO,MAAM,IAAI,EAAE,kBAAkB,EA6JpC,CAAC;AAGF;;;;;;;;GAQG;AACH,qBAAa,UAAW,SAAQ,IAAI,CAAC,aAAa;IAC9C,MAAM,KAAK,SAAS,WAA8C;IAElE,MAAM,EAAE,MAAM,CAAa;IAC3B,QAAQ,EAAE,MAAM,CAAa;IAC7B,gBAAgB,EAAE,MAAM,CAAa;IAErC,YAAY,EAAE,MAAM,CAAa;IACjC,cAAc,EAAE,MAAM,CAAM;IAC5B,sBAAsB,EAAE,MAAM,CAAa;IAC3C,WAAW,EAAE,MAAM,GAAC,SAAS,CAAa;IAC1C,YAAY,EAAE,MAAM,GAAC,SAAS,CAAa;IAE3C,UAAU,EAAE,MAAM,CAAa;IAC/B,WAAW,EAAE,MAAM,CAAa;IAEhC,aAAa,EAAE,QAAQ,CAAC,QAAQ,CAAC;IAEjC,WAAW,EAAE,OAAO,CAAS;IAC7B,WAAW,EAAE,MAAM,CAAa;gBAGpB,cAAc,GAAE,MAAW;IAUvC;;;;;;OAMG;IACH,qBAAqB,CAAC,YAAY,GAAE,MAAM,EAAc,GAAG,MAAM;IAyBjE,IAAI,YAAY,IAAI,MAAM,CAEzB;IAED,IAAI,YAAY,IAAI,MAAM,CAEzB;IAED,IAAI,WAAW,IAAI,MAAM,CAKxB;IAED,IAAI,WAAW,CAAC,EAAE,EAAE,MAAM,EAEzB;CACJ;AAED;;;;;;GAMG;AACH,wBAAgB,IAAI,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,UAAU,GAAG,UAAU,GAAC,SAAS,CAaxE"}
--------------------------------------------------------------------------------
/releases/src/key.d.ts.map:
--------------------------------------------------------------------------------
1 | {"version":3,"file":"key.d.ts","sourceRoot":"","sources":["../../src/key.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,IAAI,MAAM,QAAQ,CAAC;AAE/B,OAAO,KAAK,KAAK,MAAM,SAAS,CAAC;AACjC,OAAO,KAAK,KAAK,MAAM,SAAS,CAAC;AAEjC,eAAO,MAAM,eAAe;;;;;;;;CAQ3B,CAAC;AAEF,wBAAgB,kCAAkC,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAS7E;AAED;;;;;;;;;;;;;GAaG;AACH,qBAAa,YAAa,SAAQ,IAAI,CAAC,aAAa;IAChD,MAAM,KAAK,SAAS,WAAyC;IAE7D,SAAS,CAAC,OAAO,EAAE,MAAM,CAAK;IAC9B,SAAS,CAAC,oBAAoB,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC;IAG9C,WAAW,WAIT;IAEF,YAAY,WAIV;gBAEU,MAAM,SAAE;IAQpB,UAAU,IAAI,MAAM;IAcpB,IAAI,MAAM,IAAI,MAAM,CAEnB;IAED,IAAI,MAAM,CAAC,CAAC,EAAE,MAAM,EAGnB;IAED;;OAEG;IACH,IAAI,KAAK,IAAI,MAAM,CAOlB;IAED;;;;;;;;;;;;;OAaG;IACH,IAAI,cAAc,IAAI,KAAK,CAAC,KAAK,EAAE,CAoBlC;IAED;;;;;;;;OAQG;IACH,SAAS,IAAI,MAAM;IAQnB;;;OAGG;IACH,SAAS,IAAI,MAAM;IASnB;;;;;;;OAOG;IACH,OAAO,IAAI,MAAM;IAMjB;;;;OAIG;IACH,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,KAAK,CAAC,UAAU,GAAC,SAAS;IAc1D;;;;;;;;;;;;;;;;OAgBG;IACH,mBAAmB,CAAC,CAAC,EAAE,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK;CAoBnD;AAED;;;;;;;;GAQG;AACH,qBAAa,GAAI,SAAQ,YAAY;IACjC,MAAM,KAAK,SAAS,WAAgC;IAEpD,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,KAAK,CAAC,aAAa,CAAC;gBAEhB,OAAO,SAAI,EAAE,IAAI,MAAU;IAgCvC,UAAU;IAIV,IAAI,sBAAsB,WAQzB;IAED;;;;;;OAMG;IACH,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC,aAAa;IAoBjD,IAAI,UAAU,YAEb;IAED,UAAU,CAAC,GAAG,IAAI,OAAA;IAIlB,eAAe,CAAC,MAAM,KAAA,EAAE,GAAG,IAAI,OAAA;IAI/B,uBAAuB,CAAC,WAAW,KAAA,EAAE,GAAG,IAAI,OAAA,GAAG,MAAM;CAGxD"}
--------------------------------------------------------------------------------
/releases/src/keyboard.d.ts.map:
--------------------------------------------------------------------------------
1 | {"version":3,"file":"keyboard.d.ts","sourceRoot":"","sources":["../../src/keyboard.ts"],"names":[],"mappings":";;AAsBA,OAAO,KAAK,SAAS,MAAM,aAAa,CAAC;AACzC,OAAO,KAAK,KAAK,MAAM,SAAS,CAAC;AAGjC;;GAEG;AACH,qBAAa,GAAG;IACZ,OAAO,EAAE,MAAM,EAAE,CAAW;IAE5B;;OAEG;IACH,SAAS;;MAEP;IAEF,WAAW,EAAE,MAAM,CAAK;IACxB,MAAM,EAAE,QAAQ,CAAC;IAEjB;;OAEG;IACH,EAAE,EAAE,MAAM,CAAK;IAEf;;OAEG;IACH,KAAK,EAAE,MAAM,CAAM;IAEnB;;OAEG;IACH,MAAM,EAAE,MAAM,CAAO;IAErB;;OAEG;IACH,QAAQ,EAAE,KAAK,CAAC,KAAK,CAAC;IAEtB;;OAEG;IACH,MAAM,EAAE,UAAU,GAAC,SAAS,CAAC;IAE7B;;OAEG;IACH,cAAc,EAAE,UAAU,GAAC,SAAS,CAAC;IAErC;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAM;IAEtB;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAM;IAEtB;;;;;OAKG;IACH,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,UAAU;IAsBnC;;OAEG;IACH,SAAS,CAAC,WAAW,GAAE,MAAc,GAAG,UAAU;IA2BlD;;;;OAIG;IACH,WAAW,CAAC,YAAY,GAAE,OAAe,GAAG,IAAI;IAkDhD;;OAEG;IACH,cAAc,IAAI,IAAI;CAgBzB;AAED;;GAEG;AACH,qBAAa,QAAS,SAAQ,GAAG;;CAQhC;AAED;;GAEG;AACH,qBAAa,QAAS,SAAQ,GAAG;;CAQhC;AAED;;;;;;;;;;;;;;GAcG;AACH,qBAAa,QAAQ;IACjB,aAAa,SAAM;IACnB,qBAAqB,SAAM;IAC3B,qBAAqB,SAAM;IAC3B,WAAW,SAAK;IAChB,MAAM,SAAO;IACb,UAAU,gBAAa;IACvB,MAAM,EAAE,UAAU,CAAC;IAEnB,KAAK,UAAQ;IACb,SAAS,UAAS;IAClB,WAAW,UAAS;IAEpB,UAAU,EAAE,MAAM,GAAC,MAAM,GAAC,KAAK,CAAC,KAAK,CAAQ;IAC7C,QAAQ,EAAE,MAAM,GAAC,MAAM,GAAC,KAAK,CAAC,KAAK,CAAQ;IAC3C,SAAS,EAAE,MAAM,CAAM;IACvB,OAAO,EAAE,MAAM,CAAM;IAErB,QAAQ,UAAS;IACjB,UAAU,UAAS;IACnB,SAAS;;MAEP;IAGF,YAAY;;;;;;MAMV;;IAkBF;;OAEG;IACH,SAAS,IAAI,aAAa;IAY1B;;OAEG;IACH,cAAc,CAAC,KAAK,CAAC,EAAE,MAAM,GAAC,WAAW,GAAG,IAAI;IAkBhD;;;;;;OAMG;IACH,YAAY,CAAC,OAAO,KAAA,GAAG,IAAI;IAsB3B;;OAEG;IACH,SAAS,IAAI,aAAa;IA6G1B;;OAEG;IACH,WAAW,CAAC,WAAW,GAAE,MAAc;IAOvC;;OAEG;IACH,aAAa,CAAC,YAAY,GAAE,OAAe;IAO3C;;OAEG;IACH,eAAe,IAAI,IAAI;IAOvB;;;;;OAKG;IACH,cAAc,CAAC,MAAM,EAAE,aAAa,GAAG,WAAW;IAkClD;;;;;OAKG;IACH,sBAAsB,CAAC,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,aAAa,GAAC,WAAW,GAAG,WAAW;CA4BlG;AAGD;;;;GAIG;AACH,eAAO,MAAM,iBAAiB,kBA4B7B,CAAC;AAEF;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAAC,CAAC,EAAE,SAAS,CAAC,KAAK,QAuC/C"}
--------------------------------------------------------------------------------
/releases/src/layout.d.ts:
--------------------------------------------------------------------------------
1 | /**
2 | *
3 | * THIS IS CURRENTLY UNUSED
4 | * Does not work yet, so not documented
5 | *
6 | */
7 | import * as stream from './stream';
8 | /**
9 | * Divide a part up into systems and fix the measure
10 | * widths so that they are all even.
11 | *
12 | * Note that this is done on the part level even though
13 | * the measure widths need to be consistent across parts.
14 | *
15 | * This is possible because the system is deterministic and
16 | * will come to the same result for each part. Opportunity
17 | * for making more efficient through this...
18 | */
19 | export declare function makeLayoutFromScore(score: stream.Score, containerWidth: number): LayoutScore;
20 | export declare class LayoutScore extends stream.Score {
21 | static get className(): string;
22 | scoreLayout: any;
23 | measureStart: number;
24 | measureEnd: number;
25 | protected _width: number;
26 | height: number;
27 | top: number;
28 | left: number;
29 | constructor();
30 | get pages(): stream.iterator.StreamIterator;
31 | get width(): any;
32 | }
33 | /**
34 | * All music must currently be on page 1.
35 | */
36 | export declare class Page extends stream.Score {
37 | static get className(): string;
38 | pageNumber: number;
39 | measureStart: number;
40 | measureEnd: number;
41 | systemStart: number;
42 | systemEnd: number;
43 | pageLayout: any;
44 | _width: number;
45 | constructor();
46 | get systems(): stream.iterator.StreamIterator;
47 | get width(): any;
48 | }
49 | /**
50 | */
51 | export declare class System extends stream.Score {
52 | static get className(): string;
53 | systemNumber: number;
54 | systemLayout: any;
55 | measureStart: number;
56 | measureEnd: number;
57 | protected _width: number;
58 | height: number;
59 | top: number;
60 | left: number;
61 | constructor();
62 | get staves(): stream.iterator.StreamIterator;
63 | get width(): any;
64 | }
65 | export declare class Staff extends stream.Part {
66 | static get className(): string;
67 | measureStart: number;
68 | measureEnd: number;
69 | staffNumber: number;
70 | optimized: number;
71 | top: number;
72 | left: number;
73 | protected _width: number;
74 | height: number;
75 | inheritedHeight: number;
76 | staffLayout: any;
77 | constructor();
78 | get width(): any;
79 | }
80 | //# sourceMappingURL=layout.d.ts.map
--------------------------------------------------------------------------------
/releases/src/layout.d.ts.map:
--------------------------------------------------------------------------------
1 | {"version":3,"file":"layout.d.ts","sourceRoot":"","sources":["../../src/layout.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH,OAAO,KAAK,MAAM,MAAM,UAAU,CAAC;AAEnC;;;;;;;;;;GAUG;AACH,wBAAgB,mBAAmB,CAC/B,KAAK,EAAE,MAAM,CAAC,KAAK,EACnB,cAAc,EAAE,MAAM,GACvB,WAAW,CAqFb;AAED,qBAAa,WAAY,SAAQ,MAAM,CAAC,KAAK;IACzC,MAAM,KAAK,SAAS,WAA2C;IAE/D,WAAW,MAAC;IACZ,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;;IAab,IAAI,KAAK,mEAER;IAED,IAAI,KAAK,QAQR;CAcJ;AAED;;GAEG;AACH,qBAAa,IAAK,SAAQ,MAAM,CAAC,KAAK;IAClC,MAAM,KAAK,SAAS,WAAoC;IAExD,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,MAAC;IACX,MAAM,EAAE,MAAM,CAAC;;IAYf,IAAI,OAAO,mEAEV;IAED,IAAI,KAAK,QAQR;CACJ;AAED;GACG;AACH,qBAAa,MAAO,SAAQ,MAAM,CAAC,KAAK;IACpC,MAAM,KAAK,SAAS,WAAsC;IAE1D,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,MAAC;IACb,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;;IAab,IAAI,MAAM,mEAET;IAED,IAAI,KAAK,QAQR;CACJ;AAED,qBAAa,KAAM,SAAQ,MAAM,CAAC,IAAI;IAClC,MAAM,KAAK,SAAS,WAAqC;IAEzD,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,eAAe,EAAE,MAAM,CAAC;IACxB,WAAW,MAAC;;IAcZ,IAAI,KAAK,QAQR;CACJ"}
--------------------------------------------------------------------------------
/releases/src/main.d.ts.map:
--------------------------------------------------------------------------------
1 | {"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../../src/main.ts"],"names":[],"mappings":"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"}
--------------------------------------------------------------------------------
/releases/src/meter.d.ts.map:
--------------------------------------------------------------------------------
1 | {"version":3,"file":"meter.d.ts","sourceRoot":"","sources":["../../src/meter.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,SAAS,CAAC;AAEjD,OAAO,KAAK,IAAI,MAAM,QAAQ,CAAC;AAC/B,OAAO,KAAK,IAAI,MAAM,QAAQ,CAAC;AAE/B,OAAO,KAAK,QAAQ,MAAM,YAAY,CAAC;AAGvC,OAAO,KAAK,MAAM,MAAM,UAAU,CAAC;AACnC,OAAO,EAAC,aAAa,EAAC,MAAM,QAAQ,CAAC;AAIrC;;;;;;;;;GASG;AACH,qBAAa,aAAc,SAAQ,IAAI,CAAC,aAAa;IACjD,MAAM,KAAK,SAAS,WAA4C;IAEhE,UAAU,EAAE,MAAM,CAAK;IACvB,YAAY,EAAE,MAAM,CAAK;IACzB,uBAAuB,EAAE,QAAQ,CAAC,QAAQ,CAAC;IAC3C,MAAM,EAAE,MAAM,CAAM;IACpB,oBAAoB,EAAE,OAAO,CAAS;IAGtC,WAAW,EAAE,MAAM,EAAE,EAAE,CAAM;IAC7B,qBAAqB,EAAE,MAAM,CAAC;IAC9B,wBAAwB,EAAE,QAAQ,CAAC,QAAQ,CAAC;gBAEhC,KAAK,GAAE,MAAc,EAAE,SAAS,MAAU;IAMtD,UAAU,IAAI,MAAM;IAIpB,WAAW,CAAC,KAAK,GAAE,MAAc,EAAE,SAAS,MAAU;IAatD,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,CAAC,KAAA,GAAG,IAAI;IAiBrC,IAAI,SAAS,IAAI,MAAM,CAEtB;IAED,IAAI,SAAS,CAAC,CAAC,EAAE,MAAM,EAEtB;IAED,IAAI,WAAW,IAAI,MAAM,CAExB;IAED,IAAI,WAAW,CAAC,CAAC,EAAE,MAAM,EAExB;IAED,IAAI,WAAW,IAAI,MAAM,CAExB;IAED,IAAI,WAAW,CAAC,WAAW,EAAE,MAAM,EAElC;IAED,IAAI,WAAW,IAAI,QAAQ,CAAC,QAAQ,CAMnC;IAED,IAAI,WAAW,CAAC,KAAK,EAAE,QAAQ,CAAC,QAAQ,EAEvC;IAED,IAAI,UAAU,IAAI,MAAM,EAAE,EAAE,CAK3B;IAED,IAAI,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,EAAE,EAEnC;IAED;;;OAGG;IACH,IAAI,SAAS,IAAI,MAAM,CAetB;IAED;;OAEG;IACH,IAAI,SAAS,CAAC,SAAS,EAAE,MAAM,EAE9B;IAED;;;;;OAKG;IACH,IAAI,YAAY,IAAI,QAAQ,CAAC,QAAQ,CAIpC;IAED;;;OAGG;IACH,IAAI,YAAY,CAAC,SAAS,EAAE,QAAQ,CAAC,QAAQ,EAE5C;IAED;;;;;OAKG;IACH,iBAAiB,IAAI,MAAM,EAAE,EAAE;IAsC/B,iBAAiB,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,MAAM;IAO9C,wBAAwB,IAAI,MAAM,EAAE,EAAE;IActC,aAAa,CACT,OAAO,EAAE,MAAM,EACf,EAAC,2BAAmC,EAAC,GAAE;QAAC,2BAA2B,CAAC,EAAE,OAAO,CAAA;KAAM,GACpF,MAAM;IA0BT;;OAEG;IACH,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE;IAetC;;;OAGG;IACH,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,KAAG;IAgH7C;;;OAGG;IACH,oCAAoC,CAAC,EAAE,EAAE,aAAa;IAWtD;;;;;;;;;;OAUG;IACH,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM;IAQ1C;;;;OAIG;IACH,iBAAiB,IAAI,UAAU,EAAE;CAepC"}
--------------------------------------------------------------------------------
/releases/src/miditools.d.ts.map:
--------------------------------------------------------------------------------
1 | {"version":3,"file":"miditools.d.ts","sourceRoot":"","sources":["../../src/miditools.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AACH,OAAO,KAAK,IAAI,MAAM,UAAU,CAAC;AAGjC,OAAO,uBAAuB,CAAC;AAE/B,OAAO,KAAK,KAAK,MAAM,SAAS,CAAC;AAGjC,OAAO,KAAK,UAAU,MAAM,cAAc,CAAC;AAC3C,OAAO,KAAK,IAAI,MAAM,QAAQ,CAAC;AAG/B,OAAO,KAAK,KAAK,KAAK,MAAM,SAAS,CAAC;AAMtC,MAAM,WAAW,iBAAiB;IAC9B,GAAG,EAAE,CAAC,CAAC,KAAA,EAAE,CAAC,KAAA,EAAE,CAAC,KAAA,EAAE,CAAC,KAAA,KAAK,KAAK,CAAC;IAC3B,OAAO,EAAE,QAAQ,GAAC,QAAQ,EAAE,CAAC;IAC7B,YAAY,EAAE,QAAQ,CAAC;CAC1B;AAQD,cAAM,qBAAqB;IACvB;;OAEG;IACH,eAAe,EAAE,MAAM,CAAK;IAC5B;;;OAGG;IACH,QAAQ,EAAE,MAAM,CAAO;IACvB;;OAEG;IACH,aAAa,EAAE,MAAM,CAAK;IAC1B;;OAEG;IACH,cAAc,EAAE,GAAG,EAAE,CAAa;IAElC;;;OAGG;IACH,cAAc,EAAE,MAAM,CAAc;IAEpC;;;;;OAKG;IACH,WAAW,EAAE,KAAK,CAAC,KAAK,GAAC,IAAI,CAAC,IAAI,CAAa;IAE/C,SAAS,CAAC,UAAU,SAAM;IAC1B;;OAEG;IACH,SAAS,EAAE,KAAK,CAAC,SAAS,CAAa;IAEvC,IAAI,KAAK,IAAI,MAAM,CAMlB;IAED,IAAI,KAAK,CAAC,CAAC,EAAE,MAAM,EAMlB;CACJ;AAED,eAAO,MAAM,MAAM,uBAA8B,CAAC;AAGlD;;;;;GAKG;AACH,qBAAa,KAAK;IACd,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,OAAO,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAa;gBAEjB,CAAC,KAAA,EAAE,CAAC,KAAA,EAAE,CAAC,KAAA,EAAE,CAAC,KAAA;IAgBtB;;;OAGG;IACH,YAAY,IAAI,IAAI;IAepB;;;;OAIG;IACH,WAAW,IAAI,IAAI,CAAC,IAAI;CAK3B;AAGD;;GAEG;AACH,eAAO,MAAM,gBAAgB,IAAK,CAAC;AAKnC;;;;;GAKG;AACH,wBAAgB,cAAc,SAY7B;AACD;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,MAAM,EAAE,KAAK,GAAG,IAAI,CAgB9C;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,aAAa,EAAE,IAAI,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,IAAI,GAAC,KAAK,CAAC,KAAK,CAiB9E;AAOD;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,WAAW,CAAC,EAAE,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,GAAC,SAAS,CAgC3F;AAGD;;;;GAIG;AACH,eAAO,MAAM,YAAY,cAAe,KAAK,KAAG,IAE/C,CAAC;AAIF;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAC5B,SAAS,EAAE,MAAM,EACjB,QAAQ,CAAC,EAAE,CAAC,aAAa,CAAC,EAAE,UAAU,CAAC,UAAU,KAAK,GAAG,GAC1D,IAAI,CAwCN;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,aAAa,CACzB,SAAS,EAAE,MAAM,EACjB,QAAQ,CAAC,EAAE,CAAC,aAAa,CAAC,EAAE,UAAU,CAAC,UAAU,KAAK,GAAG,QAgE5D;AAED;;;GAGG;AACH,qBAAa,UAAU;IACnB,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC;IAEpB;;OAEG;IACH,KAAK,EAAE,MAAM,CAAO;IACpB,OAAO,EAAE,WAAW,CAAC;IACrB,KAAK,EAAE,MAAM,CAAM;;IAMnB,SAAS,CAAC,KAAK,EAAE,WAAW,GAAG,WAAW;IAyC1C,UAAU;IAIV,OAAO,IAAI,MAAM;IAIjB,QAAQ,IAAI,MAAM;IAIlB,OAAO,IAAI,MAAM;IAIjB,aAAa,CAAC,IAAI,SAAK;IAmBvB,UAAU,CAAC,OAAO,KAAA,GAAG,IAAI;IAqBzB,YAAY;IAIZ,UAAU;IAIV,cAAc;IAKd,aAAa;CAqDhB;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,SAAS,EAAE,iBAIvB,CAAC;AAGF,eAAO,MAAM,SAAS,mBAAY,CAAC"}
--------------------------------------------------------------------------------
/releases/src/musicxml.d.ts:
--------------------------------------------------------------------------------
1 | import * as m21ToXml from './musicxml/m21ToXml';
2 | import * as xmlToM21 from './musicxml/xmlToM21';
3 | export { m21ToXml, xmlToM21 };
4 | //# sourceMappingURL=musicxml.d.ts.map
--------------------------------------------------------------------------------
/releases/src/musicxml.d.ts.map:
--------------------------------------------------------------------------------
1 | {"version":3,"file":"musicxml.d.ts","sourceRoot":"","sources":["../../src/musicxml.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,QAAQ,MAAM,qBAAqB,CAAC;AAChD,OAAO,KAAK,QAAQ,MAAM,qBAAqB,CAAC;AAEhD,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC"}
--------------------------------------------------------------------------------
/releases/src/musicxml/m21ToXml.d.ts.map:
--------------------------------------------------------------------------------
1 | {"version":3,"file":"m21ToXml.d.ts","sourceRoot":"","sources":["../../../src/musicxml/m21ToXml.ts"],"names":[],"mappings":"AAEA,OAAO,EAAG,sCAAsC;AAC5C,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAC/B,MAAM,WAAW,CAAC;AAKnB,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACxC,OAAO,EAAE,WAAW,EAAQ,MAAM,SAAS,CAAC;AA4F5C,qBAAa,qBAAqB;IAC9B,UAAU,EAAE,aAAa,CAAC;gBAEd,GAAG,EAAE,aAAa;IAI9B,KAAK,CAAC,GAAG,MAAU;IAQnB,qBAAqB,CAAC,EAAE,KAAA;IAMxB,cAAc,CAAC,GAAG,KAAA;IAmBlB,SAAS,CAAC,EAAE,KAAA;IAKZ,QAAQ,CAAC,CAAC,KAAA;IAUV,WAAW,CAAC,CAAC,KAAA;IAWb,SAAS,CAAC,CAAC,KAAA;IAcX,eAAe,CAAC,CAAC,KAAA;CAWpB;AAID,qBAAa,eAAe;IACxB,GAAG,EAAE,WAAW,CAAC;IACjB,OAAO,MAAC;;IAOR,OAAO,CAAC,EAAE,MAAW,EAAE;;KAAG;IAS1B,SAAS;IAMT;;OAEG;IACH,wBAAwB,CACpB,KAAK,KAAA,EACL,KAAK,KAAA,EACL,GAAG,EAAE,MAAM,EACX,aAAa,GAAE,MAAgB,EAC/B,EAAE,SAAmB,EAAE,UAAgB,EAAE;;;KAAG;IAoBhD,IAAI,CAAC,KAAK,KAAA,EAAE,KAAK,KAAA,EAAE,GAAG,KAAA,EAAE,OAAO,KAAG;IAIlC,0BAA0B,CACtB,KAAK,KAAA,EACL,KAAK,KAAA,EACL,gBAAgB,KAAA,EAChB,EAAE,aAAuB,EAAE,SAAmB,EAAE;;;KAAG;IAevD,IAAI,CAAC,KAAK,KAAA,EAAE,KAAK,KAAA,EAAE,gBAAgB,KAAA,EAAE,OAAO,KAAG;IAK/C,eAAe,CAAC,OAAO,KAAA,EAAE,SAAS,KAAA;IAElC,iBAAiB,CAAC,OAAO,SAAG;IAc5B;;OAEG;IACH,UAAU,CAAC,EAAE,EAAE,WAAW,EAAE,GAAG,EAAE,MAAM,GAAG,WAAW;IAWrD,QAAQ,CAAC,QAAQ,KAAA,EAAE,SAAS,KAAA;IAW5B,YAAY,CAAC,IAAI,KAAA,EAAE,EAAE,KAAA;IAUrB,cAAc,CAAC,CAAC,KAAA;IAehB,WAAW;CAad;AAED,qBAAa,aAAc,SAAQ,eAAe;IAC9C,MAAM,EAAE,KAAK,CAAC;IACd,gBAAgB,MAAa;IAC7B,aAAa,MAAa;IAC1B,aAAa,MAAa;IAC1B,WAAW,MAAa;IACxB,YAAY,MAAa;IACzB,gBAAgB,MAAa;IAC7B,WAAW,SAAO;IAClB,oBAAoB,WAA2B;IAC/C,gBAAgB,QAAM;IACtB,cAAc,QAAM;IACpB,eAAe,QAAM;IACrB,KAAK,EAAE,IAAI,EAAE,CAAM;gBAEP,KAAK,KAAA;IAWjB,KAAK;IAYL,WAAW;IAKX,kBAAkB;IASlB,oBAAoB;IAiBpB,kBAAkB;IAYlB,eAAe;IASf,cAAc;IAed,WAAW;CAkBd;AAED,qBAAa,YAAa,SAAQ,eAAe;IAC7C,MAAM,EAAE,IAAI,CAAC;IACb,MAAM,EAAE,aAAa,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,oBAAoB,MAAC;IACrB,eAAe,MAAC;IAChB,gBAAgB,MAAC;IACjB,qBAAqB,MAAC;IACtB,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,MAAC;IACd,SAAS,MAAC;gBAEE,OAAO,KAAA,EAAE,EAAE,MAAgB,EAAE;;KAAG;IAsB5C,KAAK;IAoBL,eAAe;CAWlB;AAuBD,qBAAa,eAAgB,SAAQ,eAAe;IAChD,MAAM,EAAE,OAAO,CAAC;IAChB,MAAM,EAAE,YAAY,CAAC;IACrB,gBAAgB,EAAE,MAAM,CAAuB;IAC/C,qBAAqB,MAAa;IAClC,WAAW,MAAa;IACxB,kBAAkB,SAAO;IACzB,eAAe,SAAO;IACtB,cAAc,MAAa;IAE3B,UAAU,QAAM;IAChB,aAAa,MAAC;IACd,mBAAmB,MAAC;gBAGR,UAAU,KAAA,EAAE,EAAE,MAAgB,EAAE;;KAAG;IAU/C,KAAK;IAeL,iBAAiB;IAiBjB,iBAAiB,CAAC,CAAC,KAAA,EAAE,EAAE,gBAAsB,EAAE;;KAAG;IA6BlD,eAAe,CAAC,GAAG,KAAA;IAyCnB;;OAEG;IACH,SAAS,CAAC,CAAC,EAAE,WAAW,EAAE,EAAE,gBAAkB,EAAE,WAAqB,EAAE;;;KAAG,GAAG,IAAI;IAiHjF,SAAS,CAAC,CAAC,KAAA;IAMX,UAAU,CAAC,CAAC,KAAA;IAeZ,WAAW,CAAC,GAAG,KAAA;IAMf,UAAU,CAAC,CAAC,KAAA;IAcZ,wBAAwB,CAAC,GAAG,KAAA;IAoB5B,WAAW,CAAC,CAAC,KAAA;IAoCb,sBAAsB,CAAC,YAAY,KAAA,EAAE,UAAU,KAAA;IAY/C,UAAU,CAAC,CAAC,KAAA;IA2BZ,sCAAsC;IAsCtC,kBAAkB,CAAC,EAAE,KAAA;IAerB,iBAAiB,CAAC,iBAAiB,KAAA;IAcnC,SAAS,CAAC,OAAO,KAAA;IAgBjB,eAAe;CAQlB"}
--------------------------------------------------------------------------------
/releases/src/parseLoader.d.ts:
--------------------------------------------------------------------------------
1 | export declare function runConfiguration(): void;
2 | export declare function getBasePath(): string;
3 | export declare function fixUrls(conf: any): void;
4 | /**
5 | * @returns undefined
6 | */
7 | export declare function renderHTML(): void;
8 | export declare function loadDefaultSoundfont(conf: any): void;
9 | /**
10 | * Find the configuration as a JSON-encoded m21conf attribute on the script tag.
11 | */
12 | export declare function loadConfiguration(): Record;
13 | /**
14 | *
15 | * @param {string} [attribute=m21conf]
16 | * @returns {undefined|*|string}
17 | */
18 | export declare function getM21attribute(attribute?: string): string;
19 | //# sourceMappingURL=parseLoader.d.ts.map
--------------------------------------------------------------------------------
/releases/src/parseLoader.d.ts.map:
--------------------------------------------------------------------------------
1 | {"version":3,"file":"parseLoader.d.ts","sourceRoot":"","sources":["../../src/parseLoader.ts"],"names":[],"mappings":"AASA,wBAAgB,gBAAgB,SAuB/B;AAED,wBAAgB,WAAW,WAU1B;AAGD,wBAAgB,OAAO,CAAC,IAAI,KAAA,QAO3B;AAED;;GAEG;AACH,wBAAgB,UAAU,SAWzB;AAGD,wBAAgB,oBAAoB,CAAC,IAAI,KAAA,QAWxC;AAED;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAcvD;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,SAAS,GAAE,MAAkB,GAAG,MAAM,CAarE"}
--------------------------------------------------------------------------------
/releases/src/pitch.d.ts.map:
--------------------------------------------------------------------------------
1 | {"version":3,"file":"pitch.d.ts","sourceRoot":"","sources":["../../src/pitch.ts"],"names":[],"mappings":"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"}
--------------------------------------------------------------------------------
/releases/src/prebase.d.ts.map:
--------------------------------------------------------------------------------
1 | {"version":3,"file":"prebase.d.ts","sourceRoot":"","sources":["../../src/prebase.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAUH,MAAM,MAAM,yBAAyB,CAAC,CAAC,SAAS,cAAc,GAAG,cAAc,IAAI,CAC/E,GAAG,EAAE,MAAM,EACX,GAAG,EAAE,CAAC,EACN,IAAI,EAAE,OAAO,EACb,IAAI,EAAE,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,KACtB,IAAI,CAAC;AAEV;;;;;;;;;;GAUG;AACH,qBAAa,cAAc;IACvB,MAAM,KAAK,SAAS,WAA+C;IACnE,SAAS,CAAC,cAAc,EAAE,MAAM,EAAE,CAAC;IACnC,SAAS,CAAC,eAAe,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC;IACpC,GAAG,EAAE,MAAM,CAAC;IACZ,gBAAgB,EAAE,OAAO,CAAQ;IACjC,eAAe,EAAE,OAAO,CAAS;IAGjC,SAAS,CAAC,eAAe,EACrB,MAAM,CAAC,MAAM,EAAE,OAAO,GAAC,aAAa,GAAC,yBAAyB,CAAC,CAE7D;;IAUN,IAAI,QAAQ,IAAI,GAAG,CAAC,GAAG,CAAC,CAMvB;IAED;;;OAGG;IACH,IAAI,OAAO,IAAI,MAAM,EAAE,CAMtB;IAED;;;;OAIG;IACH,OAAO,CAAC,oBAAoB;IA0B5B;;;;;;;;;;;;;;;;OAgBG;IACH,KAAK,CAAC,IAAI,UAAK,EAAE,IAAI,MAAU,GAAG,IAAI;IAmEtC;;;;;;;;;;OAUG;IACH,iBAAiB,CACb,SAAS,EAAE,MAAM,GAAC,MAAM,EAAE,GAAC,CAAC,UAAU,cAAc,CAAC,GAAC,CAAC,UAAU,cAAc,CAAC,EAAE,GACnF,OAAO;IAeV,QAAQ,IAAI,MAAM;IAQlB,UAAU,IAAI,MAAM;IAIpB,EAAE,CAAC,KAAK,EAAE,IAAI,GAAG,OAAO;CAG3B"}
--------------------------------------------------------------------------------
/releases/src/renderOptions.d.ts:
--------------------------------------------------------------------------------
1 | /**
2 | * music21j -- Javascript reimplementation of Core music21p features.
3 | * music21/renderOptions -- an object that defines the render options for a Stream
4 | *
5 | * note: no parallel in music21p except Style
6 | *
7 | * Copyright (c) 2013-24, Michael Scott Asato Cuthbert
8 | * Based on music21 (=music21p), Copyright (c) 2006-24, Michael Scott Asato Cuthbert
9 | *
10 | * Options for rendering a stream
11 | *
12 | */
13 | import { StaveConnector } from './types';
14 | interface EventInterface {
15 | click: string | Function | undefined;
16 | dblclick: string | Function | undefined;
17 | resize?: string | Function | undefined;
18 | }
19 | interface ScaleFactor {
20 | x: number;
21 | y: number;
22 | }
23 | /**
24 | * An object that contains information on rendering the current stream
25 | *
26 | * Found on every Stream as `.renderOptions`
27 | */
28 | export declare class RenderOptions {
29 | displayClef: boolean;
30 | displayTimeSignature: boolean;
31 | displayKeySignature: boolean;
32 | scaleFactor: ScaleFactor;
33 | top: number;
34 | left: number;
35 | width: number;
36 | overriddenWidth: number;
37 | height: number;
38 | marginBottom: number;
39 | lyricsLine: number;
40 | adjustMarginBottomForLyrics: boolean;
41 | systemIndex: number;
42 | partIndex: number;
43 | measureIndex: number;
44 | systemPadding: number;
45 | maxSystemWidth: number;
46 | leftBarline: string;
47 | rightBarline: string;
48 | staffLines: number;
49 | staffConnectors: StaveConnector[];
50 | staffPadding: number;
51 | events: EventInterface;
52 | useVexflowAutobeam: boolean;
53 | startNewSystem: boolean;
54 | startNewPage: boolean;
55 | showMeasureNumber: boolean;
56 | heightAboveStaff: number;
57 | heightOfStaffProper: number;
58 | heightBelowStaff: number;
59 | get staffAreaHeight(): number;
60 | deepClone(): RenderOptions;
61 | }
62 | export {};
63 | //# sourceMappingURL=renderOptions.d.ts.map
--------------------------------------------------------------------------------
/releases/src/renderOptions.d.ts.map:
--------------------------------------------------------------------------------
1 | {"version":3,"file":"renderOptions.d.ts","sourceRoot":"","sources":["../../src/renderOptions.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,OAAO,EAAC,cAAc,EAAC,MAAM,SAAS,CAAC;AAEvC,UAAU,cAAc;IACpB,KAAK,EAAE,MAAM,GAAC,QAAQ,GAAC,SAAS,CAAC;IACjC,QAAQ,EAAE,MAAM,GAAC,QAAQ,GAAC,SAAS,CAAC;IACpC,MAAM,CAAC,EAAE,MAAM,GAAC,QAAQ,GAAC,SAAS,CAAC;CACtC;AAED,UAAU,WAAW;IACjB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACb;AAGD;;;;GAIG;AACH,qBAAa,aAAa;IACtB,WAAW,EAAE,OAAO,CAAQ;IAC5B,oBAAoB,EAAE,OAAO,CAAQ;IACrC,mBAAmB,EAAE,OAAO,CAAQ;IAEpC,WAAW,EAAE,WAAW,CAGtB;IAEF,GAAG,EAAE,MAAM,CAAK;IAChB,IAAI,EAAE,MAAM,CAAa;IACzB,KAAK,EAAE,MAAM,CAAa;IAC1B,eAAe,EAAE,MAAM,CAAa;IACpC,MAAM,EAAE,MAAM,CAAa;IAI3B,YAAY,EAAE,MAAM,CAAK;IACzB,UAAU,EAAE,MAAM,CAAM;IACxB,2BAA2B,EAAE,OAAO,CAAQ;IAE5C,WAAW,EAAE,MAAM,CAAK;IACxB,SAAS,EAAE,MAAM,CAAK;IACtB,YAAY,EAAE,MAAM,CAAK;IAKzB,aAAa,EAAE,MAAM,CAAK;IAI1B,cAAc,EAAE,MAAM,CAAa;IAEnC,WAAW,EAAE,MAAM,CAAa;IAChC,YAAY,EAAE,MAAM,CAAa;IAEjC,UAAU,EAAE,MAAM,CAAK;IACvB,eAAe,EAAE,cAAc,EAAE,CAAiD;IAClF,YAAY,EAAE,MAAM,CAAM;IAC1B,MAAM,EAAE,cAAc,CAIpB;IAEF,kBAAkB,EAAE,OAAO,CAAS;IAEpC,cAAc,EAAE,OAAO,CAAS;IAEhC,YAAY,EAAE,OAAO,CAAS;IAC9B,iBAAiB,EAAE,OAAO,CAAa;IAEvC,gBAAgB,EAAE,MAAM,CAAM;IAC9B,mBAAmB,EAAE,MAAM,CAAM;IACjC,gBAAgB,EAAE,MAAM,CAAM;IAG9B,IAAI,eAAe,IAAI,MAAM,CAE5B;IAED,SAAS,IAAI,aAAa;CAe7B"}
--------------------------------------------------------------------------------
/releases/src/roman.d.ts.map:
--------------------------------------------------------------------------------
1 | {"version":3,"file":"roman.d.ts","sourceRoot":"","sources":["../../src/roman.ts"],"names":[],"mappings":"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"}
--------------------------------------------------------------------------------
/releases/src/scale.d.ts.map:
--------------------------------------------------------------------------------
1 | {"version":3,"file":"scale.d.ts","sourceRoot":"","sources":["../../src/scale.ts"],"names":[],"mappings":"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"}
--------------------------------------------------------------------------------
/releases/src/sites.d.ts:
--------------------------------------------------------------------------------
1 | /**
2 | * Objects for keeping track of relationships among Music21Objects.
3 | *
4 | * Copyright (c) 2017-2021, Michael Scott Asato Cuthbert
5 | * License: BSD
6 | */
7 | import { Music21Exception } from './exceptions21';
8 | import type { Stream } from './stream';
9 | /**
10 | */
11 | export declare class SitesException extends Music21Exception {
12 | }
13 | /**
14 | * SiteRef.site is held strongly in Javascript. This is
15 | * actually NOT a problem because of the difference between
16 | * the way JS Garbage Collection works from Python (in all
17 | * browsers since IE6...). They follow reference chains and
18 | * find unreachable references and don't just check reference
19 | * counts. Thus circular references still allow memory to be
20 | * garbage collected. Tested in Chrome on 100000 streams, and
21 | * very small additional memory usage.
22 | *
23 | * https://stackoverflow.com/questions/7347203/circular-references-in-javascript-garbage-collector
24 | */
25 | export declare class SiteRef {
26 | isDead: boolean;
27 | classString: string;
28 | globalSiteIndex: boolean | number;
29 | siteIndex: number;
30 | site: Stream;
31 | }
32 | export declare function getId(obj: any): number | string;
33 | export declare class Sites {
34 | siteDict: Map;
35 | protected _siteIndex: number;
36 | protected _lastID: number;
37 | constructor();
38 | get length(): number;
39 | includes(checkSite: Stream): boolean;
40 | protected _keysByTime(newFirst?: boolean): any[];
41 | add(obj: any, idKey?: any, classString?: string): void;
42 | remove(obj: any): boolean;
43 | clear(): void;
44 | /**
45 | */
46 | yieldSites(sortByCreationTime?: boolean | string, priorityTarget?: Stream, excludeNone?: boolean): Generator;
47 | get(sortByCreationTime?: boolean, priorityTarget?: Stream, excludeNone?: boolean): Stream[];
48 | getAttrByName(attrName: string): any;
49 | getObjByClass(className: string, options?: {}): Stream;
50 | }
51 | //# sourceMappingURL=sites.d.ts.map
--------------------------------------------------------------------------------
/releases/src/sites.d.ts.map:
--------------------------------------------------------------------------------
1 | {"version":3,"file":"sites.d.ts","sourceRoot":"","sources":["../../src/sites.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAGlD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAEvC;GACG;AACH,qBAAa,cAAe,SAAQ,gBAAgB;CAAG;AACvD;;;;;;;;;;;GAWG;AACH,qBAAa,OAAO;IAChB,MAAM,EAAE,OAAO,CAAS;IACxB,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,EAAE,OAAO,GAAC,MAAM,CAAS;IACxC,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;CAChB;AAUD,wBAAgB,KAAK,CAAC,GAAG,EAAE,GAAG,GAAG,MAAM,GAAC,MAAM,CAM7C;AAED,qBAAa,KAAK;IACd,QAAQ,EAAE,GAAG,CAAC,MAAM,GAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACtC,SAAS,CAAC,UAAU,EAAE,MAAM,CAAK;IACjC,SAAS,CAAC,OAAO,EAAE,MAAM,CAAM;;IAO/B,IAAI,MAAM,IAAI,MAAM,CAEnB;IAED,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO;IAUpC,SAAS,CAAC,WAAW,CAAC,QAAQ,GAAE,OAAc,GAAG,GAAG,EAAE;IAatD,GAAG,CAAC,GAAG,KAAA,EAAE,KAAK,MAAU,EAAE,WAAW,GAAE,MAAkB,GAAG,IAAI;IAkChE,MAAM,CAAC,GAAG,KAAA,GAAG,OAAO;IAQpB,KAAK,IAAI,IAAI;IAMb;OACG;IACD,UAAU,CACR,kBAAkB,GAAE,OAAO,GAAC,MAAc,EAC1C,cAAc,GAAE,MAAkB,EAClC,WAAW,GAAE,OAAe,GAC7B,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC;IAkChC,GAAG,CACC,kBAAkB,GAAE,OAAe,EACnC,cAAc,GAAE,MAAkB,EAClC,WAAW,GAAE,OAAe,GAC7B,MAAM,EAAE;IAiBX,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,GAAG;IAYpC,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,KAAG,GAAG,MAAM;CAwCvD"}
--------------------------------------------------------------------------------
/releases/src/stream/filters.d.ts:
--------------------------------------------------------------------------------
1 | import { Music21Exception } from '../exceptions21';
2 | import type { Music21Object } from '../base';
3 | import type { StreamIteratorBase } from './iterator';
4 | import type { ClassFilterType } from '../types';
5 | export declare class FilterException extends Music21Exception {
6 | }
7 | declare class _StopIteration {
8 | }
9 | export declare const StopIterationSingleton: _StopIteration;
10 | export declare class StreamFilter {
11 | static get derivationStr(): string;
12 | reset(): void;
13 | call(_item: Music21Object, _iterator: StreamIteratorBase): boolean | _StopIteration;
14 | }
15 | export declare class IsFilter extends StreamFilter {
16 | static get derivationStr(): string;
17 | target: any[];
18 | numToFind: number;
19 | constructor(target?: any | any[]);
20 | reset(): void;
21 | call(item: Music21Object, _iterator: StreamIteratorBase): boolean | _StopIteration;
22 | }
23 | export declare class IsNotFilter extends IsFilter {
24 | static get derivationStr(): string;
25 | constructor(target?: any | any[]);
26 | reset(): void;
27 | call(item: Music21Object, iterator: StreamIteratorBase): boolean | _StopIteration;
28 | }
29 | export declare class ClassFilter extends StreamFilter {
30 | static get derivationStr(): string;
31 | classList: string[] | (new () => Music21Object)[];
32 | constructor(classList?: ClassFilterType);
33 | call(item: Music21Object, _iterator: StreamIteratorBase): boolean;
34 | }
35 | export declare class ClassNotFilter extends ClassFilter {
36 | static get derivationStr(): string;
37 | call(item: Music21Object, iterator: StreamIteratorBase): boolean;
38 | }
39 | export interface OffsetFilterOptions {
40 | includeEndBoundary?: boolean;
41 | mustFinishInSpan?: boolean;
42 | mustBeginInSpan?: boolean;
43 | includeElementsThatEndAtStart?: boolean;
44 | }
45 | export declare class OffsetFilter extends StreamFilter {
46 | static get derivationStr(): string;
47 | offsetStart: number;
48 | offsetEnd: number;
49 | includeEndBoundary: boolean;
50 | mustFinishInSpan: boolean;
51 | mustBeginInSpan: boolean;
52 | includeElementsThatEndAtStart: boolean;
53 | zeroLengthSearch: boolean;
54 | constructor(offsetStart: number, offsetEnd?: number, { includeEndBoundary, mustFinishInSpan, mustBeginInSpan, includeElementsThatEndAtStart, }?: OffsetFilterOptions);
55 | call(item: Music21Object, iterator: StreamIteratorBase): boolean;
56 | isElementOffsetInRange(e: Music21Object, offset: number): boolean;
57 | }
58 | export {};
59 | //# sourceMappingURL=filters.d.ts.map
--------------------------------------------------------------------------------
/releases/src/stream/filters.d.ts.map:
--------------------------------------------------------------------------------
1 | {"version":3,"file":"filters.d.ts","sourceRoot":"","sources":["../../../src/stream/filters.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,KAAK,EAAC,aAAa,EAAC,MAAM,SAAS,CAAC;AAC3C,OAAO,KAAK,EAAC,kBAAkB,EAAC,MAAM,YAAY,CAAC;AACnD,OAAO,KAAK,EAAC,eAAe,EAAC,MAAM,UAAU,CAAC;AAE9C,qBAAa,eAAgB,SAAQ,gBAAgB;CAAG;AAExD,cAAM,cAAc;CAAG;AAEvB,eAAO,MAAM,sBAAsB,gBAAuB,CAAC;AAE3D,qBAAa,YAAY;IACrB,MAAM,KAAK,aAAa,IAAI,MAAM,CAEjC;IAED,KAAK;IAEL,IAAI,CAAC,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,kBAAkB,GAAG,OAAO,GAAC,cAAc;CAGpF;AAED,qBAAa,QAAS,SAAQ,YAAY;IACtC,WAAoB,aAAa,WAEhC;IAED,MAAM,EAAE,GAAG,EAAE,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;gBAEN,MAAM,GAAE,GAAG,GAAC,GAAG,EAAM;IASxB,KAAK,IAAI,IAAI;IAIb,IAAI,CAAC,IAAI,EAAE,aAAa,EAAE,SAAS,EAAE,kBAAkB,GAAG,OAAO,GAAC,cAAc;CAW5F;AAED,qBAAa,WAAY,SAAQ,QAAQ;IACrC,WAAoB,aAAa,IAAI,MAAM,CAE1C;gBAEW,MAAM,GAAE,GAAG,GAAC,GAAG,EAAM;IAKxB,KAAK,IAAI,IAAI;IAEb,IAAI,CAAC,IAAI,EAAE,aAAa,EAAE,QAAQ,EAAE,kBAAkB,GAAG,OAAO,GAAC,cAAc;CAQ3F;AAID,qBAAa,WAAY,SAAQ,YAAY;IACzC,MAAM,KAAK,aAAa,WAEvB;IAED,SAAS,EAAE,MAAM,EAAE,GAAC,CAAC,UAAS,aAAa,CAAC,EAAE,CAAC;gBAEnC,SAAS,GAAE,eAAoB;IAYlC,IAAI,CAAC,IAAI,EAAE,aAAa,EAAE,SAAS,EAAE,kBAAkB,GAAG,OAAO;CAG7E;AAED,qBAAa,cAAe,SAAQ,WAAW;IAC3C,WAAoB,aAAa,IAAI,MAAM,CAE1C;IAEQ,IAAI,CAAC,IAAI,EAAE,aAAa,EAAE,QAAQ,EAAE,kBAAkB,GAAG,OAAO;CAG5E;AAGD,MAAM,WAAW,mBAAmB;IAChC,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,6BAA6B,CAAC,EAAE,OAAO,CAAC;CAC3C;AAED,qBAAa,YAAa,SAAQ,YAAY;IAC1C,WAAoB,aAAa,IAAI,MAAM,CAE1C;IAED,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,kBAAkB,EAAE,OAAO,CAAC;IAC5B,gBAAgB,EAAE,OAAO,CAAC;IAC1B,eAAe,EAAE,OAAO,CAAC;IACzB,6BAA6B,EAAE,OAAO,CAAC;IACvC,gBAAgB,EAAE,OAAO,CAAS;gBAG9B,WAAW,EAAE,MAAM,EACnB,SAAS,GAAE,MAAkB,EAC7B,EACI,kBAAuB,EACvB,gBAAsB,EACtB,eAAoB,EACpB,6BAAkC,GACrC,GAAE,mBAAwB;IAoBtB,IAAI,CAAC,IAAI,EAAE,aAAa,EAAE,QAAQ,EAAE,kBAAkB,GAAG,OAAO;IASzE,sBAAsB,CAAC,CAAC,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO;CAkDpE"}
--------------------------------------------------------------------------------
/releases/src/stream/makeNotation.d.ts:
--------------------------------------------------------------------------------
1 | import * as note from '../note';
2 | import * as stream from '../stream';
3 | export interface MakeBeamsOptions {
4 | inPlace?: boolean;
5 | setStemDirections?: boolean;
6 | failOnNoTimeSignature?: boolean;
7 | }
8 | export interface StemDirectionBeatGroupOptions {
9 | setNewStems?: boolean;
10 | overrideConsistentStemDirections?: boolean;
11 | }
12 | export interface IterateBeamGroupsOptions {
13 | skipNoBeams?: boolean;
14 | recurse?: boolean;
15 | }
16 | export declare function makeBeams(s: stream.Stream, { inPlace, setStemDirections, failOnNoTimeSignature, }?: MakeBeamsOptions): stream.Stream;
17 | export declare function iterateBeamGroups(s: stream.Stream, { skipNoBeams, recurse, }?: IterateBeamGroupsOptions): Generator;
18 | export declare function setStemDirectionForBeamGroups(s: stream.Stream, { setNewStems, overrideConsistentStemDirections, }?: StemDirectionBeatGroupOptions): void;
19 | /**
20 | * Sets the stem direction for unspecified notes. For beamed notes,
21 | * they should have already had their stem directions set in setBeams
22 | */
23 | export declare function setStemDirectionForUnspecified(s: stream.Stream): void;
24 | /**
25 | * Set stem directions for all notes in a beam group.
26 | */
27 | export declare function setStemDirectionOneGroup(group: note.NotRest[], { setNewStems, overrideConsistentStemDirections, }?: StemDirectionBeatGroupOptions): void;
28 | //# sourceMappingURL=makeNotation.d.ts.map
--------------------------------------------------------------------------------
/releases/src/stream/makeNotation.d.ts.map:
--------------------------------------------------------------------------------
1 | {"version":3,"file":"makeNotation.d.ts","sourceRoot":"","sources":["../../../src/stream/makeNotation.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,IAAI,MAAM,SAAS,CAAC;AAEhC,OAAO,KAAK,MAAM,MAAM,WAAW,CAAC;AAIpC,MAAM,WAAW,gBAAgB;IAC7B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,qBAAqB,CAAC,EAAE,OAAO,CAAC;CACnC;AAED,MAAM,WAAW,6BAA6B;IAC1C,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,gCAAgC,CAAC,EAAE,OAAO,CAAC;CAC9C;AAED,MAAM,WAAW,wBAAwB;IACrC,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,OAAO,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,wBAAgB,SAAS,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,EACxC,OAAa,EACb,iBAAsB,EACtB,qBAA2B,GAC9B,GAAE,gBAAqB,GAAG,MAAM,CAAC,MAAM,CAyEvC;AAED,wBAAkB,iBAAiB,CAC/B,CAAC,EAAE,MAAM,CAAC,MAAM,EAChB,EACI,WAAgB,EAChB,OAAY,GACf,GAAE,wBAA6B,GACjC,SAAS,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,CAkCvC;AAGD,wBAAgB,6BAA6B,CACzC,CAAC,EAAE,MAAM,CAAC,MAAM,EAChB,EACI,WAAgB,EAChB,gCAAsC,GACzC,GAAE,6BAAkC,GACtC,IAAI,CAON;AAED;;;GAGG;AACH,wBAAgB,8BAA8B,CAC1C,CAAC,EAAE,MAAM,CAAC,MAAM,GACjB,IAAI,CAsCN;AAKD;;GAEG;AACH,wBAAgB,wBAAwB,CACpC,KAAK,EAAE,IAAI,CAAC,OAAO,EAAE,EACrB,EACI,WAAgB,EAChB,gCAAsC,GACzC,GAAE,6BAAkC,GACtC,IAAI,CAuCN"}
--------------------------------------------------------------------------------
/releases/src/style.d.ts:
--------------------------------------------------------------------------------
1 | import * as prebase from './prebase';
2 | export declare enum Enclosure {
3 | RECTANGLE = "rectangle",
4 | SQUARE = "square",
5 | OVAL = "oval",
6 | CIRCLE = "circle",
7 | BRACKET = "bracket",
8 | TRIANGLE = "triangle",
9 | DIAMOND = "diamond",
10 | PENTAGON = "pentagon",
11 | HEXAGON = "hexagon",
12 | HEPTAGON = "heptagon",
13 | OCTAGON = "octagon",
14 | NONAGON = "nonagon",
15 | DECAGON = "decagon",
16 | NONE = "none"
17 | }
18 | export declare class Style extends prebase.ProtoM21Object {
19 | relativeX: number | undefined;
20 | relativeY: number | undefined;
21 | absoluteX: number | undefined;
22 | absoluteY: number | undefined;
23 | enclosure: Enclosure | undefined;
24 | color: string | undefined;
25 | hideObjectOnPrint: boolean;
26 | }
27 | //# sourceMappingURL=style.d.ts.map
--------------------------------------------------------------------------------
/releases/src/style.d.ts.map:
--------------------------------------------------------------------------------
1 | {"version":3,"file":"style.d.ts","sourceRoot":"","sources":["../../src/style.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,WAAW,CAAC;AAErC,oBAAY,SAAS;IAEjB,SAAS,cAAc;IACvB,MAAM,WAAW;IACjB,IAAI,SAAS;IACb,MAAM,WAAW;IACjB,OAAO,YAAY;IACnB,QAAQ,aAAa;IACrB,OAAO,YAAY;IACnB,QAAQ,aAAa;IACrB,OAAO,YAAY;IACnB,QAAQ,aAAa;IACrB,OAAO,YAAY;IACnB,OAAO,YAAY;IACnB,OAAO,YAAY;IACnB,IAAI,SAAS;CAChB;AAID,qBAAa,KAAM,SAAQ,OAAO,CAAC,cAAc;IAE7C,SAAS,EAAE,MAAM,GAAC,SAAS,CAAC;IAC5B,SAAS,EAAE,MAAM,GAAC,SAAS,CAAC;IAC5B,SAAS,EAAE,MAAM,GAAC,SAAS,CAAC;IAC5B,SAAS,EAAE,MAAM,GAAC,SAAS,CAAC;IAC5B,SAAS,EAAE,SAAS,GAAC,SAAS,CAAC;IAE/B,KAAK,EAAE,MAAM,GAAC,SAAS,CAAC;IAExB,iBAAiB,EAAE,OAAO,CAAS;CACtC"}
--------------------------------------------------------------------------------
/releases/src/svgs.d.ts:
--------------------------------------------------------------------------------
1 | export declare const acc_dbl_flat: SVGElement;
2 | export declare const acc_flat: SVGElement;
3 | export declare const acc_natural: SVGElement;
4 | export declare const acc_sharp: SVGElement;
5 | export declare const acc_dbl_sharp: SVGElement;
6 | export declare const svg_accidentals: Map;
7 | //# sourceMappingURL=svgs.d.ts.map
--------------------------------------------------------------------------------
/releases/src/svgs.d.ts.map:
--------------------------------------------------------------------------------
1 | {"version":3,"file":"svgs.d.ts","sourceRoot":"","sources":["../../src/svgs.ts"],"names":[],"mappings":"AAmBA,eAAO,MAAM,YAAY,YAAkvB,CAAC;AAE5wB,eAAO,MAAM,QAAQ,YAAsY,CAAC;AAE5Z,eAAO,MAAM,WAAW,YAAgV,CAAC;AAEzW,eAAO,MAAM,SAAS,YAA+wB,CAAC;AAEtyB,eAAO,MAAM,aAAa,YAA6mB,CAAC;AAExoB,eAAO,MAAM,eAAe,eAAY,CAAC"}
--------------------------------------------------------------------------------
/releases/src/tempo.d.ts.map:
--------------------------------------------------------------------------------
1 | {"version":3,"file":"tempo.d.ts","sourceRoot":"","sources":["../../src/tempo.ts"],"names":[],"mappings":"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"}
--------------------------------------------------------------------------------
/releases/src/tie.d.ts:
--------------------------------------------------------------------------------
1 | /**
2 | * music21j -- Javascript reimplementation of Core music21p features.
3 | * music21/tie -- ties!
4 | *
5 | * Copyright (c) 2013-24, Michael Scott Asato Cuthbert
6 | * Based on music21 (=music21p), Copyright (c) 2006-24, Michael Scott Asato Cuthbert
7 | *
8 | */
9 | import * as prebase from './prebase';
10 | /**
11 | * Tie class. Found in music21.note.GeneralNote `.tie`.
12 | *
13 | * Does not support advanced music21p values `.to` and `.from`
14 | *
15 | * @param {string} type - 'start', 'stop', 'continue', or 'let-ring'
16 | * @property {string} type - the tie type
17 | * @property {string} style - only supports 'normal' for now.
18 | * @property {string|undefined} placement - undefined = unknown or above/below.
19 | * (NB currently does nothing)
20 | */
21 | export declare class Tie extends prebase.ProtoM21Object {
22 | static get className(): string;
23 | protected _type: string;
24 | style: string;
25 | placement: string;
26 | constructor(type?: string);
27 | stringInfo(): string;
28 | get type(): string;
29 | set type(newType: string);
30 | }
31 | //# sourceMappingURL=tie.d.ts.map
--------------------------------------------------------------------------------
/releases/src/tie.d.ts.map:
--------------------------------------------------------------------------------
1 | {"version":3,"file":"tie.d.ts","sourceRoot":"","sources":["../../src/tie.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,OAAO,MAAM,WAAW,CAAC;AAKrC;;;;;;;;;;GAUG;AACH,qBAAa,GAAI,SAAQ,OAAO,CAAC,cAAc;IAC3C,MAAM,KAAK,SAAS,WAAgC;IAEpD,SAAS,CAAC,KAAK,EAAE,MAAM,CAAC;IACxB,KAAK,EAAE,MAAM,CAAY;IACzB,SAAS,EAAE,MAAM,CAAC;gBAEN,IAAI,GAAE,MAAgB;IAKlC,UAAU,IAAI,MAAM;IAIpB,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED,IAAI,IAAI,CAAC,OAAO,EAAE,MAAM,EAOvB;CACJ"}
--------------------------------------------------------------------------------
/releases/src/tinyNotation.d.ts:
--------------------------------------------------------------------------------
1 | import * as stream from './stream';
2 | /**
3 | * Regular expressions object
4 | */
5 | export declare const regularExpressions: {
6 | [k: string]: RegExp;
7 | };
8 | /**
9 | * **Function, not class**.
10 | *
11 | * Converts a TinyNotation String into a music21 Stream
12 | *
13 | * See music21p for examples of what can go into tinyNotation. It's an
14 | * adaptation of Lilypond format, by design Extremely simple!
15 | *
16 | * * textIn - a valid tinyNotation string
17 | *
18 | * * returns {music21.stream.Part|music21.stream.Score} - a Part object or Score (if multiple parts)
19 | *
20 | * @example
21 | * var t = "3/4 c4 B8 c d4 e2.";
22 | * var p = music21.tinyNotation.TinyNotation(t);
23 | * p.duration.quarterLength;
24 | * // 6.0
25 | */
26 | export declare function TinyNotation(textIn: string): stream.Part | stream.Score;
27 | /**
28 | * Render all the TinyNotation classes in the DOM as notation
29 | *
30 | * Called automatically when music21 is loaded. TODO -- stop that!
31 | *
32 | * @param {string} [classTypes='.music21.tinyNotation'] - a JQuery selector to find elements to replace.
33 | * @param {HTMLElement|jQuery} [selector]
34 | */
35 | export declare function renderNotationDivs(classTypes?: string, selector?: HTMLElement | string): void;
36 | //# sourceMappingURL=tinyNotation.d.ts.map
--------------------------------------------------------------------------------
/releases/src/tinyNotation.d.ts.map:
--------------------------------------------------------------------------------
1 | {"version":3,"file":"tinyNotation.d.ts","sourceRoot":"","sources":["../../src/tinyNotation.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,MAAM,MAAM,UAAU,CAAC;AAGnC;;GAEG;AACH,eAAO,MAAM,kBAAkB,EAAE;IAAE,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;CA0BrD,CAAC;AAEF;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,IAAI,GAAC,MAAM,CAAC,KAAK,CA+NrE;AAGD;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAC9B,UAAU,GAAE,MAAgC,EAC5C,QAAQ,GAAE,WAAW,GAAC,MAAkB,GACzC,IAAI,CAsCN"}
--------------------------------------------------------------------------------
/releases/src/types.d.ts:
--------------------------------------------------------------------------------
1 | import type { Music21Object } from './base';
2 | export type ClassFilterType = string | string[] | (new () => Music21Object) | (new () => Music21Object)[];
3 | export declare enum StaveConnector {
4 | SINGLE = "single",
5 | DOUBLE = "double",
6 | BRACE = "brace",
7 | BRACKET = "bracket"
8 | }
9 | //# sourceMappingURL=types.d.ts.map
--------------------------------------------------------------------------------
/releases/src/types.d.ts.map:
--------------------------------------------------------------------------------
1 | {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,aAAa,EAAC,MAAM,QAAQ,CAAC;AAG1C,MAAM,MAAM,eAAe,GAAG,MAAM,GAAC,MAAM,EAAE,GAAC,CAAC,UAAS,aAAa,CAAC,GAAC,CAAC,UAAS,aAAa,CAAC,EAAE,CAAA;AAEjG,oBAAY,cAAc;IACtB,MAAM,WAAW;IACjB,MAAM,WAAW;IACjB,KAAK,UAAU;IACf,OAAO,YAAY;CACtB"}
--------------------------------------------------------------------------------
/releases/src/vfShims.d.ts:
--------------------------------------------------------------------------------
1 | /**
2 | * music21j -- Javascript reimplementation of Core music21p features.
3 | * Copyright (c) 2013-24, Michael Scott Asato Cuthbert
4 | * Based on music21 (music21p), Copyright (c) 2006-24, Michael Scott Asato Cuthbert
5 | *
6 | * The infamous vfShims returns! To fix things that Vexflow makes hard to fix!
7 | *
8 | * These were used in 0.15.x on the new lyrics, but are currently unused, since
9 | * the new lyrics in Vexflow would cause staves to overflow.
10 | */
11 | import { Annotation, type ModifierContextState } from 'vexflow';
12 | export declare class VFLyricAnnotation extends Annotation {
13 | static DEBUG: boolean;
14 | fill: string;
15 | static format(annotations: VFLyricAnnotation[], state: ModifierContextState): boolean;
16 | getFill(): string;
17 | setFill(color: string): void;
18 | /** Render text below the note at the given staff line */
19 | draw(): void;
20 | }
21 | //# sourceMappingURL=vfShims.d.ts.map
--------------------------------------------------------------------------------
/releases/src/vfShims.d.ts.map:
--------------------------------------------------------------------------------
1 | {"version":3,"file":"vfShims.d.ts","sourceRoot":"","sources":["../../src/vfShims.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EACH,UAAU,EAIV,KAAK,oBAAoB,EAI5B,MAAM,SAAS,CAAC;AAiEjB,qBAAa,iBAAkB,SAAQ,UAAU;IAC7C,MAAM,CAAC,KAAK,UAAS;IACrB,IAAI,EAAE,MAAM,CAAC;IAEb,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE,iBAAiB,EAAE,EAAE,KAAK,EAAE,oBAAoB,GAAG,OAAO;IAoCrF,OAAO,IAAI,MAAM;IAIjB,OAAO,CAAC,KAAK,EAAE,MAAM;IAIrB,yDAAyD;IACzD,IAAI,IAAI,IAAI;CAqDf"}
--------------------------------------------------------------------------------
/releases/src/voiceLeading.d.ts.map:
--------------------------------------------------------------------------------
1 | {"version":3,"file":"voiceLeading.d.ts","sourceRoot":"","sources":["../../src/voiceLeading.ts"],"names":[],"mappings":"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"}
--------------------------------------------------------------------------------
/releases/src/webmidi.d.ts.map:
--------------------------------------------------------------------------------
1 | {"version":3,"file":"webmidi.d.ts","sourceRoot":"","sources":["../../src/webmidi.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AASH,KAAK,oBAAoB,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,KAAK,GAAG,CAAC;AAEhF,OAAO,WAAW,IAAK,SAAQ,iBAAiB;IAE5C,MAAM,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,CAAC,cAAc,EAAE,MAAM,EAAE,QAAQ,EAAE,oBAAoB,KAAK,MAAM,CAAC;IAC/E,WAAW,EAAE,MAAM,IAAI,CAAC;IACxB,UAAU,EAAE,MAAM,MAAM,EAAE,CAAC;CAC9B;AAED;;;;;;;;GAQG;AAEH,UAAU,cAAc;IACpB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,MAAM,EAAE,GAAG,CAAC;IACZ,MAAM,EAAE,iBAAiB,CAAC;IAC1B,eAAe,EAAE,MAAM,CAAC;IACxB,YAAY,EAAE,IAAI,CAAC;IACnB,qBAAqB,EAAE,MAAM,CAAC;CACjC;AAED,eAAO,MAAM,OAAO,EAAE,cAUrB,CAAC;AAEF;;;;;;;;;GASG;AACH,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,OAM3E;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,aAAa,CAAC,gBAAgB,KAAA,OAiB7C;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,YAAY,CACxB,aAAa,GAAE,WAAuB,EACtC,QAAQ,GAAE,OAAe,GAC1B,IAAI,GAAC,SAAS,CA4BhB;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,WAAW,EAAE,OAAO,GAAE,mBAAwB,GAAG,WAAW,GAAC,SAAS,CAsEnH;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,KAAK,WAwBxC;AAGD,UAAU,mBAAmB;IACzB;;OAEG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IAErB;;OAEG;IACH,SAAS,CAAC,EAAE,QAAQ,CAAC;IAErB;;OAEG;IACH,cAAc,CAAC,EAAE,QAAQ,CAAC;IAE1B;;OAEG;IACH,YAAY,CAAC,EAAE,QAAQ,CAAC;CAC3B;AAID;;;;GAIG;AACH,wBAAgB,cAAc,CAC1B,KAAK,EAAE,WAAW,EAClB,OAAO,GAAE,mBAAwB,GAClC,iBAAiB,CA2DnB;AAED,wBAAgB,cAAc,SA4B7B"}
--------------------------------------------------------------------------------
/scripts/postinstall.bash:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env bash
2 |
3 | echo 'Downloading orchestral soundfonts (about 90MB)'
4 |
5 | BASEDIR=$(dirname "$(dirname "$0")")
6 | mkdir -p soundfonts
7 | curl https://codeload.github.com/cuthbertLab/midi-js-soundfonts/zip/master > soundfonts/soundfonts.zip
8 | (cd "${BASEDIR}"/soundfonts || exit 1; unzip -o -q soundfonts.zip && rm soundfonts.zip)
9 |
10 | # do not use the double-bracket form -- Ubuntu 16 cannot handle it and is still supported.
11 | # if [ ! -f "${BASEDIR}/src/music21.js" ]; then
12 | # echo 'Symlinking music21.js for use with require'
13 |
14 | # (cd "${BASEDIR}"/src || exit 1; ln -s ../releases/music21.debug.js music21.js)
15 | # fi
16 |
--------------------------------------------------------------------------------
/src/bar.ts:
--------------------------------------------------------------------------------
1 | /**
2 | * music21j -- Javascript reimplementation of Core music21p features.
3 | * music21/bar -- Barline objects
4 | *
5 | * Copyright (c) 2013-24, Michael Scott Asato Cuthbert
6 | * Based on music21 (=music21p), Copyright (c) 2006-24, Michael Scott Asato Cuthbert
7 | *
8 | */
9 | import * as base from './base';
10 | import { Music21Exception } from './exceptions21';
11 |
12 | const barTypeList = [
13 | 'regular', 'dotted', 'dashed', 'heavy', 'double', 'final',
14 | 'heavy-light', 'heavy-heavy', 'tick', 'short', 'none',
15 | ];
16 | const barTypeDict = {
17 | 'light-light': 'double',
18 | 'light-heavy': 'final',
19 | };
20 |
21 | const reverseBarTypeDict = {
22 | 'double': 'light-light',
23 | 'final': 'light-heavy',
24 | };
25 |
26 | export class BarException extends Music21Exception {}
27 |
28 | function typeToMusicXMLBarStyle(value: string): string {
29 | if (reverseBarTypeDict[value] !== undefined) {
30 | return reverseBarTypeDict[value];
31 | } else {
32 | return value;
33 | }
34 | }
35 |
36 | function standardizeBarType(value: string='regular'): string {
37 | value = value.toLowerCase();
38 |
39 | if (barTypeList.includes(value)) {
40 | return value;
41 | }
42 | if (barTypeDict[value] !== undefined) {
43 | return barTypeDict[value];
44 | }
45 | throw new BarException(`cannot process style: ${value}`);
46 | }
47 |
48 | export class Barline extends base.Music21Object {
49 | _type: string;
50 | location: string;
51 |
52 | static get className() { return 'music21.bar.Barline'; }
53 |
54 | constructor(type='regular', location='right') {
55 | super();
56 |
57 | this.type = type;
58 | this.location = location; // left, right, middle, None
59 | }
60 |
61 | get type(): string {
62 | return this._type;
63 | }
64 |
65 | set type(v: string) {
66 | this._type = standardizeBarType(v);
67 | }
68 |
69 | musicXMLBarStyle(): string {
70 | return typeToMusicXMLBarStyle(this.type);
71 | }
72 | }
73 |
74 | export default Barline;
75 |
--------------------------------------------------------------------------------
/src/converter.ts:
--------------------------------------------------------------------------------
1 | import { ScoreParser as MusicXMLScoreParser } from './musicxml/xmlToM21';
2 |
3 | export function parse(txt: string) {
4 | const sp = new MusicXMLScoreParser();
5 | return sp.scoreFromText(txt);
6 | }
7 |
--------------------------------------------------------------------------------
/src/debug.ts:
--------------------------------------------------------------------------------
1 | export const debug: boolean = false;
2 |
--------------------------------------------------------------------------------
/src/defaults.ts:
--------------------------------------------------------------------------------
1 | export const defaults = {
2 | appendLocation: 'body',
3 | };
4 |
5 | export default defaults;
6 |
--------------------------------------------------------------------------------
/src/derivation.ts:
--------------------------------------------------------------------------------
1 | import { Music21Object } from './base'; // just for typing
2 |
3 | export class Derivation {
4 | client: Music21Object; // base.Music21Object
5 | method: string;
6 | origin: Music21Object; // base.Music21Object
7 |
8 | constructor(client: Music21Object) {
9 | this.client = client;
10 | }
11 |
12 | clone(): Derivation {
13 | const newThing = new Derivation(this.client);
14 | newThing.method = this.method;
15 | newThing.origin = this.origin;
16 | return newThing;
17 | }
18 |
19 | * chain(): Generator {
20 | let origin = this.origin;
21 | while (origin !== undefined) {
22 | yield origin;
23 | origin = origin.derivation.origin;
24 | }
25 | }
26 |
27 | rootDerivation(): Music21Object|undefined {
28 | const derivationChain = Array.from(this.chain());
29 | if (derivationChain.length) {
30 | return derivationChain[derivationChain.length - 1];
31 | } else {
32 | return undefined;
33 | }
34 | }
35 | }
36 |
37 |
38 | export default Derivation;
39 |
--------------------------------------------------------------------------------
/src/editorial.ts:
--------------------------------------------------------------------------------
1 | /**
2 | * music21j -- Javascript reimplementation of Core music21p features.
3 | * music21/editorial -- Representations of editorial information
4 | *
5 | * Copyright (c) 2013-24, Michael Scott Asato Cuthbert
6 | * Based on music21 (=music21p), Copyright (c) 2006-24, Michael Scott Asato Cuthbert
7 | */
8 |
9 | import { ProtoM21Object } from './prebase';
10 |
11 | export class Editorial extends ProtoM21Object implements Record {
12 | static get className() { return 'music21.editorial.Editorial'; }
13 |
14 | comments: any[] = [];
15 | // noinspection JSUnusedGlobalSymbols
16 | footnotes: any[] = [];
17 |
18 | // these are already deprecated.
19 | // noinspection JSUnusedGlobalSymbols
20 | ficta: any = undefined;
21 | // noinspection JSUnusedGlobalSymbols
22 | harmonicInterval: any = undefined;
23 | // noinspection JSUnusedGlobalSymbols
24 | melodicInterval: any = undefined;
25 | }
26 |
27 | export default Editorial;
28 |
--------------------------------------------------------------------------------
/src/exceptions21.ts:
--------------------------------------------------------------------------------
1 | // this is not completely working properly...
2 | class ExtendableError extends Error {
3 | constructor(message: string) {
4 | super();
5 | // restore prototype chain
6 | const actualProto = new.target.prototype;
7 |
8 | Object.setPrototypeOf(this, actualProto);
9 | this.name = this.constructor.name;
10 | this.message = message;
11 | this.stack = new Error(message).stack;
12 | // until this lands in Node
13 | // if (typeof Error.captureStackTrace === 'function') {
14 | // Error.captureStackTrace(this, this.constructor);
15 | // } else {
16 | // this.stack = new Error(message).stack;
17 | // }
18 | }
19 | }
20 |
21 | export class Music21Exception extends ExtendableError {}
22 |
23 | export class StreamException extends Music21Exception {}
24 |
--------------------------------------------------------------------------------
/src/harmony.ts:
--------------------------------------------------------------------------------
1 | import * as chord from './chord';
2 | import * as key from './key';
3 |
4 | export class Harmony extends chord.Chord {
5 | static get className() { return 'music21.harmony.Harmony'; }
6 |
7 | protected _writeAsChord: boolean = false;
8 | protected _roman;
9 | chordStepModifications = [];
10 | protected _degreesList = [];
11 | protected _key: key.Key;
12 | protected _figure: string;
13 |
14 | constructor(
15 | figure: string,
16 | {
17 | parseFigure=true,
18 | updatePitches=false,
19 | }={}
20 | ) {
21 | super();
22 | // this._updateBasedOnXMLInput(keywords);
23 | figure = figure.replace('/o', 'ø');
24 | this._figure = figure;
25 | if (parseFigure !== false && this._figure !== undefined) {
26 | this._parseFigure();
27 | }
28 | if (
29 | this._overrides.bass === undefined
30 | && this._overrides.root !== undefined
31 | ) {
32 | this.bass(this._overrides.root);
33 | }
34 | if (
35 | (updatePitches && this._figure !== undefined)
36 | || this._overrides.root !== undefined
37 | || this._overrides.bass !== undefined
38 | ) {
39 | this._updatePitches();
40 | }
41 | // this._updateBasedOnXMLInput(keywords);
42 | if (
43 | parseFigure !== false
44 | && this._figure !== undefined
45 | && this._figure.indexOf('sus') !== -1
46 | && this._figure.indexOf('sus2') === -1
47 | ) {
48 | this.root(this.bass());
49 | }
50 | }
51 |
52 | _parseFigure() {}
53 |
54 | _updatePitches() {}
55 |
56 | get figure(): string {
57 | if (this._figure === undefined) {
58 | this.findFigure();
59 | }
60 | return this._figure;
61 | }
62 |
63 | set figure(newFigure: string) {
64 | this._figure = newFigure;
65 | if (this._figure !== undefined) {
66 | this._parseFigure();
67 | this._updatePitches();
68 | }
69 | }
70 |
71 | get key(): key.Key {
72 | return this._key;
73 | }
74 |
75 | set key(keyOrScale: key.Key) {
76 | if (typeof keyOrScale === 'string') {
77 | this._key = new key.Key(keyOrScale);
78 | } else {
79 | this._key = keyOrScale;
80 | this._roman = undefined;
81 | }
82 | }
83 |
84 | findFigure() {}
85 | }
86 |
--------------------------------------------------------------------------------
/src/musicxml.ts:
--------------------------------------------------------------------------------
1 | import * as m21ToXml from './musicxml/m21ToXml';
2 | import * as xmlToM21 from './musicxml/xmlToM21';
3 |
4 | export { m21ToXml, xmlToM21 };
5 |
--------------------------------------------------------------------------------
/src/style.ts:
--------------------------------------------------------------------------------
1 | import * as prebase from './prebase';
2 |
3 | export enum Enclosure {
4 | // noinspection JSUnusedGlobalSymbols
5 | RECTANGLE = 'rectangle',
6 | SQUARE = 'square',
7 | OVAL = 'oval',
8 | CIRCLE = 'circle',
9 | BRACKET = 'bracket',
10 | TRIANGLE = 'triangle',
11 | DIAMOND = 'diamond',
12 | PENTAGON = 'pentagon',
13 | HEXAGON = 'hexagon',
14 | HEPTAGON = 'heptagon',
15 | OCTAGON = 'octagon',
16 | NONAGON = 'nonagon',
17 | DECAGON = 'decagon',
18 | NONE = 'none', // special. sets to undefined
19 | }
20 |
21 |
22 | // noinspection JSUnusedGlobalSymbols
23 | export class Style extends prebase.ProtoM21Object {
24 | // size: number|undefined;
25 | relativeX: number|undefined;
26 | relativeY: number|undefined;
27 | absoluteX: number|undefined;
28 | absoluteY: number|undefined;
29 | enclosure: Enclosure|undefined;
30 | // fontRepresentation
31 | color: string|undefined;
32 | // units: string = 'tenths';
33 | hideObjectOnPrint: boolean = false;
34 | }
35 |
--------------------------------------------------------------------------------
/src/tie.ts:
--------------------------------------------------------------------------------
1 | /**
2 | * music21j -- Javascript reimplementation of Core music21p features.
3 | * music21/tie -- ties!
4 | *
5 | * Copyright (c) 2013-24, Michael Scott Asato Cuthbert
6 | * Based on music21 (=music21p), Copyright (c) 2006-24, Michael Scott Asato Cuthbert
7 | *
8 | */
9 |
10 | import * as prebase from './prebase';
11 | import { Music21Exception } from './exceptions21';
12 |
13 | const VALID_TIE_TYPES = ['start', 'stop', 'continue', 'let-ring', 'continue-let-ring'];
14 |
15 | /**
16 | * Tie class. Found in music21.note.GeneralNote `.tie`.
17 | *
18 | * Does not support advanced music21p values `.to` and `.from`
19 | *
20 | * @param {string} type - 'start', 'stop', 'continue', or 'let-ring'
21 | * @property {string} type - the tie type
22 | * @property {string} style - only supports 'normal' for now.
23 | * @property {string|undefined} placement - undefined = unknown or above/below.
24 | * (NB currently does nothing)
25 | */
26 | export class Tie extends prebase.ProtoM21Object {
27 | static get className() { return 'music21.tie.Tie'; }
28 |
29 | protected _type: string;
30 | style: string = 'normal';
31 | placement: string;
32 |
33 | constructor(type: string = 'start') {
34 | super();
35 | this.type = type;
36 | }
37 |
38 | stringInfo(): string {
39 | return this.type;
40 | }
41 |
42 | get type(): string {
43 | return this._type;
44 | }
45 |
46 | set type(newType: string) {
47 | if (!VALID_TIE_TYPES.includes(newType)) {
48 | throw new Music21Exception(
49 | `Type must be one of ${VALID_TIE_TYPES}, not ${newType}`
50 | );
51 | }
52 | this._type = newType;
53 | }
54 | }
55 |
56 |
--------------------------------------------------------------------------------
/src/types.ts:
--------------------------------------------------------------------------------
1 | import type {Music21Object} from './base';
2 |
3 | // note: mixing both string and types in a list is not supported.
4 | export type ClassFilterType = string|string[]|(new() => Music21Object)|(new() => Music21Object)[]
5 |
6 | export enum StaveConnector {
7 | SINGLE = 'single',
8 | DOUBLE = 'double',
9 | BRACE = 'brace',
10 | BRACKET = 'bracket',
11 | }
12 |
--------------------------------------------------------------------------------
/start_python_server.py:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env pyhthon
2 | '''
3 | Starts a very basic python-based webserver for debugging.
4 |
5 | It's very important that this server be started in the main music21j directory, not in just any
6 | directory, so call
7 |
8 | cd ~/git/music21j
9 | python server/start_python_server.py
10 |
11 | '''
12 | import sys
13 |
14 | try:
15 | from BaseHTTPServer import HTTPServer
16 | from CGIHTTPServer import CGIHTTPRequestHandler
17 | from CGIHTTPServer import _url_collapse_path
18 | except ImportError: # python 3
19 | from http.server import HTTPServer
20 | from http.server import CGIHTTPRequestHandler
21 | from http.server import _url_collapse_path
22 |
23 |
24 | try:
25 | import cgitb;
26 | cgitb.enable() # Error reporting
27 | except ImportError:
28 | pass # deprecated in Python 3.11 to be removed in 3.13. Not necessary.
29 |
30 |
31 | class MykeCGIHTTPServer(CGIHTTPRequestHandler):
32 | def is_cgi(self):
33 | """
34 | Test whether self.path corresponds to a CGI script.
35 |
36 | Returns True and updates the cgi_info attribute to the tuple
37 | (dir, rest) if self.path requires running a CGI script.
38 | Returns False otherwise.
39 |
40 | If any exception is raised, the caller should assume that
41 | self.path was rejected as invalid and act accordingly.
42 |
43 | The default implementation tests whether the normalized url
44 | path begins with one of the strings in self.cgi_directories
45 | (and the next character is a '/' or the end of the string).
46 | """
47 | collapsed_path = _url_collapse_path(self.path)
48 | for path in self.cgi_directories:
49 | if path in collapsed_path:
50 | dir_sep_index = collapsed_path.rfind(path) + len(path)
51 | head, tail = collapsed_path[:dir_sep_index], collapsed_path[dir_sep_index + 1:]
52 | self.cgi_info = head, tail
53 | return True
54 | return False
55 |
56 | def main():
57 | server = HTTPServer
58 | handler = MykeCGIHTTPServer
59 |
60 | # handler.cgi_directories.append("/server/cgi-bin/")
61 | if len(sys.argv) > 1:
62 | port = int(sys.argv[1])
63 | else:
64 | port = 8000
65 |
66 | server_address = ("", port)
67 | httpd = server(server_address, handler)
68 | print("Beginning HTTP/CGI server at " + str(port));
69 | httpd.serve_forever()
70 |
71 | if __name__ == '__main__':
72 | main()
73 |
--------------------------------------------------------------------------------
/testHTML/autobeam_m21j_test.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | Title
7 |
8 |
9 | Test music21j autobeam
10 |
11 |
12 |
28 |
29 |
30 |
--------------------------------------------------------------------------------
/testHTML/chord_violin_test.html:
--------------------------------------------------------------------------------
1 |
2 |
3 | Hi
4 |
5 |
6 |
7 | Just a single chord that plays with a violin sound when loaded and clicked.
8 |
9 |
21 |
22 |
23 |
--------------------------------------------------------------------------------
/testHTML/crossSiteTest.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
12 |
13 |
14 |
--------------------------------------------------------------------------------
/testHTML/demo-Cuthbert.html:
--------------------------------------------------------------------------------
1 |
2 |
3 | First music21j demo
4 |
5 |
6 |
7 |
8 |
9 |
10 | This was the oldest/first experiment with music21j, from summer 2013. Updated so it still works.
11 | Only for historical nostalgia...
12 |
17 |
18 |
65 |
66 |
67 |
68 |
--------------------------------------------------------------------------------
/testHTML/es6.html:
--------------------------------------------------------------------------------
1 |
2 |
3 | Pure ES6 tests
4 |
5 |
6 |
7 |
8 | Pure ES6 test. Click the score and the note will go up one pitch.
9 |
10 |
22 |
23 |
24 |
--------------------------------------------------------------------------------
/testHTML/jsdoctest.js:
--------------------------------------------------------------------------------
1 | /**
2 | *
3 | * Btw -- NOTHING here works. jsdoc in Eclipse has a LONG way to go... defineProperties, etc.
4 | *
5 | * shows america who is boss
6 | *
7 | * @constructor
8 | */
9 | var X = function () {
10 | this.y = 7;
11 | /**
12 | * heya
13 | *
14 | * @returns {string}
15 | */
16 | this.yahoo = function () {
17 | return 'yahoo!';
18 | };
19 | };
20 |
21 | /**
22 | * @constructor
23 | * @property {X} x - returns an X object
24 | */
25 | var Component = function (options) {
26 | /**
27 | Whether this component is visible or not
28 |
29 | @type Boolean
30 | @default false
31 | */
32 | this.visible = options.visible;
33 |
34 | this.x = new X();
35 | /** @type {String} */
36 | this.name = options.name;
37 | /**
38 | * Returns this.name plus hi
39 | *
40 | * @param {string} hi - a string to say hi to
41 | * @returns string
42 | */
43 | this.helloIt = function (hi) {
44 | return this.name + hi;
45 | };
46 | };
47 |
48 | com = new Component({name: 'hello'});
49 | xxx = new X();
--------------------------------------------------------------------------------
/testHTML/keyboard.html:
--------------------------------------------------------------------------------
1 |
2 |
3 | Piano Keyboard!
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 | A keyboard that can be clicked on.
12 |
13 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/testHTML/keyboardJazz.html:
--------------------------------------------------------------------------------
1 |
2 |
3 | Piano Keyboard!
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
34 |
35 |
36 |
37 |
38 |
--------------------------------------------------------------------------------
/testHTML/layout.html:
--------------------------------------------------------------------------------
1 |
2 |
3 | fancy layout
4 |
5 |
6 |
7 |
8 |
9 |
10 | layout tests -- experimental. The ls
object has a LayoutScore
11 |
12 |
13 |
23 |
24 |
25 |
--------------------------------------------------------------------------------
/testHTML/midiInChords.html:
--------------------------------------------------------------------------------
1 |
2 |
3 | MIDI In Chords for Music21j
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 | MIDI Input:
12 |
13 |
14 | Chord and Duration rendering and Metronome Demo.
15 |
16 | Requires MIDI keyboard and Jazz Plugin to work.
17 |
18 |
19 |
20 |
21 |
22 |
23 |
55 |
56 |
57 |
58 |
--------------------------------------------------------------------------------
/testHTML/midiInKeyChords.html:
--------------------------------------------------------------------------------
1 |
2 |
3 | MIDI In Chords for Music21j
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 | MIDI Input:
12 |
13 |
14 | Chord and Duration rendering and Metronome Demo.
15 |
16 |
17 | Requires MIDI keyboard and WebMIDI(Chrome) or Jazz Plugin to work.
18 |
19 |
20 |
21 |
22 |
23 |
64 |
65 |
66 |
67 |
--------------------------------------------------------------------------------
/testHTML/midiInRequire.html:
--------------------------------------------------------------------------------
1 |
2 |
3 | MIDI In/Jazz Test for Music21j
4 |
5 |
6 |
7 |
8 |
9 |
10 |
13 |
14 |
15 |
16 |
20 |
21 |
22 |
23 |
--------------------------------------------------------------------------------
/testHTML/musicxmlTest.html:
--------------------------------------------------------------------------------
1 |
2 |
3 | MusicXML Parse Test
4 |
5 |
6 |
7 |
8 |
9 | MusicXML rendering test
10 | This page should render a four-part Bach chorale (BWV66.6 measures 3-6)
11 |
16 |
17 |
18 |
--------------------------------------------------------------------------------
/testHTML/pickleM21.html:
--------------------------------------------------------------------------------
1 |
2 |
3 | Pickle Test
4 |
5 |
6 |
7 |
8 | A test of pickling and unpickling with jsonpickleJS
9 | Not currently working in 2019 December
10 |
11 |
45 |
46 |
47 |
48 |
--------------------------------------------------------------------------------
/testHTML/pitchEditing.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Pitch Editing
6 |
7 |
8 |
9 |
10 | Testing alterable pitches in the score
11 | A bug makes it so that the accidental button does not redraw the systems.
12 |
13 |
14 |
27 |
28 |
29 |
30 |
--------------------------------------------------------------------------------
/testHTML/pitchEditing_long_score.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Pitch Editing
6 |
7 |
8 |
9 | Testing alterable pitches in a long score
10 |
11 |
12 |
13 | Testing alterable pitches in a long, scrolling SINGLE PART
14 |
18 |
19 |
20 |
21 |
55 |
56 |
57 |
--------------------------------------------------------------------------------
/testHTML/recordAudio.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
11 |
12 |
13 |
40 |
41 |
Record
42 |
Save
43 |
Download
44 |
45 |
46 |
47 |
48 |
49 |
50 | After music21 has loaded, click on Record
to start
51 | audio recording (you may need to give permissions and you will
52 | need to be running over https if not on localhost). Then after
53 | recording you will see your waveform on the right. Click that
54 | to play back. Click save / download to get a copy.
55 |
56 |
57 | Unknown bug -- sometimes does not work a second time if
58 | refresh is hit.
59 |
60 |
61 |
62 |
68 |
69 |
70 |
--------------------------------------------------------------------------------
/testHTML/renderTinyNotationDivs.html:
--------------------------------------------------------------------------------
1 |
2 |
3 | Render tinyNotation divs
4 |
5 |
6 |
7 |
8 |
9 |
10 | Just testing down here -- automatic rendering of TinyNotation;
11 |
12 | To use it, install music21 with
npm install music21j
and then put in your HTML:
13 |
14 | <script src="node_modules/releases/music21.min.js"></script>
15 | <script>
16 | music21.tinyNotation.renderNotationDivs();
17 | </script>
18 |
19 |
The second script
is only necessary if the divs already exist
20 |
21 |
22 |
23 | set
class=""music21 tinyNotation"
or
24 |
"music21 tinyNotation noPlayback"
25 |
26 |
27 | <div class="music21 tinyNotation">c4 d8 e8 f2</div> (click me)
28 |
29 |
c4 d8 e8 f2
30 |
31 |
32 |
33 | <div class="music21 tinyNotation noPlayback">3/4 D8. F#16 E8 F Gn A C#2. D2.</div> (clicking does nothing)
34 |
35 |
3/4 D8. F#16
36 | E8 F Gn A c#2. d2.
37 |
38 |
39 |
40 |
41 |
Here is a multipart tinyNotation with the partBreak
code
42 |
g2 f2 partBreak C4 D8 E8 F2
43 |
44 |
45 |
46 |
47 |
48 |
--------------------------------------------------------------------------------
/testHTML/sfElsewhereCDN.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | Embed Soundfonts from elsewhere
7 |
8 |
9 |
10 | Embed Soundfonts from elsewhere
11 | This script (view source) shows how music21 can be embedded (like in a Fiddle) and
12 | load soundfonts from elsewhere.
13 |
14 | Click me!
15 |
16 |
19 |
22 |
33 |
34 |
35 |
--------------------------------------------------------------------------------
/tests/gruntTest.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Music21 QUnit Grunt Tests
6 |
7 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
--------------------------------------------------------------------------------
/tests/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Music21 QUnit Tests
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
41 |
42 |
43 |
--------------------------------------------------------------------------------
/tests/loadAll.ts:
--------------------------------------------------------------------------------
1 | import * as QUnit from 'qunit';
2 |
3 | import articulations from './moduleTests/articulations';
4 | import base from './moduleTests/base';
5 | import beam from './moduleTests/beam';
6 | import chord from './moduleTests/chord';
7 | import clef from './moduleTests/clef';
8 | import common from './moduleTests/common';
9 | import duration from './moduleTests/duration';
10 | import dynamics from './moduleTests/dynamics';
11 | import editorial from './moduleTests/editorial';
12 | import figuredBass from './moduleTests/figuredBass';
13 | import interval from './moduleTests/interval';
14 | import iterator from './moduleTests/stream/iterator';
15 | import key from './moduleTests/key';
16 | import meter from './moduleTests/meter';
17 | import note from './moduleTests/note';
18 | import pitch from './moduleTests/pitch';
19 | import prebase from './moduleTests/prebase';
20 | import roman from './moduleTests/roman';
21 | import scale from './moduleTests/scale';
22 | import sites from './moduleTests/sites';
23 | import stream from './moduleTests/stream';
24 | import tempo from './moduleTests/tempo';
25 | import tie from './moduleTests/tie';
26 | import tinyNotation from './moduleTests/tinyNotation';
27 | import vfShow from './moduleTests/vfShow';
28 | import voiceLeading from './moduleTests/voiceLeading';
29 |
30 | import * as music21 from '../src/main';
31 |
32 | const allTests = {
33 | articulations,
34 | base,
35 | beam,
36 | chord,
37 | clef,
38 | common,
39 | duration,
40 | dynamics,
41 | editorial,
42 | figuredBass,
43 | interval,
44 | iterator,
45 | key,
46 | meter,
47 | note,
48 | pitch,
49 | prebase,
50 | roman,
51 | scale,
52 | sites,
53 | stream,
54 | tempo,
55 | tinyNotation,
56 | tie,
57 | vfShow,
58 | voiceLeading,
59 | };
60 | if (typeof window !== 'undefined') {
61 | (window as any).allTests = allTests;
62 | (window as any).music21 = music21;
63 | (window as any).QUnit = QUnit;
64 | }
65 | // noinspection JSUnusedGlobalSymbols
66 | export default allTests;
67 |
--------------------------------------------------------------------------------
/tests/moduleTests/articulations.ts:
--------------------------------------------------------------------------------
1 | import * as QUnit from 'qunit';
2 | import * as music21 from '../../src/main';
3 |
4 | const { test } = QUnit;
5 |
6 | export default function tests() {
7 | test('music21.articulations.Articulation', assert => {
8 | const acc = new music21.articulations.Accent();
9 | assert.equal(acc.name, 'accent', 'matching names for accent');
10 | const ten = new music21.articulations.Tenuto();
11 | assert.equal(ten.name, 'tenuto', 'matching names for tenuto');
12 | const n = new music21.note.Note('C');
13 | n.articulations.push(acc);
14 | n.articulations.push(ten);
15 | assert.equal(n.articulations[0].name, 'accent', 'accent in array');
16 | assert.equal(n.articulations[1].name, 'tenuto', 'tenuto in array');
17 | });
18 |
19 | test('music21.articulations.Articulation display', assert => {
20 | // Marcato is a pseudo multiple inheritance
21 | const marc = new music21.articulations.Marcato();
22 | assert.equal(marc.name, 'marcato', 'matching names for marcato');
23 | const n = new music21.note.Note('D#5');
24 | n.articulations.push(marc);
25 | const nBoring = new music21.note.Note('D#5');
26 |
27 | const measure = new music21.stream.Measure();
28 | measure.append(n);
29 | measure.append(nBoring);
30 | measure.append(nBoring.clone());
31 | measure.append(n.clone());
32 | measure.appendNewDOM();
33 | assert.ok(true, 'something worked');
34 | });
35 | }
36 |
--------------------------------------------------------------------------------
/tests/moduleTests/beam.ts:
--------------------------------------------------------------------------------
1 | import * as QUnit from 'qunit';
2 | import * as music21 from '../../src/main';
3 |
4 | const { test } = QUnit;
5 |
6 |
7 | export default function tests() {
8 | test('music21.beam.Beams setAll', assert => {
9 | const a = new music21.beam.Beams();
10 | a.fill('16th');
11 | a.setAll('start');
12 |
13 | assert.equal(a.getTypes()[0], 'start');
14 | assert.equal(a.getTypes()[1], 'start');
15 | });
16 |
17 | test('music21.beam.Beams setByNumber', assert => {
18 | const b = new music21.beam.Beams();
19 | b.fill('16th');
20 | b.setAll('start');
21 |
22 | b.setByNumber(1, 'continue');
23 | assert.equal(b.beamsList[0].type, 'continue');
24 | assert.equal(b.getTypeByNumber(1), 'continue');
25 |
26 | b.setByNumber(2, 'stop');
27 | assert.equal(b.beamsList[1].type, 'stop');
28 | assert.equal(b.getTypeByNumber(2), 'stop');
29 |
30 | b.setByNumber(2, 'partial-right');
31 | assert.equal(b.beamsList[1].type, 'partial');
32 | assert.equal(b.getTypeByNumber(2), 'partial-right');
33 | assert.equal(b.beamsList[1].direction, 'right');
34 | });
35 | }
36 |
--------------------------------------------------------------------------------
/tests/moduleTests/chord.ts:
--------------------------------------------------------------------------------
1 | import * as QUnit from 'qunit';
2 | import * as music21 from '../../src/main';
3 |
4 | const { test } = QUnit;
5 |
6 | export default function tests() {
7 | test('music21.chord.Chord', assert => {
8 | let c = new music21.chord.Chord(['C5', 'E5', 'G5']);
9 |
10 | assert.equal(c.length, 3, 'Checking length of Chord');
11 | assert.ok(c.isMajorTriad(), 'C E G should be a major triad');
12 | assert.equal(
13 | c.isMinorTriad(),
14 | false,
15 | 'C E G should not be minor triad'
16 | );
17 | assert.equal(c.canBeTonic(), true, 'C E G can be a tonic');
18 |
19 | // string construction
20 | c = new music21.chord.Chord('C5 E5 G5');
21 | assert.equal(c.length, 3, 'Checking length of Chord');
22 | assert.ok(c.isMajorTriad(), 'test chord construction from string');
23 |
24 | c = new music21.chord.Chord(['B', 'G', 'D', 'F']);
25 | assert.ok(c.isDominantSeventh());
26 |
27 | // test is sorted:
28 | c = new music21.chord.Chord('C5 E4 G3');
29 | const pitches = c.pitches;
30 | assert.equal(pitches[0].nameWithOctave, 'G3');
31 | assert.equal(pitches[2].nameWithOctave, 'C5');
32 |
33 | const s = new music21.stream.Measure();
34 | s.append(c);
35 | s.appendNewDOM();
36 | });
37 |
38 | test('music21.chord.Chord sortPitches', assert => {
39 | // Same ps, but diatonicNoteNum is out of order.
40 | let c = new music21.chord.Chord(['Bb4', 'A#4']);
41 | let [note1, note2] = c.notes;
42 | assert.equal(note1.pitch.nameWithOctave, 'A#4');
43 | assert.equal(note2.pitch.nameWithOctave, 'B-4');
44 |
45 | // Same diatonicNoteNum, but ps is out of order.
46 | c = new music21.chord.Chord(['B4', 'Bb4']);
47 | [note1, note2] = c.notes;
48 | assert.equal(note1.pitch.nameWithOctave, 'B-4');
49 | assert.equal(note2.pitch.nameWithOctave, 'B4');
50 | });
51 | }
52 |
--------------------------------------------------------------------------------
/tests/moduleTests/clef.ts:
--------------------------------------------------------------------------------
1 | import * as QUnit from 'qunit';
2 | import * as music21 from '../../src/main';
3 |
4 | const { test } = QUnit;
5 |
6 | export default function tests() {
7 | test('music21.clef.Clef', assert => {
8 | const c1 = new music21.clef.Clef();
9 | assert.ok(c1.isClassOrSubclass('Clef'), 'clef is a Clef');
10 |
11 | const ac = new music21.clef.AltoClef();
12 | assert.equal(ac.lowestLine, 25, 'first line set');
13 | const n = new music21.note.Note('C#4');
14 | n.setStemDirectionFromClef(ac);
15 | assert.equal(n.stemDirection, 'down', 'stem direction set to down');
16 | n.pitch.diatonicNoteNum -= 1;
17 | n.setStemDirectionFromClef(ac);
18 | assert.equal(n.stemDirection, 'up', 'stem direction set');
19 | n.pitch.diatonicNoteNum += 1;
20 | const p2 = ac.convertPitchToTreble(n.pitch);
21 | assert.equal(p2.nameWithOctave, 'B#4', 'converted to treble');
22 | });
23 | test('music21.clef.Clef 8va', assert => {
24 | const ac = new music21.clef.Treble8vaClef();
25 | assert.equal(ac.lowestLine, 38, 'first line set');
26 | const n = new music21.note.Note('C#5');
27 | n.setStemDirectionFromClef(ac);
28 | assert.equal(n.stemDirection, 'up', 'stem direction set');
29 | const p2 = ac.convertPitchToTreble(n.pitch);
30 | assert.equal(p2.nameWithOctave, 'C#4', 'converted to treble');
31 | const s = new music21.stream.Stream();
32 | s.clef = ac;
33 | s.append(n);
34 | s.appendNewDOM();
35 | });
36 | test('music21.clef clefFromString', assert => {
37 | const tc = music21.clef.clefFromString('treble');
38 | assert.ok(tc.isClassOrSubclass('TrebleClef'), 'tc is TrebleClef');
39 | const tc2 = music21.clef.clefFromString('treble8va');
40 | assert.ok(tc2.isClassOrSubclass('Treble8vaClef'), 'tc2 is Treble8vaClef');
41 | const bc = music21.clef.clefFromString('F4');
42 | assert.ok(bc.isClassOrSubclass('BassClef'), 'bc is BassClef');
43 | });
44 | test('music21.clef bestClef', assert => {
45 | const s = new music21.stream.Stream();
46 | s.append(new music21.note.Note('C5'));
47 | assert.ok(music21.clef.bestClef(s).isClassOrSubclass('TrebleClef'), 'best clef is treble');
48 | s.append(new music21.chord.Chord(['C2', 'E2', 'G2']));
49 | assert.ok(music21.clef.bestClef(s).isClassOrSubclass('BassClef'), 'best clef is bass');
50 | const m = new music21.stream.Measure();
51 | m.append(new music21.chord.Chord(['E7', 'F7', 'G7', 'A7', 'B7', 'C8']));
52 | s.append(m);
53 | assert.ok(music21.clef.bestClef(s).isClassOrSubclass('TrebleClef'), 'best clef is treble');
54 | assert.ok(
55 | music21.clef.bestClef(s, {recurse: false}).isClassOrSubclass('BassClef'),
56 | 'best clef is bass'
57 | );
58 | });
59 | }
60 |
--------------------------------------------------------------------------------
/tests/moduleTests/common.ts:
--------------------------------------------------------------------------------
1 | import * as QUnit from 'qunit';
2 | import * as music21 from '../../src/main';
3 |
4 | const common = music21.common;
5 |
6 | const { test } = QUnit;
7 |
8 |
9 | export default function tests() {
10 | test('music21.common.posMod', assert => {
11 | assert.equal(common.posMod(8, 7), 1, 'positive posMod passed');
12 | assert.equal(common.posMod(-1, 7), 6, 'negative posMod passed');
13 | assert.equal(common.posMod(-15, 7), 6, 'big negative posMod passed');
14 | });
15 |
16 | test('music21.common.fromRoman', assert => {
17 | assert.equal(common.fromRoman('I'), 1, 'first roman passed');
18 | assert.equal(common.fromRoman('LX'), 60, 'LX roman passed');
19 | assert.equal(common.fromRoman('XC'), 90, 'XC subtraction roman passed');
20 | assert.equal(
21 | common.fromRoman('xc'),
22 | 90,
23 | 'lowercase subtraction roman passed'
24 | );
25 | assert.equal(common.fromRoman('VIII'), 8, 'max RN passed');
26 | assert.equal(common.fromRoman('MCDLXXXIX'), 1489, 'big roman passed');
27 | });
28 |
29 | test('music21.common.toRoman', assert => {
30 | assert.equal(common.toRoman(1), 'I', 'first roman passed');
31 | assert.equal(common.toRoman(2), 'II', '2 passed');
32 | assert.equal(common.toRoman(7), 'VII', '7 passed');
33 | assert.equal(common.toRoman(1999), 'MCMXCIX', '1999 passed');
34 | });
35 |
36 | test('music21.common.opFrac', assert => {
37 | assert.equal(common.opFrac(1), 1);
38 | assert.equal(common.opFrac((1/5 + 1/5 + 1/5) * 5), 3, 'this is not true w/o opFrac');
39 | assert.notEqual(common.opFrac(0.3333), 1/3);
40 | const n = new music21.note.Note();
41 | n.offset = 0;
42 | for (let i = 0; i < 3; i++) {
43 | n.offset += 0.333333333333;
44 | }
45 | assert.equal(n.offset, 1, 'offset uses opFrac');
46 | assert.equal(common.opFrac(0.000001), 0);
47 | });
48 | }
49 |
--------------------------------------------------------------------------------
/tests/moduleTests/dynamics.ts:
--------------------------------------------------------------------------------
1 | import * as QUnit from 'qunit';
2 | import * as music21 from '../../src/main';
3 |
4 | const { test } = QUnit;
5 |
6 | export default function tests() {
7 | test('music21.dynamics.Dynamic', assert => {
8 | let dynamic = new music21.dynamics.Dynamic('pp');
9 | assert.equal(dynamic.value, 'pp', 'matching dynamic');
10 |
11 | dynamic = new music21.dynamics.Dynamic(0.98);
12 | assert.equal(dynamic.value, 'fff', 'number conversion successful');
13 | assert.equal(dynamic.volumeScalar, 0.98, 'correct volume');
14 | assert.equal(dynamic.longName, 'fortississimo', 'matching long name');
15 | assert.equal(
16 | dynamic.englishName,
17 | 'extremely loud',
18 | 'matching english names'
19 | );
20 |
21 | dynamic = new music21.dynamics.Dynamic('other');
22 | assert.equal(dynamic.value, 'other', 'record non standard dynamic');
23 | assert.equal(
24 | dynamic.longName,
25 | '',
26 | 'no long name for non standard dynamic'
27 | );
28 | assert.equal(
29 | dynamic.englishName,
30 | '',
31 | 'no english name for non standard dynamic'
32 | );
33 |
34 | dynamic.value = 0.18;
35 | assert.equal(dynamic.value, 'pp', 'change in dynamic');
36 | assert.equal(dynamic.volumeScalar, 0.18, 'change in volume');
37 |
38 | dynamic.value = 'other';
39 | assert.equal(dynamic.value, 'other', 'change to non standard');
40 | assert.equal(
41 | dynamic.longName,
42 | '',
43 | 'change to non standard dynamic'
44 | );
45 | assert.equal(
46 | dynamic.englishName,
47 | '',
48 | 'change to non standard dynamic'
49 | );
50 | });
51 | }
52 |
--------------------------------------------------------------------------------
/tests/moduleTests/editorial.ts:
--------------------------------------------------------------------------------
1 | import * as QUnit from 'qunit';
2 | import * as music21 from '../../src/main';
3 |
4 | const { test } = QUnit;
5 |
6 | export default function tests() {
7 | test('music21.editorial.Editorial', assert => {
8 | const n = new music21.note.Note();
9 | assert.notOk(n.hasEditorialInformation, 'newly created note has no editorialInformation');
10 | assert.ok(n.editorial instanceof music21.editorial.Editorial);
11 | assert.ok(n.hasEditorialInformation);
12 | const ed = n.editorial;
13 | ed.hello = true;
14 | assert.ok(ed.hello);
15 | });
16 | }
17 |
--------------------------------------------------------------------------------
/tests/moduleTests/figuredBass.ts:
--------------------------------------------------------------------------------
1 | import * as QUnit from 'qunit';
2 | import * as music21 from '../../src/main';
3 |
4 | const figuredBass = music21.figuredBass;
5 |
6 | const { test } = QUnit;
7 |
8 | export default function tests() {
9 | test('music21.figuredBass.Notation', assert => {
10 | const n1 = new figuredBass.Notation('4+,2');
11 | assert.equal(n1.notationColumn, '4+,2');
12 | });
13 | }
14 |
--------------------------------------------------------------------------------
/tests/moduleTests/interval.ts:
--------------------------------------------------------------------------------
1 | import * as QUnit from 'qunit';
2 | import * as music21 from '../../src/main';
3 |
4 | const interval = music21.interval;
5 | const Interval = music21.interval.Interval;
6 |
7 | const { test } = QUnit;
8 |
9 |
10 | export default function tests() {
11 | test('music21.interval.intervalFromGenericAndChromatic', assert => {
12 | const i = interval.intervalFromGenericAndChromatic(2, 2);
13 | assert.equal(i.name, 'M2');
14 | });
15 | test('music21.interval.Interval', assert => {
16 | const i = new Interval('P5');
17 | assert.equal(i.name, 'P5', 'name passed');
18 | assert.equal(i.niceName, 'Perfect Fifth', 'nice name passed');
19 | assert.equal(i.generic.simpleDirected, 5);
20 | });
21 | test('music21.interval.DiatonicInterval', assert => {
22 | const i = new interval.DiatonicInterval('P', 5);
23 | assert.equal(i.specifier, 1);
24 | assert.equal(i.specifierAbbreviation, 'P');
25 | });
26 | }
27 |
--------------------------------------------------------------------------------
/tests/moduleTests/note.ts:
--------------------------------------------------------------------------------
1 | import * as QUnit from 'qunit';
2 | import * as music21 from '../../src/main';
3 |
4 | const { test } = QUnit;
5 |
6 | export default function tests() {
7 | test('music21.note.Note', assert => {
8 | const n = new music21.note.Note('D#5');
9 |
10 | assert.equal(n.pitch.name, 'D#', 'Pitch Name set to D#');
11 | assert.equal(n.pitch.step, 'D', 'Pitch Step set to D');
12 | assert.equal(n.pitch.octave, 5, 'Pitch octave set to 5');
13 | });
14 |
15 | test('music21.note.Note.vexflowNote stems', assert => {
16 | const n1 = new music21.note.Note('C');
17 | const vfn1 = n1.vexflowNote();
18 | assert.ok(vfn1.hasStem());
19 |
20 | const n2 = new music21.note.Note('C');
21 | n2.stemDirection = 'noStem';
22 | const vfn2 = n2.vexflowNote();
23 | assert.notOk(vfn2.hasStem());
24 | });
25 |
26 | test('music21.note.Rest.vexflowNote whole rest', assert => {
27 | const r = new music21.note.Rest();
28 | r.duration.type = 'whole';
29 | const m = new music21.stream.Measure();
30 | m.append(r);
31 |
32 | let vfr = r.vexflowNote({});
33 | assert.equal(vfr.getKeyLine(0), 4);
34 |
35 | m.renderOptions.staffLines = 1;
36 | vfr = r.vexflowNote({});
37 | assert.equal(vfr.getKeyLine(0), 3);
38 | });
39 | }
40 |
--------------------------------------------------------------------------------
/tests/moduleTests/prebase.ts:
--------------------------------------------------------------------------------
1 | import * as QUnit from 'qunit';
2 | import * as music21 from '../../src/main';
3 |
4 | const { test } = QUnit;
5 |
6 | export default function tests() {
7 | test('music21.prebase.ProtoM21Object.classes', assert => {
8 | const n = new music21.note.Note();
9 | assert.deepEqual(n.classes, [
10 | 'Note',
11 | 'NotRest',
12 | 'GeneralNote',
13 | 'Music21Object',
14 | 'ProtoM21Object',
15 | 'object',
16 | ]);
17 | });
18 | test('music21.prebase.ProtoM21Object.isClassOrSubclass', assert => {
19 | const n = new music21.note.Note();
20 | assert.ok(n.isClassOrSubclass('Note'));
21 | assert.ok(n.isClassOrSubclass('GeneralNote'));
22 | assert.ok(n.isClassOrSubclass('music21.note.Note'));
23 | assert.ok(n.isClassOrSubclass(music21.note.Note));
24 | assert.ok(n.isClassOrSubclass([music21.note.Rest, music21.note.Note]));
25 | assert.notOk(n.isClassOrSubclass('Rest'));
26 | });
27 | test('music21.prebase.ProtoM21Object.classSet', assert => {
28 | const n = new music21.note.Note();
29 | assert.ok(n.classSet.has('Note'));
30 | assert.ok(n.classSet.has('GeneralNote'));
31 | assert.ok(n.classSet.has('music21.note.GeneralNote'));
32 | assert.ok(n.classSet.has(music21.note.GeneralNote));
33 | assert.notOk(n.classSet.has('Rest'));
34 | });
35 |
36 | test('music21.prebase.ProtoM21Object.clone', assert => {
37 | const d = new music21.duration.Duration('half');
38 | d.dots = 2;
39 | const d2 = d.clone();
40 | assert.equal(d.quarterLength, d2.quarterLength, 'Prebase duration cloned');
41 |
42 | const n = new music21.note.Note('D4');
43 | const n2 = n.clone();
44 | n.pitch.octave = 5;
45 | assert.equal(
46 | n2.pitch.octave,
47 | 4,
48 | 'Deep Note clone retains separate pitch objects.'
49 | );
50 | const n3 = n.clone(false);
51 | n.pitch.octave = 6;
52 | assert.equal(
53 | n3.pitch.octave,
54 | 6,
55 | 'Shallow Note clone shares a pitch object.'
56 | );
57 | });
58 | }
59 |
--------------------------------------------------------------------------------
/tests/moduleTests/scale.ts:
--------------------------------------------------------------------------------
1 | import * as QUnit from 'qunit';
2 | import * as music21 from '../../src/main';
3 |
4 | const { test } = QUnit;
5 |
6 | export default function tests() {
7 | test('music21.scale.Scale', assert => {
8 | const sc = new music21.scale.Scale();
9 | assert.ok(sc.classes.includes('Scale'));
10 | });
11 | test('music21.scale.AbstractDiatonicScale', assert => {
12 | const sc = new music21.scale.AbstractDiatonicScale('major');
13 | // noinspection TypeScriptUnresolvedVariable
14 | // @ts-ignore
15 | const net = sc._net;
16 | assert.equal(net.length, 7);
17 | assert.equal(net[0].name, 'M2');
18 | const p = new music21.pitch.Pitch('A-');
19 | const pitches = sc.getRealization(p);
20 | assert.equal(pitches.length, 8);
21 | assert.equal(pitches[3].name, 'D-');
22 | assert.equal(sc.getPitchFromNodeDegree(p, undefined, 4).name, 'D-');
23 | });
24 |
25 | test('music21.scale.MajorScale', assert => {
26 | const sc = new music21.scale.MajorScale('F');
27 | assert.equal(sc.tonic.name, 'F');
28 | const pitches = sc.getPitches();
29 | assert.equal(pitches[0].name, 'F');
30 | assert.equal(pitches[1].name, 'G');
31 | assert.equal(pitches[2].name, 'A');
32 | assert.equal(pitches[3].name, 'B-');
33 | assert.equal(pitches[4].name, 'C');
34 | assert.equal(pitches[5].name, 'D');
35 | assert.equal(pitches[6].name, 'E');
36 | assert.equal(pitches[7].name, 'F');
37 | assert.equal(sc.pitchFromDegree(5).name, 'C');
38 | assert.equal(sc.getScaleDegreeFromPitch(new music21.pitch.Pitch('B-')), 4);
39 | });
40 | }
41 |
--------------------------------------------------------------------------------
/tests/moduleTests/sites.ts:
--------------------------------------------------------------------------------
1 | import * as QUnit from 'qunit';
2 | import * as music21 from '../../src/main';
3 |
4 | const { test } = QUnit;
5 |
6 |
7 | export default function tests() {
8 | test('music21.sites.SiteRef', assert => {
9 | const sr = new music21.sites.SiteRef();
10 | assert.ok(!sr.isDead);
11 | assert.equal(
12 | sr.site,
13 | undefined,
14 | 'SiteRef should start undefined'
15 | );
16 | const st = new music21.stream.Measure();
17 | sr.site = st;
18 | sr.classString = st.classes[0];
19 | assert.equal(sr.site, st);
20 | assert.equal(sr.classString, 'Measure');
21 | });
22 |
23 | test('music21.sites.Sites', assert => {
24 | const s = new music21.sites.Sites();
25 | assert.equal(s.length, 1, 'empty sites has length 1');
26 | const st = new music21.stream.Measure();
27 | st.number = 12;
28 | s.add(st);
29 | assert.equal(s.length, 2, 'should have two sites now');
30 | assert.ok(s.includes(st));
31 | // @ts-ignore
32 | const first = s._keysByTime()[0];
33 | assert.equal(first, music21.sites.getId(st));
34 |
35 | let af;
36 | af = Array.from(s.yieldSites(false, st));
37 | assert.equal(af.length, 2);
38 | assert.strictEqual(af[0], st);
39 | af = Array.from(s.yieldSites(false, st, true));
40 | assert.equal(af.length, 1);
41 | assert.strictEqual(af[0], st);
42 |
43 | const mNum = s.getAttrByName('number');
44 | assert.equal(mNum, 12, 'measure number should be 12');
45 |
46 | assert.strictEqual(s.getObjByClass('Measure'), st);
47 | assert.strictEqual(s.getObjByClass('Stream'), st);
48 | assert.notOk(s.getObjByClass('Score'));
49 |
50 | s.clear();
51 | assert.equal(s.length, 1);
52 | });
53 | }
54 |
--------------------------------------------------------------------------------
/tests/moduleTests/stream/iterator.ts:
--------------------------------------------------------------------------------
1 | import * as QUnit from 'qunit';
2 | import * as music21 from '../../../src/main';
3 |
4 | const { test } = QUnit;
5 |
6 | export default function tests() {
7 | test('music21.stream.iterator.OffsetIterator', assert => {
8 | const c = new music21.note.Note('C');
9 | const d = new music21.note.Note('D');
10 | const e = new music21.note.Note('E');
11 | const f = new music21.note.Note('F');
12 | const g = new music21.note.Note('G');
13 | const a = new music21.note.Note('A');
14 |
15 | const s = new music21.stream.Stream();
16 | // CEG triad moving to DFA
17 | s.insert(0, c);
18 | s.insert(1, d);
19 | s.insert(0, e);
20 | s.insert(1, f);
21 | s.insert(0, g);
22 | s.insert(1, a);
23 |
24 | const iter = new music21.stream.iterator.OffsetIterator(s);
25 | assert.equal(iter.length, 2);
26 | assert.deepEqual(Array.from(iter), [[c, e, g], [d, f, a]]);
27 | });
28 | }
29 |
--------------------------------------------------------------------------------
/tests/moduleTests/tempo.ts:
--------------------------------------------------------------------------------
1 | import * as QUnit from 'qunit';
2 | import * as music21 from '../../src/main';
3 |
4 | const { test } = QUnit;
5 |
6 |
7 | export default function tests() {
8 | test('music21.tempo.MetronomeMark', assert => {
9 | let mark;
10 | mark = new music21.tempo.MetronomeMark();
11 | assert.strictEqual(mark.text, undefined);
12 | assert.strictEqual(mark.number, undefined);
13 | assert.strictEqual(mark.referent.quarterLength, 1);
14 |
15 | mark = new music21.tempo.MetronomeMark({ text: 'andante' });
16 | assert.equal(mark.text, 'andante');
17 | assert.ok(mark.numberImplicit);
18 | assert.notOk(mark.textImplicit);
19 | assert.equal(mark.number, 72);
20 |
21 | mark = new music21.tempo.MetronomeMark({ number: 40 });
22 | assert.equal(mark.text, 'grave');
23 | assert.notOk(mark.numberImplicit);
24 | assert.ok(mark.textImplicit);
25 | assert.equal(mark.number, 40);
26 |
27 | mark = new music21.tempo.MetronomeMark({
28 | referent: new music21.duration.Duration('half'),
29 | });
30 | assert.strictEqual(mark.referent.quarterLength, 2);
31 |
32 | mark = new music21.tempo.MetronomeMark({
33 | referent: new music21.duration.Duration(2),
34 | });
35 | assert.strictEqual(mark.referent.quarterLength, 2);
36 |
37 | mark = new music21.tempo.MetronomeMark({
38 | text: 'grave',
39 | number: 42,
40 | referent: new music21.duration.Duration('half'),
41 | });
42 | assert.equal(mark.text, 'grave', 'Expected to find set text');
43 | assert.notOk(mark.numberImplicit, 'Expected .numberImplicit to be false');
44 | assert.notOk(mark.textImplicit, 'Expected .textImplicit to be false');
45 | assert.equal(mark.number, 42);
46 | assert.equal(mark.referent.quarterLength, 2);
47 |
48 | });
49 | }
50 |
--------------------------------------------------------------------------------
/tests/moduleTests/tie.ts:
--------------------------------------------------------------------------------
1 | import * as QUnit from 'qunit';
2 | import * as music21 from '../../src/main';
3 |
4 | const { test } = QUnit;
5 |
6 |
7 | export default function tests() {
8 | test('music21.tie.Tie', assert => {
9 | const t = new music21.tie.Tie('start');
10 | assert.equal(t.type, 'start', 'Tie type is start');
11 | });
12 | }
13 |
--------------------------------------------------------------------------------
/tests/moduleTests/tinyNotation.ts:
--------------------------------------------------------------------------------
1 | import * as QUnit from 'qunit';
2 | import * as music21 from '../../src/main';
3 |
4 | const { test } = QUnit;
5 |
6 |
7 | export default function tests() {
8 | test('music21.tinyNotation.TinyNotation optional prefix', assert => {
9 | const p = music21.tinyNotation.TinyNotation('tinyNotation: fn1');
10 | assert.equal(p.recurse().notes.length, 1);
11 | });
12 |
13 | test('music21.tinyNotation.TinyNotation split space length', assert => {
14 | const tn = (s: string) => {
15 | const p = music21.tinyNotation.TinyNotation(s);
16 | return p.recurse().notes.length;
17 | };
18 |
19 | assert.equal(tn('C4'), 1);
20 | assert.equal(tn('C4 D'), 2);
21 | assert.equal(tn('C4 D'), 2);
22 | assert.equal(tn('C4_hi there'), 1);
23 | assert.equal(tn('C4_hi there D'), 2);
24 | assert.equal(tn('C4\nD4'), 2);
25 | assert.equal(tn('C4\tD4'), 2);
26 | assert.equal(tn('C4 partBreak D4'), 2);
27 | });
28 | }
29 |
--------------------------------------------------------------------------------
/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "allowJs": true,
4 | "allowSyntheticDefaultImports": true,
5 | "lib": ["dom", "dom.iterable", "es2023"],
6 | "experimentalDecorators": true,
7 | "moduleResolution": "node",
8 | "sourceMap": true,
9 | "declaration": true,
10 | "declarationMap": true,
11 | "declarationDir": "build",
12 | "target": "es6"
13 | },
14 | "include": [
15 | "src/**/*",
16 | "tests/**/*",
17 | ],
18 | "exclude": [
19 | "node_modules"
20 | ]
21 | }
22 |
--------------------------------------------------------------------------------
/uploadDocs.py:
--------------------------------------------------------------------------------
1 | # -*- coding: utf-8 -*-
2 | #-------------------------------------------------------------------------------
3 | # Name: upload.py
4 | # Purpose: music21j documentation upload utility
5 | #
6 | # Authors: Christopher Ariza
7 | #
8 | # Copyright: Copyright © 2009-2010, 2013, 17 Michael Scott Asato Cuthbert and the music21 Project
9 | # License: BSD, see license.txt
10 | #-------------------------------------------------------------------------------
11 | #pylint: disable=line-too-long
12 | '''
13 | if you get a 'ssh_askpass' not found error, create this file in
14 | /usr/libexec/ssh-askpass and sudo chmod +x it afterwards:
15 |
16 | ..raw::
17 | #!/bin/bash
18 | # Script: ssh-askpass
19 | # Author: Mark Carver
20 | # Created: 2011-09-14
21 | # Copyright (c) 2011 Beyond Eden Development, LLC. All rights reserved.
22 |
23 | # A ssh-askpass command for Mac OS X
24 | # Based from author: Joseph Mocker, Sun Microsystems
25 | # http://blogs.oracle.com/mock/entry/and_now_chicken_of_the
26 | # To use this script:
27 | # Install this script running INSTALL as root
28 | #
29 | # If you plan on manually installing this script, please note that you will have
30 | # to set the following variable for SSH to recognize where the script is located:
31 | # export SSH_ASKPASS="/path/to/ssh-askpass"
32 | TITLE="${SSH_ASKPASS_TITLE:-SSH}";
33 | TEXT="$(whoami)'s password:";
34 | IFS=$(printf "\n");
35 | CODE=("on GetCurrentApp()");
36 | CODE=(${CODE[*]} "tell application \"System Events\" to get short name of first process whose frontmost is true");
37 | CODE=(${CODE[*]} "end GetCurrentApp");
38 | CODE=(${CODE[*]} "tell application GetCurrentApp()");
39 | CODE=(${CODE[*]} "activate");
40 | CODE=(${CODE[*]} "display dialog \"${@:-$TEXT}\" default answer \"\" with title \"${TITLE}\" with icon caution with hidden answer");
41 | CODE=(${CODE[*]} "text returned of result");
42 | CODE=(${CODE[*]} "end tell");
43 | SCRIPT="/usr/bin/osascript"
44 | for LINE in ${CODE[*]}; do
45 | SCRIPT="${SCRIPT} -e $(printf "%q" "${LINE}")";
46 | done;
47 | eval "${SCRIPT}";
48 |
49 |
50 | Otherwise just contact MSC...
51 | '''
52 |
53 | import getpass, os
54 |
55 |
56 | def main():
57 |
58 | # this needs to be on level higher then the level of the source
59 | remoteHost = 'trecento.com'
60 | remoteDir = 'music21docs/music21j/doc/'
61 |
62 | user = getpass.getpass('provide user name : ')
63 |
64 |
65 | src = './doc'
66 | # -r flag makes this recursive
67 | cmdStr = 'tar czpf - -C %s . | ssh %s@%s "tar xzpf - -C %s"' % (src, user, remoteHost, remoteDir)
68 | print(cmdStr)
69 |
70 | os.system(cmdStr)
71 |
72 | if __name__ == '__main__':
73 | main()
74 |
--------------------------------------------------------------------------------
/webResources/midiPlayer/pause.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cuthbertLab/music21j/f06f2d040cbfa5c2ce18c9baa6d4a810cd371d5a/webResources/midiPlayer/pause.png
--------------------------------------------------------------------------------
/webResources/midiPlayer/play.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cuthbertLab/music21j/f06f2d040cbfa5c2ce18c9baa6d4a810cd371d5a/webResources/midiPlayer/play.png
--------------------------------------------------------------------------------
/webResources/midiPlayer/stop.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cuthbertLab/music21j/f06f2d040cbfa5c2ce18c9baa6d4a810cd371d5a/webResources/midiPlayer/stop.png
--------------------------------------------------------------------------------