Janek Warchol [Sun, 12 Jun 2011 22:34:45 +0000 (00:34 +0200)]
make sure that AmbitusLine is visible for small ambits
Until now, the gap between ambitus heads and ambitus line
was constant, so either the gap had to be very small or
the line wasn't visible in case of smaller ambits (like
4th or 5th). With this patch ambitus gap will be calculated
dynamically, depending on the distance between ambitus heads.
Also, the default gap for bigger ambits is changed so that
ambitus line will end precisely in the staffline or in the
middle of staffspace.
David Kastrup [Sat, 31 Aug 2013 16:57:09 +0000 (18:57 +0200)]
Issue 3527: parser.yy: allow "scalar" to be a negative literal number
This makes the syntax of the value for \override (a hardwired syntax
construct which accepts a "scalar") and \tweak (which is a music
function accepting an expression of type "scheme?" possibly ending up
as a negative number) more comparable.
David Kastrup [Tue, 16 Jul 2013 16:12:06 +0000 (18:12 +0200)]
Add some comments to lily/dispatcher.cc
Also change "bubblesort" moniker to "insertion sort". While it's
widespread malpractice to call any O(n^2) sorting algorithm comparing
and conditionally exchanging adjacent elements "bubblesort", something
as rare and precious as a comment in LilyPond code deserves getting
done right.
David Kastrup [Sat, 17 Aug 2013 15:34:00 +0000 (17:34 +0200)]
Issue 3505: Let add-grace-property and remove-grace-property work from current context
This basically sets the grace settings in the current context unless
the context specification is for a parent context in which case it is
directed there lest it become ineffective.
Thomas Morley [Sun, 18 Aug 2013 15:34:28 +0000 (17:34 +0200)]
Some clean up about grace-settings in music-functions.scm
- Stores a list,general-grace-settings, used by make-voice-props-set and make-voice-props-override.
- Settings to be used by the Score-context are appended to general-grace-settings and stored in score-grace-settings, used in engraver-init.ly
David Kastrup [Wed, 21 Aug 2013 02:09:29 +0000 (04:09 +0200)]
Issue 3489: Let \cue... use quoted-context-type of CueVoice consistently
Previously Voice was used and this relied on a a CueVoice purportedly
being created by cue-substitute itself and providing a Voice alias.
There is a regtest input/regression/quote-tuplet-end.ly which relied
on an explicit Voice = "cue" serving as a substite catch for the cue
notes, effectively turning \cueDuring into \quoteDuring. This kind of
usage is rather bizarre, and since it diverts the \voiceOne/\voiceTwo
settings for the cue voice into a CueVoice context anyway (which is
otherwise empty), the cue voice is still missing proper directional
information. This was not worth supporting.
Regularizing the usage in this manner will reliably stop \quoteDuring
from introducing surprise CueVoice contexts.
David Kastrup [Wed, 21 Aug 2013 02:04:02 +0000 (04:04 +0200)]
Issue 3489: Let \quoteDuring descend to bottom context for its output
Also regularizes interpretation of quoted-context-id. This patch by
itself does not resolve the issue since a CueContext is created in
any case, serving as Bottom and Voice context. A followup patch
fixes that.
Grobs that are not cross-staff are placed before staff-spacing,
so they may not force placement of cross-staff grobs.
When cross-staff items are placed around the spaced staves, let
them side-position using the final, not 'pure', information.
David Kastrup [Wed, 14 Aug 2013 19:36:58 +0000 (21:36 +0200)]
Issue 3498: fatal error with toplevel-markup-identifier
The reported problem
mrkp = \markup { "x" }
\mrkp
triggers an error because of markup requiring additional lookahead in
assignments. This is fixed by sacrificing string addition, an arcane
and undocumented feature that has probably not been used in the last
decade or so.
David Kastrup [Sun, 4 Aug 2013 09:32:09 +0000 (11:32 +0200)]
Issue 3487: Make several special characters with or without backslash "shorthands"
Single non-alphanumeric ASCII characters not requiring special
treatment in lexer or parser can now be redefined like escaped
identifiers. The same holds for escaped non-alphanumeric ASCII
characters. The identifying name you use for redefining them is the
string corresponding to the full shorthand, in contrast to escaped
identifiers where the identifying name omits the initial backslash.
Notable shorthands not treated specially in the parser (some of them
newly so) can be seen in the following definitions from
scm/declarations-init.ly:
David Kastrup [Sun, 4 Aug 2013 09:36:34 +0000 (11:36 +0200)]
Make tempo range \tempo 20~30 be input as \tempo 20-30 instead
\tempo's use of ~ was rather untypical for LilyPond. Letting it
rather use @code{-} for ranges leaves just a single use for ties,
making it feasible to make @code{~} definable by the user in a later
commit.
David Kastrup [Sun, 11 Aug 2013 14:19:05 +0000 (16:19 +0200)]
Avoid Scheme-computed Skyline_pair values to get collected before use
Retaining them as SCM values until they are no longer needed avoids
premature garbage collection. This addresses circumstances in
connection with issue 3490.
David Kastrup [Mon, 5 Aug 2013 12:19:06 +0000 (14:19 +0200)]
Issue 3488: lily/parser.yy: Use %pure-parser instead of %pure_parser
While %pure-parser is already deprecated for Bison 3.0, it is still
supported as opposed to %pure_parser which has been removed altogether
in Bison 3.0. The currently recommended form %define api.pure has
only become available with Bison 2.3b, and there are currently older
versions of Bison in use with LilyPond. So the followup move of
replacing the already deprecated %pure-parser with %define api.pure is
left for a later point of time.
David Kastrup [Thu, 1 Aug 2013 10:20:24 +0000 (12:20 +0200)]
Issue 3483: Pango font size should be calculated using rounding
So far, pango font size has been calculated using truncation. Since
the calculation of font size may involve conversion of magnifications
to font-size and back, numerical errors can easily throw the
calculation slightly off. For that reason, rounding is the
appropriate option here.
David Kastrup [Tue, 9 Jul 2013 18:22:24 +0000 (20:22 +0200)]
Issue 3449: Shift accordion register symbols down by half a line width
This makes the documented proposals for combining the accordion
register symbols together with the accordion dot symbol match in
positioning. It would have been feasible instead to shift the
(centered) accordion dot, but some register symbols work with
different line widths.
The net result will now exhibit a slight descender (namely half a
linewidth) of the accordion register symbols when used in a running
line.
David Nalesnik [Tue, 23 Jul 2013 01:20:33 +0000 (20:20 -0500)]
Issue 3472: several fixes to input/regression/scheme-text-spanner.ly
* The file `input/regression/scheme-text-spanner.ly' assigns a constant
pair to the variable `event-drul' and subsequently attempts to modify
the pair. This can lead to scheme-text-spanners not appearing when
requested in simultaneous contexts. This patch corrects the faulty usage,
replacing `event-drul' with two variables `event-start' and `event-stop'.
* The variable `current-event' is not necessary, and has been removed.
* Tabs in the engraver definition have been replaced with spaces.