Skip to content

Commit a145679

Browse files
Squashed commit of the following:
commit 8329a03b2be5547f664cbac3bbeded52dbea721e Author: Greg Chapman <75333244+gregchapman-dev@users.noreply.github.com> Date: Tue Jan 17 16:34:42 2023 -0800 Update in preparation for 2.0 release. commit a4f424b6434643ca4d354d00d2642fd85cde8e61 Author: Greg Chapman <75333244+gregchapman-dev@users.noreply.github.com> Date: Tue Jan 17 14:19:14 2023 -0800 Humdrum/MEI import: handle italicized lyrics. Some linting, too. commit 7e92a9013e831e2b9f279e4514a5a89d062f8a36 Author: Greg Chapman <75333244+gregchapman-dev@users.noreply.github.com> Date: Tue Jan 17 13:24:03 2023 -0800 MEI import: fix code that pulls note-within-chord spanners up to the enclosing chord (it was crashing). commit 9eccf5f7ca310eff951a6af55c1b95a6e6cf3cce Author: Greg Chapman <75333244+gregchapman-dev@users.noreply.github.com> Date: Sun Jan 15 15:20:13 2023 -0800 Oops, forgot one import of converter21 for register() API. commit 34e89e5f724219aa52fabc66d29af8875e8df85e Author: Greg Chapman <75333244+gregchapman-dev@users.noreply.github.com> Date: Sun Jan 15 15:17:37 2023 -0800 Humdrum import/MEI import: always set trill/turn/mordent placement, even to None, and even though mordent has no placement field (but it will work if you set it!). commit f99b5ff501e19de44ccea7bac2a0841643864e95 Author: Greg Chapman <75333244+gregchapman-dev@users.noreply.github.com> Date: Sun Jan 15 14:34:33 2023 -0800 Use register() call in more places. commit c4498f30bfbe749673b3685b036d1ee8f4726aa4 Author: Greg Chapman <75333244+gregchapman-dev@users.noreply.github.com> Date: Sun Jan 15 14:25:05 2023 -0800 Add new converter21.register() convenience API to register all, or your choice of, the available converters in converter21. commit 5b8267bc8536aca96e115f1fb2135a8a029714d7 Author: Greg Chapman <75333244+gregchapman-dev@users.noreply.github.com> Date: Sat Jan 14 11:28:42 2023 -0800 MEI import: pull turns and mordents up from note to enclosing chord (not just trills). commit 48f5cab0fb409e11a0a8baf5c761d4104a0428af Author: Greg Chapman <75333244+gregchapman-dev@users.noreply.github.com> Date: Fri Jan 13 16:30:17 2023 -0800 MEI import: promote trills from note to enclosing chord if necessary. commit 32584396d861db1f0da48e8d36f98747b9aa86dc Author: Greg Chapman <75333244+gregchapman-dev@users.noreply.github.com> Date: Fri Jan 13 15:56:18 2023 -0800 MEI import: don't land a delayed turn on a note at the exact correct offset. commit 79c536b66a43cb14f09730fbd6065bb894b2bf91 Author: Greg Chapman <75333244+gregchapman-dev@users.noreply.github.com> Date: Fri Jan 13 14:09:41 2023 -0800 MEI import: don't put certain Ornaments/Expressions on Rests. commit 0a055550b8fbc6d37b721d1dcdf591e4dac106b0 Author: Greg Chapman <75333244+gregchapman-dev@users.noreply.github.com> Date: Fri Jan 13 13:29:51 2023 -0800 MEI import: support turns. commit 4373dc072df86ece565fa7fc4591afaf6c9f4230 Author: Greg Chapman <75333244+gregchapman-dev@users.noreply.github.com> Date: Tue Jan 10 15:54:27 2023 -0800 Handle <mordent> with @tstamp instead of @startid. commit 3a2347bd4a3c9d5989f86907b83934e7cf5b5002 Author: Greg Chapman <75333244+gregchapman-dev@users.noreply.github.com> Date: Thu Jan 5 15:19:59 2023 -0800 MEI import: First cut at mordents. commit e6707f6e032d8afc8c18bbedffdd7352e1d1dd80 Author: Greg Chapman <75333244+gregchapman-dev@users.noreply.github.com> Date: Thu Jan 5 14:07:31 2023 -0800 Fix comments in mordents.krn to no longer use Inverted terminology, just upper and lower. commit b68f7668f23d0ad07d68659cca203fcc5e79b496 Author: Greg Chapman <75333244+gregchapman-dev@users.noreply.github.com> Date: Thu Jan 5 11:39:12 2023 -0800 Mordent test file. commit 105bb61dda9c48962ce69442bbe9d709a78ee193 Author: Greg Chapman <75333244+gregchapman-dev@users.noreply.github.com> Date: Thu Jan 5 11:04:11 2023 -0800 Be a little more careful, so tests don't crash/fail (shouldn't affect normal behavior). commit 7cc924b51a6cfcc14cfd5ba08099cb4fe3833eae Author: Greg Chapman <75333244+gregchapman-dev@users.noreply.github.com> Date: Thu Jan 5 10:29:01 2023 -0800 More test files. commit 49c209e602661fcaf1b6f8bc5bb367c55067ba9b Author: Greg Chapman <75333244+gregchapman-dev@users.noreply.github.com> Date: Thu Jan 5 10:11:44 2023 -0800 Reset alters to match keysig at start of every layer (not just at start of measure). commit e344d12eeb087173a330b630683016fae509b4d0 Author: Greg Chapman <75333244+gregchapman-dev@users.noreply.github.com> Date: Wed Jan 4 17:00:10 2023 -0800 Some trill test files. commit eccc7131de5cf6f3d5a758cf9e8cbc43342746ef Author: Greg Chapman <75333244+gregchapman-dev@users.noreply.github.com> Date: Wed Jan 4 15:34:52 2023 -0800 First cut at handling trills without upperaccid, where we have to know the current alter for that other pitch, to determine HalfStepTrill or WholeStepTrill. Some random linting, too. commit 7ec715dec291fbdfb5c1c0940614e7faf49a76ad Author: Greg Chapman <75333244+gregchapman-dev@users.noreply.github.com> Date: Sun Dec 18 15:47:32 2022 -0800 MEI import: ignore clefs with @sameas. commit 4afd4818bf88685a9fba621aba0718ea74196cba Author: Greg Chapman <75333244+gregchapman-dev@users.noreply.github.com> Date: Sun Dec 11 16:16:50 2022 -0800 MEI import: Ignore the erroneous <space> Verovio's Humdrum importer puts just past the end of a measure in a layer that has a *clef in the middle of a rest/note. This fixes barline offsets only, not clef offset differences. commit bfa3c3329c576ae9ea15e5e90b818fb8941c2d55 Author: Greg Chapman <75333244+gregchapman-dev@users.noreply.github.com> Date: Wed Dec 7 16:54:40 2022 -0800 Humdrum import: stop duplicating clefs into voices, and just put the clef in the measure. commit 4654c2191122b0984384c81eb9cff30ca17bd2d9 Author: Greg Chapman <75333244+gregchapman-dev@users.noreply.github.com> Date: Wed Dec 7 16:22:45 2022 -0800 Fix typo in print. commit 0a7caf25c5e7284dde0592e44508bb36ca5e79a8 Author: Greg Chapman <75333244+gregchapman-dev@users.noreply.github.com> Date: Mon Dec 5 12:57:42 2022 -0800 MEI import: waste less time with a break instead of a continue. commit 0c1f114ae133866b21d8ec15a30c95977e6c27c4 Author: Greg Chapman <75333244+gregchapman-dev@users.noreply.github.com> Date: Sat Dec 3 13:19:20 2022 -0800 Humdrum import: fix the "down" ottavas. commit 8fab62dde4d834045b95c1c8101d87ec8312a4da Author: Greg Chapman <75333244+gregchapman-dev@users.noreply.github.com> Date: Sat Dec 3 12:45:10 2022 -0800 Humdrum/MEI import: deal with missing music21 spanner fill and inherit accid display features. commit daa86a15cd8c9e4155f58dacd20b769e25e4f23c Author: Greg Chapman <75333244+gregchapman-dev@users.noreply.github.com> Date: Sat Dec 3 11:54:50 2022 -0800 MEI import: staff items that turn into spanners might have @startid/@endid which is a note in a chord. If that happens, use the enclosing chord in the spanner instead, since music21 can't have notes in spanners that aren't "in the stream". commit 996affaa01e03e0392216a5bdac6bea033781d5b Author: Greg Chapman <75333244+gregchapman-dev@users.noreply.github.com> Date: Sat Dec 3 11:25:16 2022 -0800 MEI import: only fill Ottavas. commit bb514abd99c7c03bef97256243e1db7726082b19 Author: Greg Chapman <75333244+gregchapman-dev@users.noreply.github.com> Date: Wed Nov 30 12:17:30 2022 -0800 Humdrum import: only fill Ottavas. commit 572150118a86dfb4ffb3b2779e16d2fe4ff992ee Author: Greg Chapman <75333244+gregchapman-dev@users.noreply.github.com> Date: Tue Nov 29 21:23:40 2022 -0800 MEI import: rework durationFromAttributes to (1) handle @dots.ges and (2) construct the duration object better. commit 7f10dd1eb245605ddbfb2c51605ad13659c01375 Author: Greg Chapman <75333244+gregchapman-dev@users.noreply.github.com> Date: Tue Nov 29 20:23:35 2022 -0800 Humdrum import: fill spanners. Fix _endOttava infinite loop. MEI import: fix total breakage of Ottavas, ArpeggioMarkSpanners, and TrillExtensions. Sigh. commit 5910a5e671ab656883c1a9dd80556d77a4596f94 Author: Greg Chapman <75333244+gregchapman-dev@users.noreply.github.com> Date: Mon Nov 28 20:59:48 2022 -0800 MEI import: if a spanner has no @staff, then get the staff number where the first spanned element was generated. commit df115b5979fbcb95e48cffb097f71c803f37441d Author: Greg Chapman <75333244+gregchapman-dev@users.noreply.github.com> Date: Mon Nov 28 17:10:22 2022 -0800 MEI import: redo that last commit much more simply. After generating all the parts, fill all the spanners. commit c5584cd40398bb65c2ef14a852842e371284ed0f Author: Greg Chapman <75333244+gregchapman-dev@users.noreply.github.com> Date: Mon Nov 28 13:55:17 2022 -0800 MEI import: first cut at filling spanners and supporting ottavas with @tstamp and/or @tstamp2. Doesn't completely work yet. commit 00a7e33a644c5ee356d726b0608d65ac67f98848 Author: Greg Chapman <75333244+gregchapman-dev@users.noreply.github.com> Date: Wed Nov 23 16:02:06 2022 -0800 MEI import: support <octave>, but (for now) only if @startid and @endid present. commit c000ac491d438dcdbc89de8f2f546c34dbff4f30 Author: Greg Chapman <75333244+gregchapman-dev@users.noreply.github.com> Date: Wed Nov 23 14:13:46 2022 -0800 Humdrum import: support for ottavas. (merged from gregc/ottavas) commit 02f9698663243155f7dd914c2dc7b41c684b57b0 Author: Greg Chapman <75333244+gregchapman-dev@users.noreply.github.com> Date: Sun Nov 20 11:20:14 2022 -0800 Humdrum/MEI import: make pylint/mypy happy in the absence of music21 SpannerAnchor. commit 02539a1dcab7a683d57e7ec757c9770d5bab1d27 Author: Greg Chapman <75333244+gregchapman-dev@users.noreply.github.com> Date: Sat Nov 19 10:08:44 2022 -0800 MEI import: Make ..FromElement only return tuple if it's a single thing, always return list if it's multiple things. And never split a tuple into multiple things anymore. commit 743a67aec46ba09054cbc2fca74eb951a936c846 Author: Greg Chapman <75333244+gregchapman-dev@users.noreply.github.com> Date: Sat Nov 19 09:46:54 2022 -0800 Humdrum import: fix addTrill crash when accidental analysis skips a trilled note due to a tie. commit 50f8b74d4c8e74a63a548d3d25c2c83e86bc7b91 Author: Greg Chapman <75333244+gregchapman-dev@users.noreply.github.com> Date: Fri Nov 18 20:39:30 2022 -0800 MEI import tests: These mock tests are driving me crazy. commit d1ccdcd757ba85203701ae89cfd759aa23579da7 Author: Greg Chapman <75333244+gregchapman-dev@users.noreply.github.com> Date: Fri Nov 18 20:36:06 2022 -0800 Humdrum import: use SpannerAnchor if necessary (and available). commit 1f5ad466e3386e80fa06d443767a127e37c2f6df Author: Greg Chapman <75333244+gregchapman-dev@users.noreply.github.com> Date: Fri Nov 18 18:59:04 2022 -0800 Update to python 3.10 and latest pylint/mypy/flake8. commit 88f6941fd19df270cf70d203198c8bc0165d0dc3 Author: Greg Chapman <75333244+gregchapman-dev@users.noreply.github.com> Date: Fri Nov 18 18:56:31 2022 -0800 MEI import/Humdrum export: use/deal with SpannerAnchor if available. commit fe5fb10772f86147d44b2ee98457bb55c6f1ad77 Author: Greg Chapman <75333244+gregchapman-dev@users.noreply.github.com> Date: Wed Nov 16 22:15:21 2022 -0800 MEI import: any given note/chord might both start one TrillExtension and stop another one. commit 88a6c6e8f298ecea6853ac248737c557b3fc9522 Author: Greg Chapman <75333244+gregchapman-dev@users.noreply.github.com> Date: Wed Nov 16 21:09:48 2022 -0800 MEI import: trills often working. More bugs to fix still. commit 88f206737b1534de1f8823c5238a17117b8b2fea Author: Greg Chapman <75333244+gregchapman-dev@users.noreply.github.com> Date: Wed Nov 16 19:44:38 2022 -0800 MEI import: first implementation of <trill> support. Doesn't work yet. commit 42b0730968942a2880d52e8fad1eda5bec2e6fa4 Author: Greg Chapman <75333244+gregchapman-dev@users.noreply.github.com> Date: Wed Nov 16 14:59:34 2022 -0800 Humdrum import: some experimental code to try to take into account all the trill accidentals. commit 76cd6110ab796b2398bd62e3601853c8bf044755 Author: Greg Chapman <75333244+gregchapman-dev@users.noreply.github.com> Date: Tue Nov 15 17:40:48 2022 -0800 Humdrum export: fix crash in OMD handling. MEI import: fix up some comments. commit d148366dbd1b915f250728b04ca56840def0f7de Author: Greg Chapman <75333244+gregchapman-dev@users.noreply.github.com> Date: Tue Nov 15 15:27:46 2022 -0800 Humdrum export: DynamicWedge with one note no longer turns into '>]'. Fixes a bug where the wrong duration note is in the rightmost voice. MEI import: Hairpin fix: @order='down' with no @arrow now assumes you actually need an arrow. commit eba72b48581e1191254cc6e888b4edfa0479bae1 Author: Greg Chapman <75333244+gregchapman-dev@users.noreply.github.com> Date: Mon Nov 14 22:03:07 2022 -0800 MEI import: fix bug in _addTimestampedExpressions I just introduced. commit e84aec2ec8ccc0f67a5d9b86dc39dd7473fa310c Author: Greg Chapman <75333244+gregchapman-dev@users.noreply.github.com> Date: Mon Nov 14 21:23:06 2022 -0800 MEI importer: support arpeggios of all sorts. commit 9240a6db576c32037544ff3996a693a54807d544 Author: Greg Chapman <75333244+gregchapman-dev@users.noreply.github.com> Date: Mon Nov 14 17:28:37 2022 -0800 Humdrum export: How did export of dotted/dashed barlines ever work? commit 7821afbae147cb774915567d4ebddde13f82936f Author: Greg Chapman <75333244+gregchapman-dev@users.noreply.github.com> Date: Mon Nov 14 12:37:14 2022 -0800 Humdrum export: do a better job with 'z' and 'zz' vs. 'sf' and 'sfz'. commit f647e48330815da8910adfcc378d3d277f38f18e Author: Greg Chapman <75333244+gregchapman-dev@users.noreply.github.com> Date: Sun Nov 13 15:04:34 2022 -0800 Humdrum export: don't be so aggressive with the ':b' for dynamics. commit a6bc40d45cfdb551a859bef88f2c340faa372747 Author: Greg Chapman <75333244+gregchapman-dev@users.noreply.github.com> Date: Sun Nov 13 14:55:57 2022 -0800 Humdrum import: remove "non-subtracked dynamics in lower staff are always below that staff" hack. commit ccfefc05dc5219b6ec91b7602185cd9743410892 Author: Greg Chapman <75333244+gregchapman-dev@users.noreply.github.com> Date: Sun Nov 13 14:43:32 2022 -0800 Humdrum export: convert 'sf' and 'sfz' Dynamic to 'z' or 'zz' on a same-offset note (if possible). commit 67bb09272ea1af5705c99d2cdb29dbe4df846775 Author: Greg Chapman <75333244+gregchapman-dev@users.noreply.github.com> Date: Sun Nov 13 11:27:56 2022 -0800 Humdrum import/export: Dynamics are per-part, but you need to specify staff via 'b=2' sometimes. commit 42bd297b4e9683cb5272da924d4a8d37e5976fa0 Author: Greg Chapman <75333244+gregchapman-dev@users.noreply.github.com> Date: Sun Nov 13 09:31:33 2022 -0800 Humdrum import: fix bug in hairpin end time calculation. MEI import: fix offset of objects following an mrest (like a clef at end of measure). commit 5a0dce3b727b9e61e70baba743edf31c24a3fa58 Author: Greg Chapman <75333244+gregchapman-dev@users.noreply.github.com> Date: Sat Nov 12 14:12:44 2022 -0800 Humdrum export: fix silly bug in insertStaffIndications. commit a98bf83704d1d83d6a93b6747996ec85e41b7ca2 Author: Greg Chapman <75333244+gregchapman-dev@users.noreply.github.com> Date: Fri Nov 11 20:47:08 2022 -0800 Humdrum import: switch from invisible rests to bare GeneralNotes for DynamicWedge endpoints. Humdrum export: deal with it. commit 6f427b84bfb43d2f4a976b1b6bb53994669de51b Author: Greg Chapman <75333244+gregchapman-dev@users.noreply.github.com> Date: Fri Nov 11 15:54:20 2022 -0800 Humdrum export: get dynamics back to being a part side instead of a staff side. More work to do to get it more accurate, but this works. commit dd911bef1aaf726c80efe041c3c46dbb743e1850 Author: Greg Chapman <75333244+gregchapman-dev@users.noreply.github.com> Date: Thu Nov 10 21:24:51 2022 -0800 Humdrum import: make _processDynamics (and a few other things) a lot more like the C++ code. Stop hacking around italics. MEI import: stop hacking around italics (we can do this because verovio is getting it right now). commit 67f250e6a5881061b365f29d6860535e95a28fc9 Author: Greg Chapman <75333244+gregchapman-dev@users.noreply.github.com> Date: Thu Nov 10 16:09:18 2022 -0800 MEI import: some cleanup of debug prints and linting. commit 1ff20da227df75b5842878a786856d0cfdf6e933 Author: Greg Chapman <75333244+gregchapman-dev@users.noreply.github.com> Date: Thu Nov 10 15:50:26 2022 -0800 MEI import: hairpins now work. I'm using bare GeneralNotes (dur=0) in the Measure as their start/endpoints. Full support for @tstamp2 now in place. commit ce36dfb31ed3d0311233789d9ea9749df37dff5c Author: Greg Chapman <75333244+gregchapman-dev@users.noreply.github.com> Date: Mon Nov 7 17:00:45 2022 -0800 MEI import: plumbing in place for staffItems with offsetAndDuration (@tstamp/@tstamp2). Hairpins get parsed and given offsetAndDuration, but then dropped on the floor. commit 84bf2c1c722e32887342586777548ff406e932e0 Author: Greg Chapman <75333244+gregchapman-dev@users.noreply.github.com> Date: Mon Nov 7 12:40:21 2022 -0800 Humdrum import/export: support dotted '=31.' and dashed '=31:' barlines. commit 380386f3cb808bc155a05475f50107bc1f776cd0 Author: Greg Chapman <75333244+gregchapman-dev@users.noreply.github.com> Date: Sun Nov 6 13:43:49 2022 -0800 Humdrum import: handle a text direction just before first barline of first measure. I think iohumdrum.cpp was getting away with this fairly often due to mrest handling? commit 685b386e66dff82aff309c0b174cec617ae2c7d2 Author: Greg Chapman <75333244+gregchapman-dev@users.noreply.github.com> Date: Sun Nov 6 10:43:37 2022 -0800 Humdrum export: put those r'\n's back and (for reference records) html escape the text. commit a5647439f48639aaca872ebf5a32f1859e23991b Author: Greg Chapman <75333244+gregchapman-dev@users.noreply.github.com> Date: Sun Nov 6 10:12:50 2022 -0800 MEI import: pull mixed text out of sub-elements as well. Humdrum import: any time we unescape text, also convert r'\n' to '\n'. commit 326f9c600d1f6608ac406a1aa6ef0b0b9d482276 Author: Greg Chapman <75333244+gregchapman-dev@users.noreply.github.com> Date: Sun Nov 6 09:04:33 2022 -0800 Humdrum export: no dot-computation for tuplets with visual duration. commit cc3086e5c9fb30eab7cb3e4424d4bab7135a80a7 Author: Greg Chapman <75333244+gregchapman-dev@users.noreply.github.com> Date: Sat Nov 5 16:55:32 2022 -0700 MEI import: fix bug where we were inserting things more than once into a score. commit afe8dab448fbe3775e491b1f54d652bb1c9cbd68 Author: Greg Chapman <75333244+gregchapman-dev@users.noreply.github.com> Date: Sat Nov 5 16:54:57 2022 -0700 MEI import test: use forceSource=True so we run the test every time. commit da0b758b9975d5c185f18e2a896e16388369ed3a Author: Greg Chapman <75333244+gregchapman-dev@users.noreply.github.com> Date: Sat Nov 5 16:29:56 2022 -0700 Humdrum export: hopefully last fix to visual duration in a tuplet (with dots). commit 441e8f95abf3816458e2967ab428484a553d24cb Author: Greg Chapman <75333244+gregchapman-dev@users.noreply.github.com> Date: Fri Nov 4 21:50:46 2022 -0700 Humdrum import/export: support visual duration of tuplet-y things. MEI import: don't make timesig invisible ever, that usually just means "use the <mensur> instead", and we can't. commit e173ccae14175469d1cca1455a8f354671fdd093 Author: Greg Chapman <75333244+gregchapman-dev@users.noreply.github.com> Date: Fri Nov 4 19:09:54 2022 -0700 MEI import: fix some tests to match new reality. commit e65b34701d9a157a448aeec68116932c5884aabc Author: Greg Chapman <75333244+gregchapman-dev@users.noreply.github.com> Date: Fri Nov 4 18:38:07 2022 -0700 MEI import: got a little aggressive about that last @dur.ges change. Backing off a bit. commit c82681343b32ebdb9c5ac9ddd7a034573c3dd8fd Author: Greg Chapman <75333244+gregchapman-dev@users.noreply.github.com> Date: Fri Nov 4 18:25:16 2022 -0700 MEI import: Lots of beaming fixes. Support @dur.ges. Humdrum import: When computing number of beams, use visual duration if present. commit f97a062c11d97e0005c26876f3fcce48a7c3b8b7 Author: Greg Chapman <75333244+gregchapman-dev@users.noreply.github.com> Date: Fri Nov 4 13:02:34 2022 -0700 MEI import: if there is leftover stuff in inNextThing (e.g. trailing scoreDef in section), stash it off for the next measure/section. commit fcc64413fc4fe84d30183a5067a693533d9aa9ee Author: Greg Chapman <75333244+gregchapman-dev@users.noreply.github.com> Date: Thu Nov 3 17:41:35 2022 -0700 Humdrum import: rather than making gestural articulations invisible, just leave them out. This sucks a bit, but matches verovio. I'll fix this when they do. commit 19d7f12effe1f5ba04739ebbf9abe06f256512de Author: Greg Chapman <75333244+gregchapman-dev@users.noreply.github.com> Date: Wed Nov 2 21:32:10 2022 -0700 Humdrum export: put the '[note]=nnn' text back into the initial tempo OMD. commit 467b1844a9c9713a14e0dab00a31ecdadecb9ad0 Author: Greg Chapman <75333244+gregchapman-dev@users.noreply.github.com> Date: Wed Nov 2 19:49:21 2022 -0700 Humdrum import/export: more OMD tweaks. MEI import: change scoredef@midi.bpm handling to incorporate it into the first MetronomeMark instead of making a separate one. commit 31248efd32582ca59e7372dab0355b89237ea046 Author: Greg Chapman <75333244+gregchapman-dev@users.noreply.github.com> Date: Wed Nov 2 19:18:06 2022 -0700 MEI import: translate scoredef@midi.bpm to MetronomeMark(number=midiBPM) numberImplicit=True. Some linting throughout. commit c413028d2d1493960cad1332173c041e2faee418 Author: Greg Chapman <75333244+gregchapman-dev@users.noreply.github.com> Date: Wed Nov 2 17:52:05 2022 -0700 Humdrum export: Only write integer *MM values. commit fef0752e33960ef2e25d4de4baac02c739a06adb Author: Greg Chapman <75333244+gregchapman-dev@users.noreply.github.com> Date: Wed Nov 2 17:32:51 2022 -0700 Humdrum export: instead of !LO:TX for tempo text, emit !!!OMD. commit 71affc736cceb9b64586becb239008c747a584a8 Author: Greg Chapman <75333244+gregchapman-dev@users.noreply.github.com> Date: Wed Nov 2 15:42:07 2022 -0700 Humdrum import/export: fix up the relationship between the OMD we choose for initial tempo and the MetronomeMark. commit 39182c84b4c8e36133973b7959fd88f85a8db48c Author: Greg Chapman <75333244+gregchapman-dev@users.noreply.github.com> Date: Wed Nov 2 13:21:17 2022 -0700 Humdrum import: the space between paren and note (in tempo text) is HAIR SPACE (0x200A), not THIN SPACE (0x2009). commit a02f79957a8edf4960726844b489743ea6af1d35 Author: Greg Chapman <75333244+gregchapman-dev@users.noreply.github.com> Date: Tue Nov 1 21:46:42 2022 -0700 Humdrum import: don't check OMD is tempoish before making a MetronomeMark of it. Humdrum export: don't output LO:TX tempo text from first MetronomeMark if it matches the first OMD. commit 64a7c3d88fe7ac94d7fdba8e6ff14ac9645dea2a Author: Greg Chapman <75333244+gregchapman-dev@users.noreply.github.com> Date: Tue Nov 1 20:24:53 2022 -0700 Humdrum import/export: translate from SMUFL back into legal Humdrum tempo text. And don't let manipulators get in your way of finding tempo text after a *MM. commit 89b1f1e23ca89e01f3ea96a917adea5f0ef49cc9 Author: Greg Chapman <75333244+gregchapman-dev@users.noreply.github.com> Date: Tue Nov 1 18:13:32 2022 -0700 Humdrum import/export: more tempo fixes, including a rework of GridSlice initialization. commit b7fde696b930f2b125c652d11e315275fdbd2007 Author: Greg Chapman <75333244+gregchapman-dev@users.noreply.github.com> Date: Mon Oct 31 22:35:23 2022 -0700 Humdrum import: no more common tempo words. commit f56a6e2d93f58b0b427c611e8ebeeaec56fa57a9 Author: Greg Chapman <75333244+gregchapman-dev@users.noreply.github.com> Date: Mon Oct 31 16:39:58 2022 -0700 Humdrum importer: fix processing of dotted notes in tempo text. commit a71b8a5a8855cff546f0e824e46da83893180c93 Author: Greg Chapman <75333244+gregchapman-dev@users.noreply.github.com> Date: Mon Oct 31 16:00:35 2022 -0700 Humdrum import: enhance list of tempo-ish words. commit ac3a135084cd19a701a03b81ed4afa19eb509618 Author: Greg Chapman <75333244+gregchapman-dev@users.noreply.github.com> Date: Mon Oct 31 15:26:21 2022 -0700 MEI import: Handle SMUFL names in <symbol> elements in <dir>/<tempo>/etc. Humdrum import: Fix nbsp typo around the = in tempo text. commit a17d57ba88222260a82621c337027c03b66fdcc8 Author: Greg Chapman <75333244+gregchapman-dev@users.noreply.github.com> Date: Mon Oct 31 14:50:26 2022 -0700 Save off some temp text work. commit 3e8d6c929a07f852f238ff8bb0b24248d62f163a Author: Greg Chapman <75333244+gregchapman-dev@users.noreply.github.com> Date: Sun Oct 30 16:03:25 2022 -0700 Humdrum import: Don't put the OMD into a MetronomeMark unless the OMD text is tempoish. commit 13ce396781c074569e3b95b1078fa7549a4a91e6 Author: Greg Chapman <75333244+gregchapman-dev@users.noreply.github.com> Date: Sun Oct 30 15:47:05 2022 -0700 Humdrum import: fix longstanding missing comma that messed up 'Adagio' being tempoish. commit f3d72179bbee92abd596d562431114b1a4208eee Author: Greg Chapman <75333244+gregchapman-dev@users.noreply.github.com> Date: Sun Oct 30 15:20:21 2022 -0700 MEI import: clean up <tempo> handling. commit e5c8d90b68eb4cbdd50d351880242140e390c067 Author: Greg Chapman <75333244+gregchapman-dev@users.noreply.github.com> Date: Sun Oct 30 14:45:53 2022 -0700 Humdrum import: don't push *MMnnn into the MetronomeMark (or rather, do, but mark it implicit). commit 7730371ace1a5915df9e6900c831e7847e86f022 Author: Greg Chapman <75333244+gregchapman-dev@users.noreply.github.com> Date: Sat Oct 29 14:29:06 2022 -0700 MEI import: support invisibility (notes/chords/rests). commit ce1e0e2cdee2da1f2e110da561e1ca870e50d90a Author: Greg Chapman <75333244+gregchapman-dev@users.noreply.github.com> Date: Sat Oct 29 09:54:23 2022 -0700 Undo all the clef fix attempts, I'm just making it worse. commit 115beb1304d5e8a466f2c2bc77ecafc11134ad6f Author: Greg Chapman <75333244+gregchapman-dev@users.noreply.github.com> Date: Fri Oct 28 22:43:25 2022 -0700 MEI and Humdrum import: another attempt at fixing clefs (still not great). commit fd1311012ad1e562ddca92496d688f0ce2eddf89 Author: Greg Chapman <75333244+gregchapman-dev@users.noreply.github.com> Date: Fri Oct 28 22:26:36 2022 -0700 MEI import: handle @breaksec beaming; ignore duplicated (@sameas) clefs; allow None return from many ...FromElement APIs. commit bee20aaac4169cf30965861bf2cc968df7b7bc38 Author: Greg Chapman <75333244+gregchapman-dev@users.noreply.github.com> Date: Fri Oct 28 20:16:44 2022 -0700 MEI import: Support <note> @head.shape commit ae2c8eede53ab6961c2a9ed832ae6a79bed20b12 Author: Greg Chapman <75333244+gregchapman-dev@users.noreply.github.com> Date: Fri Oct 28 19:52:19 2022 -0700 Humdrum import: tweak fermata import a bit. commit 348721e8412a2fa074b95c2f8fab8be3caafc016 Author: Greg Chapman <75333244+gregchapman-dev@users.noreply.github.com> Date: Fri Oct 28 19:43:07 2022 -0700 MEI import: Better keysig parsing. Treat unrecognized grace types as grace notes. Fix colored chords/rests. commit 18757dc60f3b16a472903bf178205d969a4f9264 Author: Greg Chapman <75333244+gregchapman-dev@users.noreply.github.com> Date: Fri Oct 28 16:30:13 2022 -0700 MEI import: support note/chord/rest @color attribute. commit e079770932f22fb2c1c4448c749d9be8db280d2c Author: Greg Chapman <75333244+gregchapman-dev@users.noreply.github.com> Date: Fri Oct 28 15:52:54 2022 -0700 MEI import: Support <fermata> with @tstamp by finding an appropriate GeneralNote or Barline in the specified staff. commit 7988ca816d7b0d0a6e03c8c24a0acc8024618fc7 Author: Greg Chapman <75333244+gregchapman-dev@users.noreply.github.com> Date: Thu Oct 27 17:46:57 2022 -0700 MEI import: support fermatas. commit 82673cfaaab3609c3da4b9b82ee23a97f341af35 Author: Greg Chapman <75333244+gregchapman-dev@users.noreply.github.com> Date: Thu Oct 27 14:46:08 2022 -0700 Humdrum import: make comments more clear about weird barline cases. commit 3a48b3eaf0891a4399cbe1aca23f70dcbe3eb29c Author: Greg Chapman <75333244+gregchapman-dev@users.noreply.github.com> Date: Thu Oct 27 14:11:39 2022 -0700 Humdrum import: fix weird barlines when there's a repeat that is handled in the next/previous measure. commit 965c351650eaeadf08d8786099624ae3da51c72c Author: Greg Chapman <75333244+gregchapman-dev@users.noreply.github.com> Date: Wed Oct 26 16:48:41 2022 -0700 Cleanup. Tests passing again, all linted. commit d88dee7f9e556d5031fa6f6222a5925b2fe21a42 Author: Greg Chapman <75333244+gregchapman-dev@users.noreply.github.com> Date: Wed Oct 26 16:01:41 2022 -0700 MEI import: handle editorial elements around staffItems. Handle @enclose in a bunch of places. commit 626c1cc02f5bbd3d43c969fd120e449d40305c95 Author: Greg Chapman <75333244+gregchapman-dev@users.noreply.github.com> Date: Wed Oct 26 14:16:55 2022 -0700 MEI import: handle staffItems that reference more than two staves (see hairpin-002.mei). commit 8cd88749821a8fa007495fa7faa5d94769be870f Author: Greg Chapman <75333244+gregchapman-dev@users.noreply.github.com> Date: Wed Oct 26 12:21:14 2022 -0700 MEI import: support <ending> elements (RepeatBracket). commit e9097df57165de21bac73b9810281a23d5e939f6 Author: Greg Chapman <75333244+gregchapman-dev@users.noreply.github.com> Date: Wed Oct 26 11:14:06 2022 -0700 Humdrum export: export no-stem grace notes with no recip (to match import). commit 42f839fa11450f4834766f444c0b7640a4ce870b Author: Greg Chapman <75333244+gregchapman-dev@users.noreply.github.com> Date: Wed Oct 26 10:18:53 2022 -0700 Humdrum import: recip-less grace notes are stemless quarter-notes. MEI import: support stemless notes (including @stem.len==0). commit 98995eca9a35b5824ee299dbe4cd3b164d37b717 Author: Greg Chapman <75333244+gregchapman-dev@users.noreply.github.com> Date: Wed Oct 19 22:27:36 2022 -0700 measureRest.krn commit fe83b1e1ab207c8953394512cc4c51e54161ce92 Author: Greg Chapman <75333244+gregchapman-dev@users.noreply.github.com> Date: Wed Oct 19 16:05:30 2022 -0700 MEI import: support <fTrem> element. commit e256f17fe2141ad5cbe736d1af264778ae96111f Author: Greg Chapman <75333244+gregchapman-dev@users.noreply.github.com> Date: Wed Oct 19 14:52:14 2022 -0700 Oops, remove debugging code. commit b1f867e1cf332444cf43a9470378710b980a4573 Author: Greg Chapman <75333244+gregchapman-dev@users.noreply.github.com> Date: Wed Oct 19 14:15:54 2022 -0700 MEI import: Support <bTrem> element. commit 58cd67c8650f5da62a6c90cbe71af3ea5b1619a1 Author: Greg Chapman <75333244+gregchapman-dev@users.noreply.github.com> Date: Tue Oct 18 23:07:54 2022 -0700 MEI import: handle tie continuations. commit f8e6017c80b29a993d17021d1bb72487b979e5a2 Author: Greg Chapman <75333244+gregchapman-dev@users.noreply.github.com> Date: Tue Oct 18 16:13:22 2022 -0700 MEI import: Do the appoggiatura thing to chords, too. Don't set stream duration, it will update automatically. commit 1d9dc86169aac4923bc83b7e4667efce3a01a25e Author: Greg Chapman <75333244+gregchapman-dev@users.noreply.github.com> Date: Mon Oct 17 15:48:26 2022 -0700 Humdrum export: fix longstanding bug where gracenotes would land before clefs/timesigs/etc in a measure. We didn't notice until musicdiff started paying attention to gracenotes. commit edf918b4599210027d26ea24d619211c8c5933d0 Author: Greg Chapman <75333244+gregchapman-dev@users.noreply.github.com> Date: Mon Oct 17 15:05:23 2022 -0700 MEI import: undo the leading nbsp that Verovio puts in single-character <syl> elements (lyrics). commit 037cb4d5c19a3fac6a32bdf33b8fcec5788a65b9 Author: Greg Chapman <75333244+gregchapman-dev@users.noreply.github.com> Date: Sun Oct 16 15:23:40 2022 -0700 Humdrum import: add cross-staff stem directions. MEI import: stop trying (partially unsuccessfully) to ignore cross-staff stem directions. commit dc70085dc9b4bbb385f6da1718b7e94101d26ca3 Author: Greg Chapman <75333244+gregchapman-dev@users.noreply.github.com> Date: Sun Oct 16 12:52:45 2022 -0700 MEI import: support grace="acc" and grace="unacc". commit a010a67714c8cd7072b330357a2518646e7a358c Author: Greg Chapman <75333244+gregchapman-dev@users.noreply.github.com> Date: Sun Oct 16 12:41:32 2022 -0700 Have a variety of 'q' and 'qq' grace notes. commit 6bbe59e5d932e4c86e942b03b8310d95d0a32ee2 Author: Greg Chapman <75333244+gregchapman-dev@users.noreply.github.com> Date: Fri Oct 14 17:10:33 2022 -0700 MEI import: Prepare for more correct grace note import by comparing them more carefully. commit 868ae2da130ff61243d268c83eac4898412fc8b1 Author: Greg Chapman <75333244+gregchapman-dev@users.noreply.github.com> Date: Fri Oct 14 14:00:29 2022 -0700 MEI import: fall back to latin-1 if utf8 and utf16 both fail. commit ca8cd4d1db066ce69b5c19d2a5923f4bc385ed78 Author: Greg Chapman <75333244+gregchapman-dev@users.noreply.github.com> Date: Fri Oct 14 13:48:26 2022 -0700 MEI import: Fix up short beams in a beamed group (changing 'continue' to 'stop'). commit e8a24a0df9a631d550d0d788159469f65584c871 Author: Greg Chapman <75333244+gregchapman-dev@users.noreply.github.com> Date: Fri Oct 14 12:21:03 2022 -0700 Don't crash if no @staff in staff item (e.g. <tempo>). Assume staff 1. commit 05890b12330954c809a21ca9cef08fce276df9d2 Author: Greg Chapman <75333244+gregchapman-dev@users.noreply.github.com> Date: Fri Oct 14 12:02:25 2022 -0700 MEI import: Prefer @oct.ges to @oct (until we support <octave> ottavas). commit 29efec231b3366ab1abb591c1c641c1f79dbef4b Author: Greg Chapman <75333244+gregchapman-dev@users.noreply.github.com> Date: Fri Oct 14 11:53:13 2022 -0700 Comment out the ottava support for now. commit 277f54f63725f51f000a125fc023500527ac9b48 Author: Greg Chapman <75333244+gregchapman-dev@users.noreply.github.com> Date: Thu Oct 13 16:40:41 2022 -0700 Humdrum import: support ottavas. commit 14c0a29d137bebc588a0f02e31ecbbb5921f8324 Author: Greg Chapman <75333244+gregchapman-dev@users.noreply.github.com> Date: Thu Oct 13 14:21:50 2022 -0700 MEI import: no longer crash when seeing <dir> with no <tstamp>. Just skip it. commit 45362b30e0b80aac75db0166d4c4449da98f2a91 Author: Greg Chapman <75333244+gregchapman-dev@users.noreply.github.com> Date: Wed Oct 12 15:06:39 2022 -0700 Humdrum import: Dynamic fontStyle defaults to bold (like Verovio)... Humdrum i/o: Add first barline on export, not import. MEI import: In dirFromElement, support @halign -> style.justify. commit 31304ac4ae50ea54dda33c13fa85b3e45daadfbf Author: Greg Chapman <75333244+gregchapman-dev@users.noreply.github.com> Date: Wed Oct 12 13:25:12 2022 -0700 Humdrum import: fix stem directions within beams. Default hairpin text to italics. commit ab71b166f90e1be2c503dc8fbddfd4349e53c411 Author: Greg Chapman <75333244+gregchapman-dev@users.noreply.github.com> Date: Wed Oct 12 10:59:27 2022 -0700 Humdrum import: Don't forget that first barline in the first measure (needed now, because no barline means something). commit f0163ac7ded020f64804f3df7b2549d4c89ffa9e Author: Greg Chapman <75333244+gregchapman-dev@users.noreply.github.com> Date: Tue Oct 11 17:07:40 2022 -0700 Oops. Might need a few fake rests at beginning of voice, not just 1. commit 92a58a6f0a683e2299035a5e7a15800645fb9e5a Author: Greg Chapman <75333244+gregchapman-dev@users.noreply.github.com> Date: Tue Oct 11 16:08:29 2022 -0700 Humdrum import: always start voices at the beginning of a measure. commit 19920a09e75d549c9ee62479f69b2ce5f4ea82e3 Author: Greg Chapman <75333244+gregchapman-dev@users.noreply.github.com> Date: Sun Oct 9 14:44:57 2022 -0700 MEI: default fontStyle for <dir> should be italic (following Verovio). commit d4088adc5384065d9b4ba7aedccc53728d13e18a Author: Greg Chapman <75333244+gregchapman-dev@users.noreply.github.com> Date: Sun Oct 9 13:20:19 2022 -0700 Merge RepeatBracket support (and new version number 1.4.1) from main. commit b62751ec1c0137733a49c9f022a48c4d9705035e Author: Greg Chapman <75333244+gregchapman-dev@users.noreply.github.com> Date: Sun Oct 9 12:23:07 2022 -0700 Fix a couple barline bugs. commit 4cb7901be862abce3927f023e49d640e6f00240d Author: Greg Chapman <75333244+gregchapman-dev@users.noreply.github.com> Date: Sun Oct 9 11:59:13 2022 -0700 Support "no barline" as well as "some of these simultaneous barlines are invisible". commit 10d4165392dd168386624599c6474345ba096067 Author: Greg Chapman <75333244+gregchapman-dev@users.noreply.github.com> Date: Sat Oct 8 11:56:54 2022 -0700 Humdrum import: handle keys that don't match keysigs. commit aaf9c638b8a8d710c4ae87a6ea970b73471170c0 Author: Greg Chapman <75333244+gregchapman-dev@users.noreply.github.com> Date: Sat Oct 8 11:09:26 2022 -0700 A fix and get rid of some debug prints. commit 20e936da1fe96598682313026501bec59cc37f30 Author: Greg Chapman <75333244+gregchapman-dev@users.noreply.github.com> Date: Sat Oct 8 11:05:11 2022 -0700 Humdrum export: don't assume all barline styles are the same across staves. commit 76d02aee194ec15877766e06e25129d1aea9389d Author: Greg Chapman <75333244+gregchapman-dev@users.noreply.github.com> Date: Fri Oct 7 16:04:10 2022 -0700 Humdrum: handle naturals in e.g. *k[bnenf#c#] by ignoring them. commit c0b9cd4f42438be905af62710c61b0bdcd2f4c16 Author: Greg Chapman <75333244+gregchapman-dev@users.noreply.github.com> Date: Fri Oct 7 14:59:47 2022 -0700 Humdrum: accidental fixes: Don't support hidden accidentals, don't take ottavas into account (yet). commit 7c1d6e02106eed1c5d89b62753460ba05c05f21b Author: Greg Chapman <75333244+gregchapman-dev@users.noreply.github.com> Date: Fri Oct 7 12:59:39 2022 -0700 Humdrum: compute accidental visibility during import; don't use music21's makeAccidentals. commit c1536d0c58c6cee889677ea48a3538af8f1f8c02 Author: Greg Chapman <75333244+gregchapman-dev@users.noreply.github.com> Date: Thu Oct 6 15:51:48 2022 -0700 Some stem direction fixes (in both Humdrum and MEI). commit 8ce10fbe25efe1e55d5b48bc31e132b4ff68aeef Author: Greg Chapman <75333244+gregchapman-dev@users.noreply.github.com> Date: Wed Oct 5 16:51:04 2022 -0700 Support note/chord stem direction (MEI). Unescape and strip text. commit e165f7a815e6869bf5ed360c25fab4258c055266 Author: Greg Chapman <75333244+gregchapman-dev@users.noreply.github.com> Date: Wed Oct 5 16:35:05 2022 -0700 accidental.displayType = 'if-absolutely-necessary' (by default) commit 1852b8215d0f6406f37bcd51e5b1357b4d358c3a Author: Greg Chapman <75333244+gregchapman-dev@users.noreply.github.com> Date: Wed Oct 5 14:21:06 2022 -0700 Make MEI importer more like Humdrum importer: 1. Handle measure element without @right (assume 'single') 2. Undo music21's default Dynamic absolute positioning 3. Handle @place='between' 4. Handle @staff='1 2' (for example) commit 32fb1e3e43da00bcbf3d6919bd8edd77d159f111 Author: Greg Chapman <75333244+gregchapman-dev@users.noreply.github.com> Date: Wed Oct 5 13:04:51 2022 -0700 Support <dynam> element. commit aaa9fceb55c4fb94d3ef2b8438fe70ef69e87255 Author: Greg Chapman <75333244+gregchapman-dev@users.noreply.github.com> Date: Wed Oct 5 11:53:16 2022 -0700 Add new tests diffallmei.py and showdiffmei.py. commit 4b8681d9565bf156648406021397130a1017c276 Author: Greg Chapman <75333244+gregchapman-dev@users.noreply.github.com> Date: Wed Oct 5 11:43:32 2022 -0700 Update to (1) no longer support music21 v6 and (2) support v8/9. commit 379508fb4cf3f27408a4dbd119fdf596ee5744ef Author: Greg Chapman <75333244+gregchapman-dev@users.noreply.github.com> Date: Mon Oct 3 14:28:54 2022 -0700 Support <subst> as a passthru. commit 16d760cf674e91ff47fc74e666339143c42b2f28 Author: Greg Chapman <75333244+gregchapman-dev@users.noreply.github.com> Date: Sat Oct 1 17:09:50 2022 -0700 Support editorial elements inside <beam> and <tuplet>. commit 9b32c242690bd6c2e313495e6d9f0fbe03c6d941 Author: Greg Chapman <75333244+gregchapman-dev@users.noreply.github.com> Date: Sat Oct 1 16:51:53 2022 -0700 Fix cut and common time. commit fcd38e95f9f786887e8976adb8a2f3df9514c0cc Author: Greg Chapman <75333244+gregchapman-dev@users.noreply.github.com> Date: Sat Oct 1 16:45:33 2022 -0700 Support several other editorial tags (pass-thru). commit 5919a58ce39b1f68bb2c7462e577aaa0b369e0b1 Author: Greg Chapman <75333244+gregchapman-dev@users.noreply.github.com> Date: Sat Oct 1 15:12:48 2022 -0700 Support <app> and <choice> in <layer>, <note>, <chord>, and <dir> (and thus <tempo> etc). commit 4b7955f92812d25777dcb7f5a1a3df317657e612 Author: Greg Chapman <75333244+gregchapman-dev@users.noreply.github.com> Date: Fri Sep 30 17:41:27 2022 -0700 Update LICENSE to add music21's license for the MEI work. commit 49400f5fd7ef46bd4379cfaef3acab425f1d8d7d Author: Greg Chapman <75333244+gregchapman-dev@users.noreply.github.com> Date: Fri Sep 30 17:05:19 2022 -0700 Handle <app><lem><rdg> within <note>. commit 4826b748de5f4d22a38691a277e322a0dfd9ed4b Author: Greg Chapman <75333244+gregchapman-dev@users.noreply.github.com> Date: Fri Sep 30 16:43:29 2022 -0700 Cue-sized chords and rests, too (duh). commit 7991f4691552fff92c2401fe6a8b9fb84a8ca9d8 Author: Greg Chapman <75333244+gregchapman-dev@users.noreply.github.com> Date: Fri Sep 30 16:17:52 2022 -0700 Implement cue-sized notes. commit 8a8802240f974d854ad0123b316665bd4865a40f Author: Greg Chapman <75333244+gregchapman-dev@users.noreply.github.com> Date: Fri Sep 30 16:02:00 2022 -0700 Fix a missing activeMeter. commit 74fff6b5c4218cf004edca2641ce118def2ab8b0 Author: Greg Chapman <75333244+gregchapman-dev@users.noreply.github.com> Date: Fri Sep 30 15:49:59 2022 -0700 lint-be-gone commit fdf09eeff29278b848ae6d8ff1ddee298ee079dd Author: Greg Chapman <75333244+gregchapman-dev@users.noreply.github.com> Date: Fri Sep 30 15:44:29 2022 -0700 Tweak the metronome mark regex. Support @form="invis" for keysig and timesig. commit 2f728c28654a76c4e8a866f454eda36097dfe3f3 Author: Greg Chapman <75333244+gregchapman-dev@users.noreply.github.com> Date: Fri Sep 30 15:30:13 2022 -0700 Improve support for lyrics (verse and syl) significantly. commit 3eed16a15ad6d9f6cb685b0de25e0c4a75fa5d83 Author: Greg Chapman <75333244+gregchapman-dev@users.noreply.github.com> Date: Sun Sep 25 15:34:44 2022 -0700 Restructure <verse> handling to be handled in _processEmbeddedElements. We do this to allow various editorial elements to be handled more easily. The cost is that we no longer can easily add backupN verse numbers. commit 00488f99246287fa9bc6e5a8768c4099529299dc Author: Greg Chapman <75333244+gregchapman-dev@users.noreply.github.com> Date: Sat Sep 24 16:35:46 2022 -0700 Support <app> if seen in a layer. commit e6b449dbf2313e88193cf33f3cd3579f5ab8b4ab Author: Greg Chapman <75333244+gregchapman-dev@users.noreply.github.com> Date: Sat Sep 24 15:55:33 2022 -0700 Oops, left in a partial experiment. Take it out again. commit 8264488299d0d9507ba931c784769a0be2f10691 Author: Greg Chapman <75333244+gregchapman-dev@users.noreply.github.com> Date: Sat Sep 24 15:50:35 2022 -0700 Rewrite <accid>, @accid, @accid.ges handling for more thorough conversion. commit 853690ad485f87297aaef822b22b8a8d313752bd Author: Greg Chapman <75333244+gregchapman-dev@users.noreply.github.com> Date: Thu Sep 22 17:35:13 2022 -0700 Lose a little lint. commit e8c3404b605f9c348703a9f043df87a2db51b426 Author: Greg Chapman <75333244+gregchapman-dev@users.noreply.github.com> Date: Thu Sep 22 17:26:29 2022 -0700 Fix up the tests for that last accidental processing change. commit 9df9e86829f0099680f75c9e0b4ae2a049042b44 Author: Greg Chapman <75333244+gregchapman-dev@users.noreply.github.com> Date: Thu Sep 22 17:19:09 2022 -0700 Fix accidental processing. showimport.py now uses makeNotation=False for all write/show operations. commit 6ce272ad00c2bd057cbc0345862e35721d53c009 Author: Greg Chapman <75333244+gregchapman-dev@users.noreply.github.com> Date: Thu Sep 22 16:59:54 2022 -0700 Don't set music21 style.fontWeight (it's redundant with style.fontStyle). commit e117f0a2dc96bd192c0b7432576613099eb0d354 Author: Greg Chapman <75333244+gregchapman-dev@users.noreply.github.com> Date: Thu Sep 22 16:13:19 2022 -0700 Add tempoFromElement, which generates TempoText or MetronomeMark. showimport.py now also opens the resulting musicxml in bbedit. commit bc74878f3bb07493b0f0848bd1bd49f1965e5be0 Author: Greg Chapman <75333244+gregchapman-dev@users.noreply.github.com> Date: Wed Sep 21 13:06:49 2022 -0700 Get the tests passing again with the new API signatures. commit 9fdd7a23e153cc4c7887f10c0d4903fa26d83aeb Author: Greg Chapman <75333244+gregchapman-dev@users.noreply.github.com> Date: Mon Sep 19 15:18:49 2022 -0700 Improvements to <dir> handling (offset, parsing, fontStyle and fontWeight). commit c93b553d2dd5ae378e622124d01d122744fbd28f Author: Greg Chapman <75333244+gregchapman-dev@users.noreply.github.com> Date: Sun Sep 18 18:00:57 2022 -0700 First implementation of <dir>. Requires tstamp support for the first time, which requires activeMeter to be plumbed through _everywhere_. Tests are all failing because of the new function signatures, and while the directions are showing up, they're at the wrong offset, and they show up twice. commit 62cd35a3c9b6bb8a2390d030556412a89e760639 Author: Greg Chapman <75333244+gregchapman-dev@users.noreply.github.com> Date: Wed Sep 14 18:06:51 2022 -0700 A simple attempt at <app> support in a layer. I can't share a single tagToFunction, or the mock tests start failing. commit 5a24a9839ae066cdc71ba83a1b8e55e83106e795 Author: Greg Chapman <75333244+gregchapman-dev@users.noreply.github.com> Date: Tue Sep 13 16:03:48 2022 -0700 Fix tests broken by previous changes; plumb otherInfo dict through the parse tree; fix tests broken by _that_. commit 777b7b01c73ce2b6bc1b9fd64d1a5605b9f1b74a Author: Greg Chapman <75333244+gregchapman-dev@users.noreply.github.com> Date: Sat Sep 10 14:33:47 2022 -0700 New test programs for MEI import. commit 7ab8098e96b346e0e84f70747065993412445ae7 Author: Greg Chapman <75333244+gregchapman-dev@users.noreply.github.com> Date: Sat Sep 10 12:35:58 2022 -0700 Ignore <annot/> quietly. Lose some temporary warnings. commit d9d9367ab25cf98ed4a4b24827cc78346fccac02 Author: Greg Chapman <75333244+gregchapman-dev@users.noreply.github.com> Date: Sat Sep 10 12:02:50 2022 -0700 Fix the rest of the crashes on the verovio mei test suite. commit f25c69427eb4de440c126b90ca2d45a94600d2f8 Author: Greg Chapman <75333244+gregchapman-dev@users.noreply.github.com> Date: Fri Sep 9 22:39:09 2022 -0700 Handle non-numeric measure numbers (e.g. '44b'). commit 3b4d143492b92715a61733afd87387e45ae0d148 Author: Greg Chapman <75333244+gregchapman-dev@users.noreply.github.com> Date: Fri Sep 9 17:33:22 2022 -0700 Avoid crash in _articulationFromAttr when an unsupported articulation is encountered. commit 3257969d11e39d572339da541a59f811fc2e1569 Author: Greg Chapman <75333244+gregchapman-dev@users.noreply.github.com> Date: Fri Sep 9 17:23:17 2022 -0700 lint lint lint commit 0a978ac898da4b4b0312bd467b728f841682e9e4 Author: Greg Chapman <75333244+gregchapman-dev@users.noreply.github.com> Date: Fri Sep 9 17:04:43 2022 -0700 Parse <meterSig> and <keySig> in a few other places (layer, etc), and improve timeSigFromAttribute to handle cut and common time. commit fc01ebb7293ba1ebcdd366e0293b8cc03bf97839 Author: Greg Chapman <75333244+gregchapman-dev@users.noreply.github.com> Date: Fri Sep 9 16:40:07 2022 -0700 Add support for <keySig> and <meterSig> as seen in <staffDef>. commit 72c5670b5f4e8af7bfc1df80c1118afb187da198 Author: Greg Chapman <75333244+gregchapman-dev@users.noreply.github.com> Date: Fri Sep 9 13:23:10 2022 -0700 Allow @dur values that aren't mei-CMN, even though we're not claiming to support anything beyond mei-CMN. commit f38eba54387439f15e3122e19b288c1e0c1f3f65 Author: Greg Chapman <75333244+gregchapman-dev@users.noreply.github.com> Date: Fri Sep 9 12:53:25 2022 -0700 Better warning output (no more prints). Never raise for bad attribute value. commit f390b8b71b853c2b19234929a5107635a276df7d Author: Greg Chapman <75333244+gregchapman-dev@users.noreply.github.com> Date: Fri Sep 9 11:39:46 2022 -0700 Add (temporary) prints to show what is missing. Fix crash when 'trans.diat' or 'trans.semi' contain a float value. commit 4b63405507bf682b3fbc7d7349fb07b3fbfb42bd Author: Greg Chapman <75333244+gregchapman-dev@users.noreply.github.com> Date: Thu Sep 8 15:09:32 2022 -0700 Add back in a lost type declaration. commit 0237271d3fd1274e09a2f7cddbaf9aac4842216b Author: Greg Chapman <75333244+gregchapman-dev@users.noreply.github.com> Date: Thu Sep 8 15:04:53 2022 -0700 Clean out the commented out silly tests. commit e397d2c5fe884a5f3f396580183ae45a492adf6d Author: Greg Chapman <75333244+gregchapman-dev@users.noreply.github.com> Date: Thu Sep 8 14:53:24 2022 -0700 Get the tests passing again. commit 143543ac606fa3f72d77b45790a79ec86bf2710b Author: Greg Chapman <75333244+gregchapman-dev@users.noreply.github.com> Date: Thu Sep 8 13:49:16 2022 -0700 Fix some mock.patches. commit 774cb847d8fcafb95171a2060bd43363f8e8cd6c Author: Greg Chapman <75333244+gregchapman-dev@users.noreply.github.com> Date: Sat Aug 27 17:24:56 2022 -0700 Put things back a little more (except for those slur tests that thought 'i1' should be '1i'). commit 9120812b43b14ebc7e893ee23f923650818adcd8 Author: Greg Chapman <75333244+gregchapman-dev@users.noreply.github.com> Date: Sat Aug 27 16:46:57 2022 -0700 Just the type-hinting please (no 'fixes' yet). commit 10bfb27e10c17a5511764b585ca091f083de630c Author: Greg Chapman <75333244+gregchapman-dev@users.noreply.github.com> Date: Thu Aug 25 16:56:18 2022 -0700 Fix a couple test failures. commit 132aa6fcd0d3cbc5e012bd9ffaee0f49de1e1ffd Author: Greg Chapman <75333244+gregchapman-dev@users.noreply.github.com> Date: Wed Aug 24 17:01:20 2022 -0700 Get tests closer to working. commit 0cd3db66369f7a4f42be97e5ba497a3f099f0505 Author: Greg Chapman <75333244+gregchapman-dev@users.noreply.github.com> Date: Wed Aug 24 15:44:29 2022 -0700 Finished all the linting and hinting, make sure tests are testing the right MEI converter. Many tests are failing. commit f1349c193d76d29ed8b956cf86119821cd59ef35 Author: Greg Chapman <75333244+gregchapman-dev@users.noreply.github.com> Date: Tue Aug 23 22:25:35 2022 -0700 More type-hinting and linting. commit 2b97049124b173a1a3a80b2200a230ee1bbc5be0 Author: Greg Chapman <75333244+gregchapman-dev@users.noreply.github.com> Date: Tue Aug 23 16:09:15 2022 -0700 Start of pylint/mypy/flake8 pass, making sure mypy scans everything. The idea is that I will be documenting how this works, with type hints. commit cf84a37f32cc29e6420117131a5683e95821b197 Author: Greg Chapman <75333244+gregchapman-dev@users.noreply.github.com> Date: Tue Aug 23 13:17:54 2022 -0700 Add the converter (copied verbatim from music21/converter/subConverters.py). commit 0e4bf4004834ab7f6441bb6313a758548a741ed8 Author: Greg Chapman <75333244+gregchapman-dev@users.noreply.github.com> Date: Tue Aug 23 13:05:51 2022 -0700 Copy music21/mei here as a starting point.
1 parent 6340948 commit a145679

60 files changed

Lines changed: 18508 additions & 1181 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.flake8

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,3 +30,7 @@ per-file-ignores =
3030
music21/search/__init__.py:F403
3131

3232
max-line-length=100
33+
34+
inline-quotes = single
35+
multiline-quotes = '''
36+
docstring-quotes = '''

.pylintrc

Lines changed: 5 additions & 55 deletions
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,6 @@
77
# pygtk.require().
88
# init-hook=
99

10-
# Profiled execution.
11-
profile=no
12-
1310
# Add files or directories to the blacklist. They should be base names, not
1411
# paths.
1512
ignore=CVS
@@ -66,22 +63,18 @@ disable=
6663
fixme, # obviously known
6764
superfluous-parens, # nope -- if they make things clearer...
6865
too-many-statements, # someday
69-
no-member, # important, but too many false positives
7066
too-many-arguments, # definitely! but takes too long to get a fix now...
7167
too-many-public-methods, # maybe...
7268
too-many-branches, # yes, someday
7369
too-many-locals, # no
7470
too-many-lines, # yes, someday
75-
bad-whitespace, # maybe later, but "bad" isn't something I necessarily agree with
76-
bad-continuation, # never remove -- this is a good thing many times.
7771
too-many-return-statements, # we'll see
7872
too-many-instance-attributes, # maybe later
73+
# no-self-use, # moved to optional extension.
7974
invalid-name, # these are good music21 names; fix the regexp instead...
80-
no-self-use, # maybe later
8175
too-few-public-methods, # never remove or set to 1
8276
trailing-whitespace, # should ignore blank lines with tabs
8377
missing-docstring, # gets too many well-documented properties
84-
star-args, # no problem with them...
8578
protected-access, # this is an important one, but see below...
8679
unused-argument,
8780
import-self, # fix is either to get rid of it or move away many tests...
@@ -106,6 +99,8 @@ disable=
10699
not-callable, # false positives, for instance on x.next()
107100
raise-missing-from, # want to do this eventually, but adding 1000 msgs not helpful
108101
consider-using-f-string, # future?
102+
unnecessary-lambda-assignment, # opinionated
103+
consider-using-generator, # generators are less performant for small container sizes, like most of ours
109104

110105
# 'protected-access', # this is an important one, but for now we do a lot of
111106
# # x = copy.deepcopy(self); x._volume = ... which is not a problem...
@@ -119,11 +114,6 @@ disable=
119114
output-format=text
120115
msg-template="{path}:{line}: [{msg_id}({symbol}), {obj}] {msg}"
121116

122-
# Put messages in a separate file for each module / package specified on the
123-
# command line instead of printing them on stdout. Reports (if any) will be
124-
# written in a file name "pylint_global.[txt|html]".
125-
files-output=no
126-
127117
# Tells whether to display a full report or only the messages
128118
reports=no
129119

@@ -148,9 +138,6 @@ evaluation=10.0 - ((float(5 * error + warning + refactor + convention) / stateme
148138
# Required attributes for module, separated by a comma
149139
# required-attributes=
150140

151-
# List of builtins function names that should not be used, separated by a comma
152-
bad-functions=map,filter,input
153-
154141
# Good variable names which should always be accepted, separated by a comma
155142
good-names=i,j,k,ex,Run,_
156143

@@ -167,63 +154,33 @@ include-naming-hint=no
167154
# Regular expression matching correct function names
168155
function-rgx=[a-z_][A-Za-z0-9_]{2,30}$
169156

170-
# Naming hint for function names
171-
function-name-hint=[a-z_][A-Za-z0-9_]{2,30}$
172-
173157
# Regular expression matching correct variable names
174158
variable-rgx=[a-z_][A-Za-z0-9_]{2,30}$
175159

176-
# Naming hint for variable names
177-
variable-name-hint=[a-z_][A-Za-z0-9_]{2,30}$
178-
179160
# Regular expression matching correct constant names
180161
const-rgx=(([A-Z_][A-Z0-9_]*)|(__.*__))$
181162

182-
# Naming hint for constant names
183-
const-name-hint=(([A-Z_][A-Z0-9_]*)|(__.*__))$
184-
185163
# Regular expression matching correct attribute names
186164
attr-rgx=[a-z_][A-Za-z0-9_]{2,30}$
187165

188-
# Naming hint for attribute names
189-
attr-name-hint=[a-z_][A-Za-z0-9_]{2,30}$
190-
191166
# Regular expression matching correct argument names
192167
argument-rgx=[a-z_][A-Za-z0-9_]{2,30}$
193168

194-
# Naming hint for argument names
195-
argument-name-hint=[a-z_][A-Za-z0-9_]{2,30}$
196-
197169
# Regular expression matching correct class attribute names
198170
class-attribute-rgx=([A-Za-z_][A-Za-z0-9_]{2,30}|(__.*__))$
199171

200-
# Naming hint for class attribute names
201-
class-attribute-name-hint=([A-Za-z_][A-Za-z0-9_]{2,30}|(__.*__))$
202-
203172
# Regular expression matching correct inline iteration names
204173
inlinevar-rgx=[A-Za-z_][A-Za-z0-9_]*$
205174

206-
# Naming hint for inline iteration names
207-
inlinevar-name-hint=[A-Za-z_][A-Za-z0-9_]*$
208-
209175
# Regular expression matching correct class names
210176
class-rgx=[A-Z_][a-zA-Z0-9]+$
211177

212-
# Naming hint for class names
213-
class-name-hint=[A-Z_][a-zA-Z0-9]+$
214-
215178
# Regular expression matching correct module names
216179
module-rgx=(([a-z_][a-zA-Z0-9_]*)|([A-Z][a-zA-Z0-9]+))$
217180

218-
# Naming hint for module names
219-
module-name-hint=(([a-z_][a-zA-Z0-9_]*)|([A-Z][a-zA-Z0-9]+))$
220-
221181
# Regular expression matching correct method names
222182
method-rgx=[a-z_][a-zA-Z0-9_]{2,30}$
223183

224-
# Naming hint for method names
225-
method-name-hint=[a-z_][a-zA-Z0-9_]{2,30}$
226-
227184
# Regular expression which should only match function or class names that do
228185
# not require a docstring.
229186
no-docstring-rgx=__.*__
@@ -245,9 +202,6 @@ ignore-long-lines=^\s*(# )?<?https?://\S+>?$|converter\.parse
245202
# else.
246203
single-line-if-stmt=no
247204

248-
# List of optional constructs for which whitespace checking is disabled
249-
no-space-check=trailing-comma,dict-separator
250-
251205
# Maximum number of lines in a module
252206
max-module-lines=1000
253207

@@ -320,11 +274,7 @@ ignored-modules=
320274

321275
# List of classes names for which member attributes should not be checked
322276
# (useful for classes with attributes dynamically set).
323-
ignored-classes=SQLObject
324-
325-
# When zope mode is activated, add a predefined set of Zope acquired attributes
326-
# to generated-members.
327-
# zope=no
277+
ignored-classes=StreamCore
328278

329279
# List of members which are set dynamically and missed by pylint inference
330280
# system, and so shouldn't trigger E0201 when accessed. Python regular
@@ -398,7 +348,7 @@ max-statements=100
398348
max-parents=7
399349

400350
# Maximum number of nested blocks for function / method body
401-
max-nested-blocks=8
351+
max-nested-blocks=10
402352

403353
# Maximum number of attributes for a class (see R0902).
404354
max-attributes=20

LICENSE

Lines changed: 30 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
11
The MIT License (MIT)
2-
Copyright (c) 2021-2022 Greg Chapman
2+
Copyright (c) 2021-2023 Greg Chapman
33

44
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
55

66
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
77

88
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
99

10-
The Humdrum parsing portion of this software is derived/translated from the
10+
The Humdrum parsing/writing portion of this software is derived/translated from the
1111
C++ code in https://github.com/craigsapp/humlib, which uses the BSD 2-Clause
1212
License:
1313

@@ -33,3 +33,31 @@ LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
3333
ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
3434
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
3535
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
36+
37+
The core of the MEI parsing portion of this software was based on the MEI parser
38+
in https://github.com/cuthbertLab/music21, which uses the BSD 3-Clause License:
39+
40+
Copyright (c) 2006-2023 Michael Scott Asato Cuthbert
41+
All rights reserved.
42+
43+
Redistribution and use in source and binary forms, with or without
44+
modification, are permitted provided that the following conditions are met:
45+
* Redistributions of source code must retain the above copyright
46+
notice, this list of conditions and the following disclaimer.
47+
* Redistributions in binary form must reproduce the above copyright
48+
notice, this list of conditions and the following disclaimer in the
49+
documentation and/or other materials provided with the distribution.
50+
* Neither the names music21, Michael Scott Asato Cuthbert, nor the
51+
names of its contributors may be used to endorse or promote products
52+
derived from this software without specific prior written permission.
53+
54+
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
55+
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
56+
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
57+
DISCLAIMED. IN NO EVENT SHALL Cuthbert BE LIABLE FOR ANY
58+
DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
59+
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
60+
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
61+
ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
62+
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
63+
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

README.md

Lines changed: 34 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,10 @@
11
# converter21
2-
A music21-extending converter package, and score conversion command line tool. Contains an alternate music21 humdrum converter that adds a humdrum writer and replaces music21's humdrum parser.
2+
A music21-extending converter package that contains alternate music21 Humdrum and MEI converters (a Humdrum parser/writer, and a MEI parser). converter21 is also a command line tool for conversion between various music notation file formats.
33

44
The Humdrum portion of this software is derived/translated from the C++ code in [humlib](https://github.com/craigsapp/humlib), by Craig Stuart Sapp.
55

6+
The core of the MEI portion of this software was based on the MEI converter in [music21](https://github.com/cuthbertlab/music21), by Michael Scott Asato Cuthbert.
7+
68
## Setup
79
Depends on [music21](https://pypi.org/project/music21), which should also be configured (instructions [here](https://web.mit.edu/music21/doc/usersGuide/usersGuide_01_installing.html)) to display a musical score (e.g. with Musescore). Some of the tests depend on [musicdiff](https://pypi.org/project/musicdiff), but converter21 itself does not.
810

@@ -34,19 +36,19 @@ Named arguments:
3436

3537
## API usage:
3638

37-
See `converter21/__main__.py` (the source code for the command line tool) for an example of how to get music21 to use converter21's alternate Humdrum converter in your own code.
39+
See `converter21/__main__.py` (the source code for the command line tool) for an example of how to get music21 to use converter21's alternate Humdrum and MEI converters in your own code.
3840

3941
## License
4042
The MIT License (MIT)
41-
Copyright (c) 2021-2022 Greg Chapman
43+
Copyright (c) 2021-2023 Greg Chapman
4244

4345
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
4446

4547
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
4648

4749
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
4850

49-
The Humdrum parsing portion of this software is derived/translated from the
51+
The Humdrum parsing/writing portion of this software is derived/translated from the
5052
C++ code in [humlib](https://github.com/craigsapp/humlib), which uses the BSD 2-Clause
5153
License:
5254

@@ -72,3 +74,31 @@ LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
7274
ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
7375
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
7476
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
77+
78+
The core of the MEI parsing portion of this software was based on the MEI parser
79+
in [music21](https://github.com/cuthbertLab/music21), which uses the BSD 3-Clause License:
80+
81+
Copyright (c) 2006-2023 Michael Scott Asato Cuthbert
82+
All rights reserved.
83+
84+
Redistribution and use in source and binary forms, with or without
85+
modification, are permitted provided that the following conditions are met:
86+
* Redistributions of source code must retain the above copyright
87+
notice, this list of conditions and the following disclaimer.
88+
* Redistributions in binary form must reproduce the above copyright
89+
notice, this list of conditions and the following disclaimer in the
90+
documentation and/or other materials provided with the distribution.
91+
* Neither the names music21, Michael Scott Asato Cuthbert, nor the
92+
names of its contributors may be used to endorse or promote products
93+
derived from this software without specific prior written permission.
94+
95+
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
96+
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
97+
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
98+
DISCLAIMED. IN NO EVENT SHALL Cuthbert BE LIABLE FOR ANY
99+
DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
100+
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
101+
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
102+
ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
103+
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
104+
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

0 commit comments

Comments
 (0)