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).
Mike Solomon [Thu, 10 Jan 2013 04:10:09 +0000 (05:10 +0100)]
Shows ligature bracket extenders by setting bracket-visibility to ##t.
This bypasses the automatic visibility tests which are done mostly for
tuplet brackets. In the future, it would be good to make a unified
system for brackets in which the tuplet bracket is one of several instead
of the "model" bracket.
Trevor Daniels [Fri, 4 Jan 2013 08:47:49 +0000 (08:47 +0000)]
Doc: Update documentation of \once (2952)
Bring documentation in line with committish ddce9767f975c989800cb99e003039a8bf050b45
by removing statements that limit the use of
\once to bare \override and \set commands.
David Kastrup [Fri, 4 Jan 2013 13:22:57 +0000 (14:22 +0100)]
Issue 3082: Let ChordNameVoice use the same performers as Voice
In particular, ties should be heeded when creating Midi from a
ChordNames context as they result in the omission of the engraved
chord name if an identical chord follows. Reasoning for beams and
slurs is fuzzier, but an articulation different from the same music in
a regular Voice context does not seem to make sense.
David Kastrup [Sun, 23 Dec 2012 14:46:45 +0000 (15:46 +0100)]
Issue 2990: \RemoveEmptyStaves in StaffGroup context crashes
The problem is caused by multiple axis group engravers, and in
particular nested VerticalAxisGroup grobs in connection with the
skyline code. An extensive fix catching any recursive grob definition
will lead to quite more cryptic error messages rather than this
hand-tailored fix for the special case of VerticalAxisGroup nesting.
The solution chosen here is to complain when a VerticalAxisGroup is
announced from a subordinate context and let the current group commit
suicide.
Trevor Daniels [Sun, 30 Dec 2012 10:00:09 +0000 (10:00 +0000)]
Doc: simplify example changing default fonts (3027)
The original function required the global staff size
to be re-entered as myStaffSize, but this can be calculated
from the value of staff-height, so avoiding having to
replicate the value.
David Kastrup [Wed, 2 Jan 2013 11:01:21 +0000 (12:01 +0100)]
Issue 3077: Be more explicit about footnotes on chord constituents
This tries to deal with the suggestions stemming from the
<URL:http://lists.gnu.org/archive/html/lilypond-user/2013-01/msg00021.html>
discussion. It also rewords a bit of following documentation.
David Kastrup [Sat, 15 Dec 2012 08:34:23 +0000 (09:34 +0100)]
Issue 3023: Papersizes with landscape/portrait suffix are not recognized by -dpapersize
This factors out the papersize recognition into a function
lookup-paper-name. It also streamlines error handling somewhat. A
conditional checking paper-default to be non-#f could only ever be
triggered in an error situation. Since it does not make sense to
treat the error condition of "bad paper-alist entry" and "unrecognized
paper format" differently, this has been folded into the simpler case,
namely considering the specified width and height in
set-paper-dimensions as a substitute for the valid default paper size.
PO: remove duplicates entries for hh and cc from ALL_PO_SOURCES
Introduced with version 1.0.1 :
in stepmake/stepmake/C.make
ALL_C_SOURCES = h, c, y and l files
in stepmake/stepmake/Targets.make
ALL_PO_SOURCES = $(ALL_C_SOURCES) $(wildcard $(outdir)/*.hh) $(wildcard $(outdir)/*.cc)
hh and cc files having since then been registered through ALL_CC_SOURCES,
there is no need to double their entry.
Even worse, an "out of tree build" results in a doubled location of
parser.yy and lexer.ll (one of them with a full path).
Zefram [Mon, 24 Dec 2012 23:00:35 +0000 (23:00 +0000)]
canonicalise notional octave of tonic
Nothing deliberately looks at the octave part of the pitch object storing
the tonic of a key-change event; it's not really a meaningful concept.
But comparison with equal? sees the octave, so internal_event_assignment()
reckoned two key changes differing only in this meaningless field to
be different, and therefore not permitted to occur at the same time.
This triggered false warnings of "two simultaneous key-change events"
when two instruments sharing a staff differ in the transposition used
in their music source.
To fix this, always set the octave part of the tonic pitch to the
same value. This is done when transposing, and since \key operates by
invoking transposition this is the only place that needs to canonicalise.
The canonical octave is number -1; that is, the octave obtained by a
note name with no octave suffix, and so the octave that most commonly
occurred under the non-canonicalising system.
Zefram [Sat, 22 Dec 2012 21:43:42 +0000 (21:43 +0000)]
articulate grace notes with time stealing
This change makes \articulate handle grace notes itself, rendering them
to ordinary notes. There are a couple of tweakable parameters controlling
the rendering.
This prevents \articulate causing the many "going back in MIDI time"
errors that it used to. (Inserting a short rest after each note makes it
way too easy for following grace notes to need to steal more time from
the preceding rhythmic event than it has.) In fact, when such errors
occur in the absence of \articulate, \articulate can now fix them.
David Kastrup [Sun, 23 Dec 2012 21:13:08 +0000 (22:13 +0100)]
Make lexer more robust against unexpected EOF
This helps against EOF within strings, multiline comments and other
constructs without losing track when terminating the main input parser
while retaining the lexer.
Torsten Hämmerle [Sat, 29 Dec 2012 16:10:43 +0000 (16:10 +0000)]
\fret-diagram-verbose with capo > 1
Issue 2961
Even if all dots and barrés fit in the default fret-range, the fret-range
will have to be shifted if capo-fret > 1 in order to make sure that the
capo will be the lowest fret in the fret diagram.
David Kastrup [Wed, 26 Dec 2012 21:09:55 +0000 (22:09 +0100)]
Issue 3049: Parser outputs Lyric events for illegal note names
Well, after this patch this is what we still do (using void-music with
duration and post events seems even worse of a followup reaction,
silently dropping duration and post events not much better).
But additionally, an error is flagged. The complaint is "have to be
in Lyric mode for lyrics" which is accurate since in Lyric mode
arbitrary strings and markups may be accepted. At the point the error
is flagged, we don't necessarily have encountered an unquoted string,
so "bad note name" might be even more misleading. Before this issue
originated, the parser likely bombed out with "Unexpected STRING", and
frankly that's not really better than "have to be in Lyric mode".