-
Notifications
You must be signed in to change notification settings - Fork 1
/
ReleaseNotes_3.1.0.txt
62 lines (53 loc) · 2.99 KB
/
ReleaseNotes_3.1.0.txt
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
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
Changes since 3.0.1:
All importers/exporters:
- Regularize invisible vs regular vs missing m21 Barlines.
All importers:
- Fix handling of 'title' vs. 'movementName'.
All exporters:
- Fix handling of "play only" MetronomeMarks.
- Regularize treatment of absoluteY and placement.
- Handle Grace vs Appoggiatura more carefully.
- Handle gaps by exporting invisible rests.
- Obey chordSymbol.writeAsChord during export (ChordSymbol is not yet supported, but
if .writeAsChord is true, we'll emit the <chord> itself).
- Fix handling of staves not in any staffGroup.
MEI importer/exporter:
- Support lyric placement
- DatePrimitive range edge that is also a range needs to be
"[date1..date2]", not "date1/date2".
We can now import both, but export always produces "[date1..date2]".
- Fix handling of tuplet.bracket and visibility.
MEI importer:
- Fix timestamp computation (notice meter changes inside layers before computing
any timestamps in that measure).
- Allow <space> to be used as a `@startid` or `@endid` in a staff item (e.g. <hairpin>).
MEI exporter:
- MetronomeMark implicit text no longer emitted in <tempo>.
- Fix duplicated clefs/keySigs/meterSigs; if you emit in staffdef, don't emit
again later at start of layer.
- Actually emit clef/key/timesig changes that aren't at start of measure.
- `@midi.bpm` must be exported as a string (fixes an MEI export crash).
- If `@tstamp2` is going to be in a previous measure, don't crash, just put it at the beginning
of this measure.
- Add missing `@isodate` for "datePublished".
- Fix handling of spanners that start and end in different Parts (we were crashing).
- Emit ornament accidentals only if visible (there is no `@accid.ges` on
ornamentals, unfortunately, or we would use that for invisible accidentals).
- MEI hairpins end at start of `@endid`. Unfortunately, music21 DynamicWedges
end at _end_ of dw.getLast(). So we can't use dw.getLast() as `@endid`. Instead
we now emit a `@tstamp2` at the ending offset of dw.getLast().
Humdrum importer/exporter:
- Fix handling of OMD that is not Tempo (picked up `!LO:TX:omd:` import support from
Verovio, then started emitting that in Humdrum export).
- Support export of non-note-associated (i.e. timestamped) dynamics/directions/tempos
by adding a voice full of invisible rests, one of which lands at the desired offset.
This was a Humdrum export feature, but it exposed several Humdrum import bugs that
got fixed as well.
Humdrum importer:
- Fix handling of transposing instruments.
- Fix handling of preferred vs forced placement of dynamics and hairpins.
Tests:
- Modify all diffall and showdiff tests to report mismatched number of parts before
diffing to avoid musicdiff exception.
- Visualize note offset differences (new musicdiff v3.1 feature) in diffall tests.
- Print out exception information in diffall tests.