David Kastrup [Tue, 5 Nov 2013 16:12:17 +0000 (17:12 +0100)]
Let #{ 4 #} be a duration while #{ 4 \cm #} stays a length
An UNSIGNED not followed by a NUMERIC_IDENTIFIER inside of #{ ... #}
is interpreted as a duration rather than a number. Also, inside
of #{ ... #} no "numeric expressions" using binary operators +-*/ are
interpreted.
The behavior of (signed and unsigned) integers and numeric expressions
in assignments and as function arguments rather than inside
of #{ ... #} is not affected.
David Kastrup [Sun, 3 Nov 2013 07:54:21 +0000 (08:54 +0100)]
Issue 3644: A \score-lines markup list command for multi-lines embedded scores
Originally requested as issue 1334.
Like the \score markup, \score-lines is not called through the normal
markup list command mechanisms as it would require something awkward
along the lines of
\score-lines ##{ \score { ... } #}
to get this through. Instead, a reserved word \score-lines in the
parser will manually call the command with an embedded score, leading
to just
\score-lines { ... }
This is somewhat clumsy in several ways: it requires an additional
reserved identifier (no other reserved identifier contains a dash),
and it means that a score may occur in a file without an explicit
enclosing \score command.
Nevertheless, the previous semantics implemented as issue 1334 were
not tenable: particularly after issue 3270 had been passed, it was
close to impossible for the average user to come up with a way of
getting an actual markup list from a score.
Note that there are as of yet no user-level commands spacing a markup
list in a way similar to the spacing inside of a \score markup.
David Kastrup [Sun, 3 Nov 2013 14:30:53 +0000 (15:30 +0100)]
Issue 3645: Allow \partial to occur in mid-piece
This is done by moving measurePosition to negative values when at the
beginning of a measure, and to a respective distance before the end of
the measure in case the measure has already been started.
David Kastrup [Thu, 31 Oct 2013 11:03:02 +0000 (12:03 +0100)]
Issue 2379: resetting autoBeaming after a cadenza
Letting measurePosition track the grace state of current_moment
unconditionally keeps it from moving into uncharted territory when
Timing.timing gets switched on or off during grace times.
Mike Solomon [Sat, 2 Nov 2013 15:35:44 +0000 (16:35 +0100)]
Issue 3631: 2.17 does a worse job with vertical spacing and/or the page layout than 2.16
Looks for prebroken pieces of dead items in the pure relevant function.
Even if the item is dead, its prebroken pieces may not be. We need to check
them and build them into the pure skylines of axis groups used by the
align interface.
David Kastrup [Thu, 31 Oct 2013 22:34:12 +0000 (23:34 +0100)]
Issue 3641: Keep only one Axis_group_engraver active
The internal context property axisEngraver is used for tracking the
currently active Axis_group_engraver. This supercedes the solution
attempted in issue 2990.
David Nalesnik [Mon, 21 Oct 2013 21:53:31 +0000 (16:53 -0500)]
Improvements to \offset
Property can be specified with or without #' prefix.
Directed tweaks are possible.
Music is returned in case of a failed tweak on that music. This eliminates
cryptic "post-event expected" error.
Regtest:
--remove #' prefix before property names
--remove unnecessary # before numbers
--add example showing directed tweaks
--faulty tweak converted to an override of correct property
Revise docstring of find-value-to-offset in `scm/music-functions.scm.'
David Kastrup [Sat, 26 Oct 2013 06:22:18 +0000 (08:22 +0200)]
Issue 3633: Freeze measurePosition while Timing.timing is off
Also don't reset it in \cadenzaOff, and leave autoBeaming alone in
\cadenzaOn/\cadenzaOff. This should cause quite fewer interferences
of cadenze with timing, accidentals, barlines and other stuff.
Thomas Morley [Wed, 16 Oct 2013 19:39:57 +0000 (21:39 +0200)]
format-metronome-mark and metronome-markup don't support styles other than default
issue 3096
- introducing 'styled-metronome-markup' with the (currently quite
theoretical) possibility to use another font here. For now
the font-argument is used only to make
\override MetronomeMark #'font-name = ...
possible.
- adding 'flag-style to define-grob-properties.scm, the
MetronomeMark-properties in define-grobs.scm and in text-interface.cc
- adding a regtest for different 'metronomeMarkFormatter'.
It's now possible to override MetronomeMark with 'style, 'flag-style and
'font-name to customize the appearance.
Janek Warchoł [Thu, 17 Oct 2013 10:49:19 +0000 (12:49 +0200)]
Improve formatting of PaperColumn debug info
Paper_column::print can be very helpful in debugging spacing
information, but until now its output was not very readable.
This patch:
- decreases font-size of debugging info so that it doesn't
collide and overlap everywhere,
- makes it possible to override the size of the arrow values
with font-size property,
- makes both red and blue arrows point in the same direction
(previous situation was confusing)
- centers the spring and rod values on the arrows (previously
it was hard to discern which number goes to which arrow),
- prints debugging info always on top,
- makes arrows and the distance between them scale with fontsize.
David Kastrup [Sun, 20 Oct 2013 15:23:46 +0000 (17:23 +0200)]
Issue 3624: make-connected-path-stencil broke on closed paths
Cf. <URL:http://lists.gnu.org/archive/html/bug-lilypond/2013-10/msg00083.html>.
Actually, the whole function is an obfuscated Scheme programming
contest. I made a few of the more flamboyant list manipulations
boring while at it.
David Kastrup [Sun, 20 Oct 2013 13:29:21 +0000 (15:29 +0200)]
Issue 3625: Overrides via \tweak don't insist on proper context/grob and property split
The normal \tweak syntax of overrides is
\tweak property #value Context.Grob
This version just concatenates the symbol list at the end with the one
at the start before checking for a valid (possibly sub-)property path.
This allows a somewhat more flexible programmatic use.
Remove definition of the "instrumentName" property from Score_performer
This setting has no effect; furthermore, according to the discussion on
issue 3581 and the related patch review comments, no default settings for
MIDI controls should ever be enforced if they are not set explicitly.
David Kastrup [Mon, 7 Oct 2013 18:44:48 +0000 (20:44 +0200)]
Issue 3603: Make \tweak ... Grob equivalent to \override rather than \once \override
This simplifies several uses of tweak for both tweak and override.
When desired, one can use \once \tweak in order to get either tweak or
override-once semantics: in the case of the tweak semantics, \once
will just ignore the contained expression.
The replacement of Simple_music_iterator with Music_iterator in
lily/bar-check-iterator.cc made bar checks at the start of music
expressions inoperative altogether, even when not at a bar boundary:
{ a a { | } a a }
stopped producing a diagnostic. Issue 3205 instead needs to be fixed
together with issue 2392 which apparently may be called "Segfault in
Midi when Simple_music_iterator is used at the beginning of an
implicitly created context".
David Nalesnik [Fri, 12 Apr 2013 23:40:45 +0000 (18:40 -0500)]
Issue 3313: Add the command \offset
The ability to offset values of various properties would be a useful
enhancement of LilyPond. Currently, this is possible for default values
of the property 'control-points using the \shape command. The following
patch seeks to generalize the application of offsets to grob properties.
Both overrides and tweaks are supported, on the model of \shape and
\alterBroken.
Offsets are currently limited to three data types: number, number-pair,
and number-pair-list (this last is defined by this patch and represents
the type used, for example, by 'control-points). Offsets are limited to
the properties listed in the grob descriptions contained in
`scm/define-grobs.scm'. Offsets will be reckoned against an override
currently in effect; otherwise, the default setting from the grob
description will be used.