David Kastrup [Wed, 19 Dec 2012 11:50:06 +0000 (12:50 +0100)]
Replace some faulty code examples in the "Czech" learning/tweaks
Since those are contained in as-yet untranslated German passages,
I copied the respective code examples from the current German
documentation. No attempt at updating the corresponding texts
has been made.
David Kastrup [Tue, 11 Dec 2012 12:48:30 +0000 (13:48 +0100)]
Issue 3013: Amend \overrideProperty example
It has been overlooked by convert-ly due to interspersed comments, and
it could make use of a subproperty override (which is supported by
\overrideProperty by now).
Trevor Daniels [Sun, 2 Dec 2012 11:15:07 +0000 (11:15 +0000)]
Doc: improve example of using positions property (2993)
The current example is positioned properly even
without the override. This changes the example
to one in which the slur and phrasing slur collide
by default.
David Kastrup [Mon, 26 Nov 2012 10:54:38 +0000 (11:54 +0100)]
Remove "selective" contextmods.
This reverts those parts of commit 70365334614c31a82e9a3860c9eb9334cdc2879a that have been responsible
for allowing context-mods to contain modifications restricted to
certain context types. It also removes use of this feature from
context-mod-from-music which is used for harvesting music into context
modifications.
As a result, any overrides in music used inside of context mods are
interpreted without looking at their actually targeted contexts. It
turned out that this "feature" offered more confusion than benefits.
David Kastrup [Sat, 24 Nov 2012 09:27:55 +0000 (10:27 +0100)]
Issue 2974: music-functions-init.ly: Avoid unnecessary use of $ instead of #
$ creates unnecessary copies, unnecessary reinterpretation, and
reassigns the music origin of some expressions to the current parser
location, which in #{ ... #} turns out to be music-functions-init.ly
itself, hardly helpful.
Trevor Daniels [Sun, 25 Nov 2012 22:41:58 +0000 (22:41 +0000)]
Doc: ensure all level 3 and 4 headings have nodes (2967)
Without them the sections cannot be referenced,
and links in the left panel in html and entries in
the index do not link to the correct section.
Correct more level 5 headings.
Usage manual is not included.
Complete the set of files in Documentation/nl/learning
and Documentation/hu/learning with the English versions.
This is needed to avoid errors in make doc following
the change in node names. Fixes Issue 2980.
David Kastrup [Tue, 6 Nov 2012 16:43:45 +0000 (17:43 +0100)]
Issue 2951: Allow music of nominally zero duration to be typeset.
This is important for things like incipits without notes or other
material that produces output without spending time. In particular,
this is interesting for \score in markup which more often than not
only contains few notational elements and where attempts to just get
basic key/clef/timesignature drawings are sometimes failing in
frustrating manners.
David Kastrup [Wed, 7 Nov 2012 10:15:33 +0000 (11:15 +0100)]
Issue 2946: let Lyric_combine_music_iterator only listen to rhythmic events
Listening to articulations makes the rhythmic_music_iterator assume it
can just broadcast things like string numbers and right fingerings and
somebody will pick them up and deal with them which is, unfortunately,
not the case.
Listening only to rhythmic events should cure that problem.
David Kastrup [Mon, 5 Nov 2012 22:13:07 +0000 (23:13 +0100)]
Issue 2949: Allow (closed) scheme function calls as text scripts.
One motivation of recent grammar changes was to make scheme variables
identical to markup variables. The obvious parallel idea of letting
scheme function calls be available for calculating markups has not
received similar attention.
The purpose of this patch is to allow for using scheme function calls
producing markup within text scripts.
Benkő Pál [Thu, 25 Oct 2012 18:57:03 +0000 (20:57 +0200)]
fix divisioMaior; add more explanatory comments
do what the (original) comment dictate: find staff spaces at the
required height, and draw a line between the centres of these spaces
(or perhaps a bit wider for extreme staves)
Marc Hohl [Sat, 27 Oct 2012 20:22:25 +0000 (22:22 +0200)]
Allows optional octavation for clefs
Clef specifications like \clef "G_(8)" or
\clef "bass^[15]" are supported.
A new property clefOctavationStyle (and its cue
clef couterpart cueClefOctavationStyle) is introduced.
When set to 'default, the octavation number is displayed
as before; 'parenthesized calls for parenthesized numbers
and 'bracketed used brackets around the number.
Furthermore, a scheme formatter function is used for
displaying the ocatavation number, so can be customized
more easily.
David Kastrup [Wed, 31 Oct 2012 11:33:15 +0000 (12:33 +0100)]
Issue 2939: Fix relations between \maininput, EOF and safe mode
In lexer.ll, assumptions about the depth of include_stack_ were hardwired
that only were valid for parsers started from the normal chain of input.
One consequence was that something like
#{ \book { \include "line-arrows.ly" } #}
worked even in safe mode (where \include should be prohibited) but
might complain about unexpected EOF. This commit adds a member
variable main_input_level to Lily_lexer for keeping track of when to
drop restrictions and deliver EOF in each parser separately.
David Nalesnik [Tue, 23 Oct 2012 17:13:19 +0000 (12:13 -0500)]
Add support for measures split across lines.
- All pieces are numbered. The number before the break has its
default appearance, and any following numbers are parenthesized.
- A regtest for this feature is provided.
David Nalesnik [Sat, 8 Sep 2012 12:38:28 +0000 (07:38 -0500)]
Issue 2445: Add measure counter to LilyPond
These changes implement a new grob, `MeasureCounter,' a spanner used to
number groups of successive measures.
This commit:
- defines a new event class, `MeasureCounterEvent.'
- defines a new interface, `measure-counter-interface.' This
interface contains `count-from,' the number which begins the count, and
`columns,' which contains the NonMusicalPaperColumn grobs forming
the bounds of the new spanner.
- defines the stencil with a function in scm/music-functions.scm.
- defines an engraver, `Measure_counter_engraver.' This engraver
is written in Scheme and placed in a new file, scm/scheme-engravers.scm,
which is added to the load list in scm/lily.scm.
- sets various grob properties to default values.
- provides two commands to frame the measures to be counted:
\startMeasureCount and \stopMeasureCount.
- provides a regression test.
David Kastrup [Thu, 25 Oct 2012 12:46:15 +0000 (14:46 +0200)]
Issue 2929: Allow \tweak to act as a stand-in for \once\override
Making tweak optionally accept a grob specification instead of music
to tweak makes it compatible with the behavior of functions such as
\footnote and \shape, and actually serves to simplify their
implementation.
One slight complication occurs in lyrics mode, as demonstrated by the
change necessary to input/regression/lyric-tweak.ly: with
\tweak color #red reddish fish,
LilyPond tries an override for a grob named "reddish" and fails.
Tweaks in lyrics mode are highly unusual, have not been supported for
long, and their effect can usually better be accomplished in markup
mode instead. The fix here is to write
\tweak color #red \markup reddish fish,
since LilyPond does not consider explicit markup a candidate for
conversion into symbols. The same problem is inherent with other
commands using the same kind of symbol-list-or-music? interface, like
\footnote, \hide, \omit.
David Kastrup [Sat, 27 Oct 2012 19:08:17 +0000 (21:08 +0200)]
Change input/regression/alter-broken.ly to include tweak-like usage
Also change override-like usage for ties to \once\alterBroken as the
control point manipulations are unlikely to be desirable for more than
a single occurence.
David Kastrup [Tue, 30 Oct 2012 21:57:54 +0000 (22:57 +0100)]
Merge symbol_list into master
This merge commit comprises the commits
13da8b2 Rerun scripts/auxiliar/update-with-convert-ly.sh 516cae5 Add more extensive rules for \tweak, \override, \revert, \overrideProperty 7b2cfcb Change \overrideProperty to take a single symbol-list as path ec6b407 Change \alterBroken interface to match that of other tweak/overrides
that don't have a compilable work tree and should therefore not be
separate commits in the mainline.
David Kastrup [Thu, 25 Oct 2012 12:42:25 +0000 (14:42 +0200)]
Implement function check-grob-path for checking/extending grob path specs
From the function documentation string:
Check a grob path specification @var{path}, a symbol list (or a
single symbol), for validity and possibly complete it. Returns the
completed specification, or @code{#f} if invalid. If optional
@var{parser} is given, a syntax error is raised in that case,
optionally using @var{location}. If an optional keyword argument
@code{#:start @var{start}} is given, the parsing starts at the given
index in the sequence @samp{Context.Grob.property.sub-property...},
with the default of @samp{0} implying the full path.
If there is no valid first element of @var{path} fitting at the given
path location, an optionally given @code{#:default @var{default}} is
used as the respective element instead without checking it for
validity at this position.
The resulting path after possibly prepending @var{default} can be
constrained in length by optional arguments @code{#:min @var{min}} and
@code{#:max @var{max}}, defaulting to @samp{1} and unlimited,
respectively.