Closed craigsapp closed 2 years ago
Commit https://github.com/rism-digital/verovio/commit/78c69b1223697e50cd237422c3b7daa079863e98 allows for breve and long durations for <spaces>
. Now the example data has a single <space>
for the breve-duration measure:
<space xml:id="sdmc3pe" dur="breve" />
Transcoded from Humdrum
Implemented with commit https://github.com/rism-digital/verovio/commit/382f16c2e0fb9c66fcd134683521592e2008fdfd
Updated example:
**kern **kern
*clefC2 *clefG2
*k[] *k[]
*M2/1 *M2/1
*met(C|) *met(C|)
=1 =1
00r 1dd
. 2dd
. 2dd
=2 =2
. 1b
. 2cc
. 2a
= =
*- *-
Now renders as:
Transcoded from Humdrum
Normal rests still work as before (using <mRest>
):
**kern **kern
*clefC2 *clefG2
*k[] *k[]
*M2/1 *M2/1
*met(C|) *met(C|)
=1 =1
0r 1dd
. 2dd
. 2dd
=2 =2
0r 1b
. 2cc
. 2a
= =
*- *-
Transcoded from Humdrum
Here is the rest+tie encoding method example:
**kern **kern
*clefC2 *clefG2
*k[] *k[]
*M2/1 *M2/1
*met(C|) *met(C|)
=1 =1
[0r 1dd
. 2dd
. 2dd
=2 =2
0r] 1b
. 2cc
. 2a
= =
*- *-
!!!filter: tie -m
An option should be added to the tie
filter to allow only merging/breaking rests.
Here is the original test composition:
Measure 1 & 2 in the Tenor part now has better (and correct) notation.
Also I added the verovio options:
!!!verovio: spacingLinear .1
!!!verovio: spacingNonLinear .1
This is similar to
!!!verovio: evenNoteSpacing 1
But allows more control of the spacing (giving a little more space than evenNoteSpacing
does, which is equivalent to spacingLinear 0
and spacingNonLinear 0
).
Perfect! Thank you for implementing this so fast. And again thanks for all the help and hints to the options I get to know here.
for @WolfgangDrescher, and also of interest for @jacekiwaszko1 and @mkonik:
This example from issue https://github.com/rism-digital/verovio/issues/2690, and a minimal extract of https://verovio.humdrum.org/?github=WolfgangDrescher/lassus-geistliche-psalmen/kern/01-beatus-vir.krn:
The rest in the first measure should be shown as a long rest rather than a breve rest. The basic problem is that
<mRest>
, which is being used in the first measure when converting to MEI, cannot yet have a duration or visual duration in verovio:Click to view MEI conversion for example (with handed edited values for `mRest@dur` and `mRest@dur.ges`)
```xmlTranscoded from Humdrum
But in any case, I think that
<mRest>
should not be used in this situation, and rather<rest>
should be used. This will allow displaying of a long rest that is left justified (rather than center justified with mRests):Another possibility for visual display is splitting the rest into two:
I think that this should not be the expected default rendering, but a filter/tool could be developed to convert the long-rest version to the two breve-rest version.
And interesting concept could be to allow encoding or transforming the long rest like this:
where the two rests are "tied" together. This would allow for the
tie -m
filter to merge the independent rests into a single rest:(the rest should display as a long rest left justified in the first measure).
Then there would be some option added to the tie tool that would be able to split the long rest into two tied breve rests (the ties on rest would not be translated into MEI, but would be used to split and merge such rests automatically. This would also help in preparing fully modern score from diplomatic encodings.
A subissue is that the overflow duration from the long rest in the second measure is being split into two separate
<space>
elements:These should be merged into one breve space:
Also extend to "long" (no "maxima" durations in MEI cmn module, so longs cannot be merged into maximas).
Another subissue is that the clipped rest and following invisible rests should be given a
@type="straddle"
(or similar) so that the MEI conversion can identify this sort of case. This is related to issue https://github.com/humdrum-tools/verovio-humdrum-viewer/issues/652