Re: mensural notation improvements (issue3797046)
On 1/24/11 3:31 PM, "Benkő Pál" wrote: >>> please advise me about regression tests: can I modify ligatures within >>> mensural-ligatures.ly? if not, can I add new ones to the same file? >> >> Ancient music has been abandoned by developers for a number of years. >> IMO, you may do whatever you think makes the most sense as you try to >> bring ancient music back into the mainstream of LilyPond development. > > I thought there might be a general policy about editing files in the > regression suite. As far as I know, the only policies we have about writing regression tests are in the Contributors' Guide, section 10.8.2 Writing regression tests. " Regression tests should be as brief as possible to demonstrate the functionality of the code. Regression tests should generally cover one issue per test. Several short, single-issue regression tests are preferred to a single, long, multiple-issue regression test. Use existing regression tests as templates to demonstrate the type of header information that should be included in a regression test. " Sometimes a regression test is intended to show all possible functionality. In such a case, an existing test should be extended to show the added functionality. But where possible, we try to keep tests to a single issue. Personally, I will trust your judgment in this case. Do what seems best. Thanks, Carl ___ lilypond-devel mailing list lilypond-devel@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: mensural notation improvements (issue3797046)
On 2011/01/24 21:27:35, benko.pal wrote: new patchset up. please advise me about regression tests: can I modify ligatures within mensural-ligatures.ly? if not, can I add new ones to the same file? Ancient music has been abandoned by developers for a number of years. IMO, you may do whatever you think makes the most sense as you try to bring ancient music back into the mainstream of LilyPond development. Thanks, Carl http://codereview.appspot.com/3797046/ ___ lilypond-devel mailing list lilypond-devel@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: mensural notation improvements (issue3797046)
>> please advise me about regression tests: can I modify ligatures within >> mensural-ligatures.ly? if not, can I add new ones to the same file? > > Ancient music has been abandoned by developers for a number of years. > IMO, you may do whatever you think makes the most sense as you try to > bring ancient music back into the mainstream of LilyPond development. I thought there might be a general policy about editing files in the regression suite. p ___ lilypond-devel mailing list lilypond-devel@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: mensural notation improvements (issue3797046)
new patchset up. please advise me about regression tests: can I modify ligatures within mensural-ligatures.ly? if not, can I add new ones to the same file? http://codereview.appspot.com/3797046/ ___ lilypond-devel mailing list lilypond-devel@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: mensural notation improvements (issue3797046)
now I see I forgot to answer a question: > http://codereview.appspot.com/3797046/diff/1/lily/mensural-ligature-engraver.cc#newcode380 > lily/mensural-ligature-engraver.cc:380: { > Why put the {} in this case? because variables defined there should not be seen in the default case. p ___ lilypond-devel mailing list lilypond-devel@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: mensural notation improvements (issue3797046)
hi Carl, thanks for reviewing! > Let me start by saying I know *nothing* about mensural notation. > > The code looks good to me. > > I found only one real issue: > > LilyPond coding standards for C++ say that if there is only one > statement in an if clause, we omit {} around that clause. that's a pity - I hate adding/removing braces when the number of statement changes. nevertheless I'll change these instances. > I also had a question (and it probably doesn't matter much). When I've > written font glyphs that are sometimes solid and sometimes hollow, I > always calculate both the inner and outer paths. And then when I create > the glyph I only use the paths that are actually needed. In your code, > you didn't create the path unless it was needed. It probably makes no > difference at all, but I'd like to hear from the font gurus if there is > a preference. > > My take was we only make the fonts at install, so the code doesn't need > to be optimized for speed, so I optimized for readability, which in my > mind, meant not putting the inner path inside a conditional. in this case the shape of the inner path is conditional as well (and it's truly nasty, I admit). I'll upload a modified patchset tonight. p ___ lilypond-devel mailing list lilypond-devel@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: mensural notation improvements (issue3797046)
Let me start by saying I know *nothing* about mensural notation. The code looks good to me. I found only one real issue: LilyPond coding standards for C++ say that if there is only one statement in an if clause, we omit {} around that clause. I also had a question (and it probably doesn't matter much). When I've written font glyphs that are sometimes solid and sometimes hollow, I always calculate both the inner and outer paths. And then when I create the glyph I only use the paths that are actually needed. In your code, you didn't create the path unless it was needed. It probably makes no difference at all, but I'd like to hear from the font gurus if there is a preference. My take was we only make the fonts at install, so the code doesn't need to be optimized for speed, so I optimized for readability, which in my mind, meant not putting the inner path inside a conditional. Great work! Thanks, Carl http://codereview.appspot.com/3797046/diff/1/lily/mensural-ligature-engraver.cc File lily/mensural-ligature-engraver.cc (right): http://codereview.appspot.com/3797046/diff/1/lily/mensural-ligature-engraver.cc#newcode277 lily/mensural-ligature-engraver.cc:277: { Remove unneeded {} http://codereview.appspot.com/3797046/diff/1/lily/mensural-ligature-engraver.cc#newcode315 lily/mensural-ligature-engraver.cc:315: prev_primitive->set_property ("add-join", ly_bool2scm (true)); Remove unneeded {} from previous line and next line http://codereview.appspot.com/3797046/diff/1/lily/mensural-ligature-engraver.cc#newcode380 lily/mensural-ligature-engraver.cc:380: { Why put the {} in this case? http://codereview.appspot.com/3797046/diff/1/lily/mensural-ligature-engraver.cc#newcode448 lily/mensural-ligature-engraver.cc:448: { Remove {} http://codereview.appspot.com/3797046/diff/1/lily/mensural-ligature-engraver.cc#newcode453 lily/mensural-ligature-engraver.cc:453: { Remove {} http://codereview.appspot.com/3797046/diff/1/lily/mensural-ligature-engraver.cc#newcode455 lily/mensural-ligature-engraver.cc:455: { Remove {} http://codereview.appspot.com/3797046/diff/1/lily/mensural-ligature-engraver.cc#newcode460 lily/mensural-ligature-engraver.cc:460: { Remove {} http://codereview.appspot.com/3797046/diff/1/lily/mensural-ligature.cc File lily/mensural-ligature.cc (right): http://codereview.appspot.com/3797046/diff/1/lily/mensural-ligature.cc#newcode101 lily/mensural-ligature.cc:101: { remove {} http://codereview.appspot.com/3797046/diff/1/lily/mensural-ligature.cc#newcode144 lily/mensural-ligature.cc:144: flexa_width = robust_scm2double (me->get_property ("flexa-width"), 2.0) Remove {} http://codereview.appspot.com/3797046/diff/1/lily/mensural-ligature.cc#newcode221 lily/mensural-ligature.cc:221: { Remove {} http://codereview.appspot.com/3797046/ ___ lilypond-devel mailing list lilypond-devel@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: mensural notation improvements (issue3797046)
Am 07.01.2011 10:17, schrieb Benkő Pál: >> Sometimes I have been confused by a punctus divisionis placed in the >> middle above a ligature, but of course that's something different. > > wow, I have never seen such a thing! could you give an example? The only one I could find quickly is from Apel's facsimiles again: p. 192, 5th staff, quaternaria. (And, similarly, the binaria LB at the end of the line) Best regards, Robert ___ lilypond-devel mailing list lilypond-devel@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: mensural notation improvements (issue3797046)
> if it helps to confirm that you are right, I might add my own experience > with mensural sources. Composers/writers seem to literally avoid dotted > notes in ligatures except (a) at the end of the ligature, or (b) on top > of the first note of an obliqua, or (c) both. (a) and (b) are frequent, > and there are numerous examples. There are some for (c), e.g. the Eton > Choirbook that Pál quoted, or Apel, page 471. yes; generally there's seldom need to dot a long note, regardless of being in or outside a ligature. > Sometimes, (d) a dotted first note of a non-obliqua ligature can be > found with the dot on the right of the note. This is usually an > ascending ligatura cum opposita proprietate (as in Pál's examples, or > Apel, p. 181, or p. 138 for a semi-coloured one). (btw in the Chigi example there's a dotted first breve in the penultimate staff of the right side.) > I have never seen this > with a descending ligature, and I would be interested if you found an > example. seems to be a busy weekend, but I hope I can get to it. > I don't know any sources that comply with Apel's dot-above rule, but > then again, Apel probably saw more sources than I ever will... or me, too. and I learnt mensural notation solely from Apel. > Sometimes I have been confused by a punctus divisionis placed in the > middle above a ligature, but of course that's something different. wow, I have never seen such a thing! could you give an example? p ___ lilypond-devel mailing list lilypond-devel@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: mensural notation improvements (issue3797046)
Am 06.01.2011 10:56, schrieb Lukas Pietsch: > On Thu, 2011-01-06 at 10:49 +0100, Benkő Pál wrote: > >>> According to Apel (1962: 99), the general rule would seem to be that the dot >>> should be on the right if it applies to the final note of the whole >>> ligature, but on top if it is anywhere else (flexa or no flexa). He has one >>> example of a flexa followed by several square notes, with a dot above the >>> following square note (i.e. in a position that happens to be also just to >>> the right of the flexa), but the dot is meant to apply to the square note >>> over which it stands, not the flexa. >> >> When I have time to go to the library, I'll look up Apel again, >> which codex it is, but if you have a handy scan available (even >> better: a link, e.g. to IMSLP or DIAMM), I'd love to see it. >> >> But let me reiterate: I've seen several codices, and only one >> diverges from the usage I implemented, and even that diverges >> only in dotting not only the first but the last note of a flexa >> above as well. I know that ligatures are not too frequent, >> dotted notes within ligatures are extremely rare, but even the >> two examples I linked clearly dot notes contrary to the Apel way. >> I'll try to find an example where a non-final square note is >> dotted and the following note is below it (in the linked examples >> the next notes are above, so the dot of the first note appears >> _below_ the next note). >> >> p > > Yep, I can see the examples you describe, you are right about them > contradicting Apel's rule. Unfortunately, the examples Apel gives are > schematic self-drawn ones in the text, thus possibly constructed. I > could not quickly find a relevant example in any of the actual > facsimiles in the book. > Lukas > Lukas, Pál, if it helps to confirm that you are right, I might add my own experience with mensural sources. Composers/writers seem to literally avoid dotted notes in ligatures except (a) at the end of the ligature, or (b) on top of the first note of an obliqua, or (c) both. (a) and (b) are frequent, and there are numerous examples. There are some for (c), e.g. the Eton Choirbook that Pál quoted, or Apel, page 471. Sometimes, (d) a dotted first note of a non-obliqua ligature can be found with the dot on the right of the note. This is usually an ascending ligatura cum opposita proprietate (as in Pál's examples, or Apel, p. 181, or p. 138 for a semi-coloured one). I have never seen this with a descending ligature, and I would be interested if you found an example. I don't know any sources that comply with Apel's dot-above rule, but then again, Apel probably saw more sources than I ever will... Sometimes I have been confused by a punctus divisionis placed in the middle above a ligature, but of course that's something different. Best regards, Robert ___ lilypond-devel mailing list lilypond-devel@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: mensural notation improvements (issue3797046)
On Thu, 2011-01-06 at 10:49 +0100, Benkő Pál wrote: > > According to Apel (1962: 99), the general rule would seem to be that the dot > > should be on the right if it applies to the final note of the whole > > ligature, but on top if it is anywhere else (flexa or no flexa). He has one > > example of a flexa followed by several square notes, with a dot above the > > following square note (i.e. in a position that happens to be also just to > > the right of the flexa), but the dot is meant to apply to the square note > > over which it stands, not the flexa. > > When I have time to go to the library, I'll look up Apel again, > which codex it is, but if you have a handy scan available (even > better: a link, e.g. to IMSLP or DIAMM), I'd love to see it. > > But let me reiterate: I've seen several codices, and only one > diverges from the usage I implemented, and even that diverges > only in dotting not only the first but the last note of a flexa > above as well. I know that ligatures are not too frequent, > dotted notes within ligatures are extremely rare, but even the > two examples I linked clearly dot notes contrary to the Apel way. > I'll try to find an example where a non-final square note is > dotted and the following note is below it (in the linked examples > the next notes are above, so the dot of the first note appears > _below_ the next note). > > p Yep, I can see the examples you describe, you are right about them contradicting Apel's rule. Unfortunately, the examples Apel gives are schematic self-drawn ones in the text, thus possibly constructed. I could not quickly find a relevant example in any of the actual facsimiles in the book. Lukas ___ lilypond-devel mailing list lilypond-devel@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: mensural notation improvements (issue3797046)
> > One thing I forgot to mention: I've also rewritten dot handling within > > ligatures. The old code > > - didn't avoid staff lines > > - didn't conform actual usage: dotting notes above is not a practice, > > only if they are first within a flexa, see examples in > > http://anaigeon.free.fr/mes_facs/fsbarb.jpg > > http://upload.wikimedia.org/wikipedia/commons/d/d7/Eton_Choirbook.jpg > > (actually I know one example when the second flexa note is dotted above, > > but general usage is like the two above, when such notes are dotted > > behind.) > > http://codereview.appspot.com/3797046/ > According to Apel (1962: 99), the general rule would seem to be that the dot > should be on the right if it applies to the final note of the whole > ligature, but on top if it is anywhere else (flexa or no flexa). He has one > example of a flexa followed by several square notes, with a dot above the > following square note (i.e. in a position that happens to be also just to > the right of the flexa), but the dot is meant to apply to the square note > over which it stands, not the flexa. When I have time to go to the library, I'll look up Apel again, which codex it is, but if you have a handy scan available (even better: a link, e.g. to IMSLP or DIAMM), I'd love to see it. But let me reiterate: I've seen several codices, and only one diverges from the usage I implemented, and even that diverges only in dotting not only the first but the last note of a flexa above as well. I know that ligatures are not too frequent, dotted notes within ligatures are extremely rare, but even the two examples I linked clearly dot notes contrary to the Apel way. I'll try to find an example where a non-final square note is dotted and the following note is below it (in the linked examples the next notes are above, so the dot of the first note appears _below_ the next note). p ___ lilypond-devel mailing list lilypond-devel@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: mensural notation improvements (issue3797046)
On Thu, 2011-01-06 at 08:44 +, benko@gmail.com wrote: > One thing I forgot to mention: I've also rewritten dot handling within > ligatures. The old code > - didn't avoid staff lines > - didn't conform actual usage: dotting notes above is not a practice, > only if they are first within a flexa, see examples in > http://anaigeon.free.fr/mes_facs/fsbarb.jpg > http://upload.wikimedia.org/wikipedia/commons/d/d7/Eton_Choirbook.jpg > > (actually I know one example when the second flexa note is dotted above, > but general usage is like the two above, when such notes are dotted > behind.) > > http://codereview.appspot.com/3797046/ > According to Apel (1962: 99), the general rule would seem to be that the dot should be on the right if it applies to the final note of the whole ligature, but on top if it is anywhere else (flexa or no flexa). He has one example of a flexa followed by several square notes, with a dot above the following square note (i.e. in a position that happens to be also just to the right of the flexa), but the dot is meant to apply to the square note over which it stands, not the flexa. Lukas ___ lilypond-devel mailing list lilypond-devel@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: mensural notation improvements (issue3797046)
One thing I forgot to mention: I've also rewritten dot handling within ligatures. The old code - didn't avoid staff lines - didn't conform actual usage: dotting notes above is not a practice, only if they are first within a flexa, see examples in http://anaigeon.free.fr/mes_facs/fsbarb.jpg http://upload.wikimedia.org/wikipedia/commons/d/d7/Eton_Choirbook.jpg (actually I know one example when the second flexa note is dotted above, but general usage is like the two above, when such notes are dotted behind.) http://codereview.appspot.com/3797046/ ___ lilypond-devel mailing list lilypond-devel@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-devel
mensural notation improvements (issue3797046)
Reviewers: , Message: here is the patch set I hinted at several times: http://lists.gnu.org/archive/html/lilypond-devel/2010-11/msg00212.html http://lists.gnu.org/archive/html/lilypond-devel/2011-01/msg00097.html some changes are just very slightly related: mf/parmesan-custodes.mf just makes custodes longer (inspired by Petrucci's Odhecaton, see http://imslp.org/wiki/Harmonice_Musices_Odhecaton_(Petrucci,_Ottaviano) scm/parser-clef.scm adds Petrucci-like subbass clef lily/ligature-bracket-engraver.cc is hair splitting over what to include and what not. the important ones: mf/parmesan-noteheads.mf adds the noteheads scm/output-lib.scm makes them usable as note head styles the remaining ones add ligature support; to achieve it, I had to reorganise the code, e.g. to create separate stencils for the two notes of a flexa shape (oblique ligature); while at it, I did some todos as well (removed join-right-amount) and added support for some customization: now the user can request flexa shapes even where they are not compulsory by the ligature-flexa property and can control their size within a ligature. these properties must be set for the second note of the flexa; I know it is ugly, but I don't have any better idea, since these are properties of neither a single note, nor of the whole ligature. test files: is it ok to modify existing regression tests? I mean not only adding more, but changing in mensural-ligatures.ly the Ockeghem examples to look more like the ones in codex Chigi, see scans in attachment to http://lists.gnu.org/archive/html/lilypond-devel/2010-12/msg00398.html thanks, p Description: mensural notation improvements - support coloratio (even in ligatures) - more flexible ligatura shapes Please review this at http://codereview.appspot.com/3797046/ Affected files: M lily/include/mensural-ligature.hh M lily/ligature-bracket-engraver.cc M lily/mensural-ligature-engraver.cc M lily/mensural-ligature.cc M mf/parmesan-custodes.mf M mf/parmesan-noteheads.mf M scm/define-grob-properties.scm M scm/define-grobs.scm M scm/output-lib.scm M scm/parser-clef.scm ___ lilypond-devel mailing list lilypond-devel@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-devel