lilypond-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: prevent collision of ligatures and next note (issue 6740046)


From: benko . pal
Subject: Re: prevent collision of ligatures and next note (issue 6740046)
Date: Tue, 23 Oct 2012 18:56:52 +0000

hi Janek,

Pal, could you add some comments and a more descriptive commit
message?  I see
the code, and it seems to make sense, but i don't understand the
"why's".  For
example, why the parameters should be passed in a different way?

in C++ there should be a good reason to pass complex structures like
std::vector<Grob_info> by value, not by reference to const; in this case
there's no such reason, pass-by-reference works perfectly.

I also think that it'd be a good idea to add a regtest, even if it's
imperfect
(just write a comment inside it, so that everyone envestigating it
will be
warned that some unexpected results may occur).

the problem is that I really can't predict _when_ unexpected results can
and when can't occur.  I tried to come up with the Tiniest example and
I'm sure my example in the attachment to
http://code.google.com/p/lilypond/issues/detail?id=2914
is not the tiniest possible that demonstrates the problem.  put
otherwise, working all right with previous versions is just as
unexpected for me as producing a collision.


http://codereview.appspot.com/6740046/diff/1/lily/mensural-ligature-engraver.cc
File lily/mensural-ligature-engraver.cc (right):


http://codereview.appspot.com/6740046/diff/1/lily/mensural-ligature-engraver.cc#newcode428
lily/mensural-ligature-engraver.cc:428: if (size_t const dot_count =
Rhythmic_head::dot_count (current))
Is this related to the ligature collision problem or just a by-the-way
fix?

it _was_ related (see usage of dot_count lower); I hope the new
organization is cleaner.

p

http://codereview.appspot.com/6740046/



reply via email to

[Prev in Thread] Current Thread [Next in Thread]