Paul Morris [Wed, 10 Jun 2015 04:16:16 +0000 (00:16 -0400)]
Issue 4418/2 add and use new whiteout function
scm/stencil.scm: redefine the whiteout function
so that it approximates the stencil's outline by
creating multiple displaced copies of the stencil.
Rename the previous whiteout function 'whiteout-box'.
scm/define-grob-properties.scm: define two
properties to go with the two whiteout functions.
lily/grob.cc: use the new whiteout functions and
properties.
scm/define-markup-commands.scm: define markup
commands to go with the two whiteout functions.
David Kastrup [Fri, 12 Jun 2015 07:51:40 +0000 (09:51 +0200)]
Issue 4443: Don't pass current parser/location into #{...#} call
The construct #{...#} generates a call to a function embedded-lilypond.
After issue 4422, this call passed (*parser*)/(*location*) arguments
instead of the previous parser/location arguments needed for accessing
the respective values in a different lexical environment. But since the
respective values are stored in GUILE fluids rather than in lexical
variables now, they are already passed implicitly and unnecessary as
function parameters.
David Kastrup [Fri, 12 Jun 2015 11:41:11 +0000 (13:41 +0200)]
Issue 4442/7: Stop maintaining "parser" variable
When invoking a parser, the global "parser" variable was temporarily
pointing to the parser. This mechanism was somewhat awkward and with
problems of its own. Since an active parser maintains the %parser fluid
now, we can forego maintaining the "parser" variable altogether.
Trevor Daniels [Sat, 6 Jun 2015 21:22:13 +0000 (22:22 +0100)]
Issue 4435: Remove Solo staff when empty
The recently added Solo staff is outside the ChoirStaff and so
is not affected by the ChoirStaff overrides to VerticalAxisGroup.
This patch moves the overrides into a \layout block at top level
so all staves are affected. The overrides in PianoStaff are then
no longer required. Note that this \layout block can itself be
overridden by setting the Layout variable.
David Kastrup [Sat, 30 May 2015 08:58:22 +0000 (10:58 +0200)]
Issue 4425: Fix some CG musing about music functions
While the example code has been adapted to reflect the state of music
functions after acceptance of issue 4422 and issue 4421, the answer that
has now been replaced has been wrong from its inception.
David Kastrup [Sun, 24 May 2015 17:38:34 +0000 (19:38 +0200)]
Issue 4421/4: Make music functions callable from Scheme
The functions get their signature checked and optional argument handling
is exactly like in LilyPond, with *unspecified* taking the role of
"\default".
Dan Eble [Thu, 28 May 2015 00:39:47 +0000 (20:39 -0400)]
Issue 4423: eliminate part combiner's array of context handles (2/4)
Create child iterators in parent context. Add an initial split state
to ensure that the first split-list entry, whatever it is, will
redirect the outlets for the child iterators.
David Kastrup [Tue, 26 May 2015 23:35:08 +0000 (01:35 +0200)]
Issue 4422/3: Remove parser/location args from music function calls
When a music function definition starts with a parameter named "parser",
a compatibility definition is created that recreates the parameters
from the fluid accessors (*parser*) and (*location*) when necessary.
David Kastrup [Tue, 26 May 2015 11:36:53 +0000 (13:36 +0200)]
Issue 4422/1: Remove parser/location global variable setup
Instead of relying on the global parser/location work horse (or
respective symbols in local scope), now fluids %parser/%location and
getter functions (*parser*)/(*location*) are employed for setting up the
general parsing and providing #{...#} with accurate information.
This patch removes the global setup and internal information flow: there
is still a variable "parser" being set in local parser modules.
hanwen [Sat, 14 Mar 2015 14:39:16 +0000 (15:39 +0100)]
Decrease space between vertical beams by length-fraction.
This causes 16th and higher grace beams to be closer together.
Thanks to Daniel Spreadbury for noting this in his blog,
http://blog.steinberg.net/2015/03/development-diary-part-10/
To fix the regression in grace-start.ly, decrease collision-padding
for grace beams: since grace beams are smaller, objects must come
closer to be considered a collision.
To fix regressions where grace stems become too large, decrease
importance of forbidden quant scoring if length-fraction != 1.0..
David Kastrup [Wed, 20 May 2015 15:31:32 +0000 (17:31 +0200)]
Issue 3057: misbehavior of \deadNotesOn et al at start of music
User-level commands that do not move to a particular context will tend
to be applied at Bottom context when following any notes or similar
events, but at arbitrary level when being at the start of music. That's
a bad idea. This patch moves the head styling overrides to Bottom
level. While this means that
\new Staff { \deadNotesOn ...
will only affect the default Voice instead of the whole Staff, one can
still get per-Staff behavior with