Re: mensural notation improvements (issue3797046)

2011-01-24 Thread Carl Sorensen
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)

2011-01-24 Thread Carl . D . Sorensen

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)

2011-01-24 Thread Benkő Pál
>> 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)

2011-01-24 Thread benko . pal

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)

2011-01-24 Thread Benkő Pál
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)

2011-01-24 Thread Benkő Pál
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)

2011-01-23 Thread Carl . D . Sorensen

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)

2011-01-07 Thread Robert Memering
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)

2011-01-07 Thread Benkő 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.

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)

2011-01-06 Thread Robert Memering
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)

2011-01-06 Thread 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


___
lilypond-devel mailing list
lilypond-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-devel


Re: mensural notation improvements (issue3797046)

2011-01-06 Thread Benkő Pál
> > 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)

2011-01-06 Thread Lukas Pietsch
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)

2011-01-06 Thread benko . pal

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)

2011-01-05 Thread benko . pal

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