>> Pure relevant is used all over the code.
>
> Good point.  There is even a predicate 'pure-relevant?'
> defining which grobs qualify.
>

Exactly.  This is how the Pure_from_neighbor_engraver
evaluates which grobs have
pure height functions (line 49).



http://codereview.appspot.com/5323062/diff/29001/lily/pure-from-neighbor-engraver.cc
File lily/pure-from-neighbor-engraver.cc (right):

http://codereview.appspot.com/5323062/diff/29001/lily/pure-from-neighbor-engraver.cc#newcode49
lily/pure-from-neighbor-engraver.cc:49: SCM pure_relevant_p =
ly_lily_module_constant ("pure-relevant?");
Now, this fills 'items_' with things that pass the 'pure-relevant'
test.
(Since you say Item as opposed to Grob, do you exclude slurs and such?)

http://codereview.appspot.com/5323062/diff/29001/lily/pure-from-neighbor-engraver.cc#newcode60
lily/pure-from-neighbor-engraver.cc:60: pure_relevants_.push_back
(i.item ());
But 'pure_relevants_' is something different from simply things that
satisfy the predicate 'pure-relevant?'.  It looks like it includes only
items in the immediately-adjacent columns.

This would seems to let accidentals on the second-neightbor-column cross
the extended bar lines. How would this (untested) work?

  \new PianoStaff <<
  \new Staff { R1*4 }
  \new Staff {
    e'1 | \acciaccatura e'16 <e'' cis''' dis'''>4 r2. |
    \slurUp \acciaccatura c''16 <c' fis gis>4 r2.
    <c' fis gis>4 r2.
  } >>

http://codereview.appspot.com/5323062/

_______________________________________________
lilypond-devel mailing list
lilypond-devel@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-devel

Reply via email to