]> git.donarmstrong.com Git - lilypond.git/commit
Prevents dynamics from colliding with cross-staff stems.
authorMike Solomon <mike@apollinemike.com>
Thu, 15 Dec 2011 15:49:40 +0000 (16:49 +0100)
committerMike Solomon <mike@apollinemike.com>
Thu, 15 Dec 2011 15:49:40 +0000 (16:49 +0100)
commit3bcfd69d91f52f70598f73719fbed7aa6eea8ad3
treeda14a2605e42bf384b06ef306814d3e7300c2f72
parentfcfeacd25974cdc37bf9eb65d72902e56511b282
Prevents dynamics from colliding with cross-staff stems.

Creates an Interval_minefield class that tracks intersections of
intevals and returns the closest "safe spots" to the original interval
on either side.  Dynamics are then moved to one of these two safe spots
depending on the collision-bias property (with negative values forcing
the decision towards the left and positive towards the right).
input/regression/dynamics-avoid-cross-staff-stem.ly [new file with mode: 0644]
lily/beam-quanting.cc
lily/include/interval-minefield.hh [new file with mode: 0644]
lily/include/self-alignment-interface.hh
lily/interval-minefield.cc [new file with mode: 0644]
lily/new-dynamic-engraver.cc
lily/self-alignment-interface.cc
scm/define-grob-properties.scm
scm/define-grobs.scm
scm/output-lib.scm