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
Phil Holmes [Mon, 21 Jan 2013 14:43:03 +0000 (14:43 +0000)]
Updates ancient clefs
Adds c5 clef to mensural list, adds black mensural clefs
to list of clefs, replaces crochet with semi breve
(more common in ancient notation) and minor wording change.
David Kastrup [Sun, 20 Jan 2013 18:57:01 +0000 (19:57 +0100)]
Run scripts/auxiliar/update-with-convert-ly.sh
No particular reason, except that for whatever reason there are a few
still unconverted files that get converted in unrelated issues
involving a convert-ly run.
Zefram [Wed, 2 Jan 2013 19:53:54 +0000 (19:53 +0000)]
factor out some duration processing
New functions duration-log-factor, duration-dot-factor, duration-length,
duration-visual, and duration-visual-length. All concerned with low-level
numerical processing of durations, so that other code doesn't have to
understand dot counts and the like.
Trevor Daniels [Fri, 11 Jan 2013 00:10:00 +0000 (00:10 +0000)]
Doc: clarify example of 'Going back in MIDI time' (3097)
Add a note before the acciaccatura, because, in order to
understand the error (and the solution), you need to compare
the whole duration of the acciaccatura block with the duration
of the previous note. (Thanks Federico!)
David Kastrup [Wed, 9 Jan 2013 14:44:22 +0000 (15:44 +0100)]
Issue 3093: Declare absolute-volume-alist and instrument-equalizer-alist as session-local
At least instrument-equalizer-alist is advertised as sort of a
user-settable variable, and while we ask users to tamper with it, we
might as well restore it at the beginning of next session. This does
not really replace a proper user interface instead of the pathetic
excuse we have for it now.
Mike Solomon [Thu, 10 Jan 2013 07:54:12 +0000 (08:54 +0100)]
Makes all side-positioning based on skylines instead of boxes.
The major work is in side-position-interface.cc, with minor
modifications at several places in the code-base to adapt to this.
This allows for snugger positioning of horizontally-oriented
fingerings.
A side-effect of this patch is that side-positioning of all
cross-staff grobs delves into the element list of axis-groups
in order to better guess position, which results in less
collisions (for example, dynamics are less likely to collide
with cross-staff beams).