* Documentation/user/notation.itely (ancient flags): documented
flags-related known bugs
* lily/include/ligature-engraver.hh: added comment about why and
how of (non-)use of abstract virtual methods
* ly/engraver-init.ly (VaticanaVoice,
GregorianTranscriptionVoice): bugfix (workaround): TextSpanner:
unset dash-fraction property in order to get solid lines
* ly/engraver-init.ly (MensuralStaff): fixed bad comment
(score_extra_encompass): widen X extent of
extra encompass.
(score_extra_encompass): use Y coordinate of attachment if X
attachment falls in extra encompass X extent.
(score_edges): add exp(slope*dir*leftright)
factor in edge attraction. This reflects that the left edge may
have a larger gap for an ascending up-slur.
(get_base_attachments): copy bound Y from right bound, if there is
only one note-column after the line break.
(score_edges): add exp(slope*dir*leftright)
factor in edge attraction. This reflects that the left edge may
have a larger gap for an ascending up-slur.
* input/regression/rehearsal-mark-number.ly: Reuse the existing
formatting routine when adding boxed numbers. Makes it easier to
extrapolate how to do for boxed letters.
* scm/page-layout.scm (ly:optimal-page-breaks): use new parameters
to get sane spaces for titles.
* lily/parser.yy: change mode changing commands to XXXmode,
eg. drummode.
(mode_changing_head): group mode changes.
(mode_changing_head_with_context): new commands: create context as
well as change mode.
* scm/page-layout.scm (ly:optimal-page-breaks): add
betweensystempadding also to fixed distance for the spring.
* scm/page-layout.scm (ly:optimal-page-breaks): use new parameters
to get sane spaces for titles.
* scm/page-layout.scm (ly:optimal-page-breaks): add
betweensystempadding also to fixed distance for the spring.
* lily/beam-concave.cc: new file, with new routines for concave
decisions. There are now two types of concaveness: 1. a sharp
logic decision forcing a beam horizontal, and 2. a number that
measures how concave beams are that are not caught by 1.
This fixes: morgenlied.ly and input/regression/beam-concave.ly
* lily/beam.cc (set_minimum_dy): new function. Round non-zero
small slope up to smallest quant. This prevents small slopes from
getting rounded to zero.
* lily/beam-quanting.cc (quanting): don't allow dy_mus slopes that
are smaller than the smallest quant.
* scm/define-grobs.scm (all-grob-descriptions): fix order of
key-cancellation.
This fixes: morgenlied.ly and input/regression/beam-concave.ly
* lily/beam-concave.cc: new file, with new routines for concave
decisions. There are now two types of concaveness: 1. a sharp
logic decision forcing a beam horizontal, and 2. a number that
measures how concave beams are that are not caught by 1.
This fixes: morgenlied.ly and input/regression/beam-concave.ly
* lily/parser.yy: change mode changing commands to XXXmode,
eg. drummode.
(mode_changing_head): group mode changes.
(mode_changing_head_with_context): new commands: create context as
well as change mode.
This fixes: morgenlied.ly and input/regression/beam-concave.ly
new file, with new routines for concave
decisions. There are now two types of concaveness: 1. a sharp
logic decision forcing a beam horizontal, and 2. a number that
measures how concave beams are that are not caught by 1.
This fixes: morgenlied.ly and input/regression/beam-concave.ly
* input/regression/phrasing-slur.ly (Module): remove (duplicate
with phrasing-slur-slur-avoid.ly)
* lily/slur-scoring.cc (struct Extra_collision_info): collect
parameters for extra offset.
(get_bezier): add slurs mid-points for curve determination
(score_extra_encompass): add slur end points for scoring.
* lily/translator.cc (derived_mark): new function.
* lily/slur-scoring.cc (score_encompass): new penalty type:
variance penalty demerits slurs where one head/stem is much
closer to the slur than average.
* lily/tuplet-bracket.cc (print): use robust_relative_extent
iso. extent()
(calc_position_and_height): use robust_relative_extent(). This
fixes a couple of programming_errors
* input/regression/part-combine-mmrest-after-solo.ly (Module): new
file.
* lily/part-combine-iterator.cc (unisono): bugfix for the case
that voice-2 plays solo, and voice-1 has an mmrest that starts
earlier. In that case, we switch to voice-2, so we catch the
mmrest of voice-2. This fixes: partcombine-rest.ly.