David Kastrup [Fri, 15 Feb 2013 12:58:16 +0000 (13:58 +0100)]
Issue 3182: Defuse the obfuscated Scheme programming contest
This merely grepped for occurences of "reduce" and replaced most of
them (and possibly the close surroundings) with something saner. The
winner definitely has been in bar-line.scm. I have not touched the
occurences in stencil.scm since it would have been like putting
lipstick on a pig: the surroundings are even worse than the calls of
reduce.
David Kastrup [Fri, 15 Feb 2013 09:50:43 +0000 (10:50 +0100)]
Issue3181: Replace several misuses of eq? on numerical values
Numerical values don't carry identity, so (eq? 0 0) may or may not
evaluate to #t. Those need to be replaced by eqv? or, where both
items are guaranteed to be a number, = .
David Kastrup [Thu, 13 Dec 2012 15:57:22 +0000 (16:57 +0100)]
Let calc-{fingering,string-number,stroke-finger}::calc-text look at event 'text
This slightly increases the number of property lookups, and the same
function can be achieved using a tweak. However, it seems more
natural to attach any overriding text (in the case of non-standard
elements like thumbs or other) directly to the event in question.
David Kastrup [Thu, 7 Feb 2013 09:18:39 +0000 (10:18 +0100)]
Issue 754: don't transpose generic property-setting music commands
The actual issue was that
\transpose c e { \transposition bes ... }
created a Midi corresponding to an instrument using a transposition of
ges, leaving the Midi unchanged. Making the generic property-setting
commands (\set and \override) impervious to transposition will also
keep \transpose from tampering with user-set values.
This is particularly important since the pitch data type in LilyPond
is also being used for signifying intervals or pitch differences
rather than absolute pitches.
David Kastrup [Mon, 4 Feb 2013 15:38:12 +0000 (16:38 +0100)]
Issue 3153: Let music inside of #{ ... #} originate from @code{location} if set
In particular with regard to point-and-click, it has been a reoccuring
complaint that music originating from #{ ... #} has the #{ ... #}
environment as its origin. This patch will make such music originate
from @code{location} if set to a valid input location.
It would seem somewhat peculiar that #{ ... #} just grabs whatever
meaning @code{location} happens to have at the current lexical level
and runs with it. However, the same is already done for
@code{parser}, so it is not really out of line.
Adam Spiers [Mon, 14 Jan 2013 00:21:45 +0000 (00:21 +0000)]
fix handling of grace notes to shorten preceding tied notes correctly
In Note_performer::process_music(), when a grace note was encountered,
the immediately preceding Audio_note (or Audio_notes if the grace note
followed a chord) was/were shortened, but it failed to check whether the
Audio_note is part of a tie. Ensure that any note being shortened in
this way is the head of a tie, if it is part of a tie.
Mike Solomon [Sat, 26 Jan 2013 07:06:04 +0000 (08:06 +0100)]
Brings accidentals closer to chords on average.
Does this by giving placement priority to columns of multiple
accidentals. See accidental-grouping.ly.
Also allows Accidental_placement to be controlled at the voice level
via the accidentalGrouping property instead of necessitating
a change of context for the Accidental_engraver.
David Kastrup [Wed, 9 Jan 2013 23:32:41 +0000 (00:32 +0100)]
Issue 3095: \tuplet and \tupletSpan to replace \times and tupletSpannerDuration
\tuplet:
Scale the given @var{music} to tuplets. @var{ratio} is a
fraction that specifies how many notes are played in place of the
nominal value: it will be @samp{3/2} for triplets, namely three notes
being played in place of two. If the optional duration
@var{tuplet-span} is specified, it is used instead of
@code{tupletSpannerDuration} for grouping the tuplets.
For example,
@example
\tuplet 3/2 4 @{ c8 c c c c c @}
@end example
will result in two groups of three tuplets, each group lasting for a
quarter note.
tupletSpan:
Set @code{tupletSpannerDuration}, the length into which
@code{\tuplet} without an explicit @samp{tuplet-span} argument of its
own will group its tuplets, to the duration @var{tuplet-span}. To
revert to the default of not subdividing the contents of a @code{\tuplet}
command without explicit @samp{tuplet-span}, use
@example
\tupletSpan \default
@end example
Trevor Daniels [Wed, 16 Jan 2013 16:08:09 +0000 (16:08 +0000)]
Doc: simplify description of disabling beamExceptions (3094)
The rather convoluted explanation of when this needed
to be disabled has been simplified and comments
showing when to do it have been added to the examples