Dan Eble [Sat, 6 Sep 2014 18:35:20 +0000 (14:35 -0400)]
Issue 4094: Check for Note_column interface before using grob.
Rest_collision was calling Note_column functions on grobs that did not
have the Note_column interface. Now Rest_collision ignores such grobs
and Note_column will print a more accurate message if such an error
ever happens again.
Phil Holmes [Mon, 15 Sep 2014 13:16:36 +0000 (14:16 +0100)]
Release: bump VERSION.
Phil Holmes [Sun, 14 Sep 2014 16:53:25 +0000 (17:53 +0100)]
Merge remote branch 'origin/master' into release/unstable
David Kastrup [Sun, 14 Sep 2014 15:47:07 +0000 (17:47 +0200)]
Don't use incomplete template type Smob2 in Unpure_pure_container
Some compilers complain, and I think they might have a point.
Phil Holmes [Sun, 14 Sep 2014 13:02:10 +0000 (14:02 +0100)]
Release: bump Welcome versions.
Phil Holmes [Sun, 14 Sep 2014 13:02:10 +0000 (14:02 +0100)]
Release: update news.
Phil Holmes [Sun, 14 Sep 2014 13:02:09 +0000 (14:02 +0100)]
PO: update template.
Phil Holmes [Sun, 14 Sep 2014 13:02:09 +0000 (14:02 +0100)]
Release: bump VERSION_DEVEL.
David Kastrup [Sun, 14 Sep 2014 05:49:03 +0000 (07:49 +0200)]
Merge branch 'issue4097' into HEAD
David Kastrup [Tue, 9 Sep 2014 14:54:17 +0000 (16:54 +0200)]
Add regtest for \addlyrics on Staff context
David Kastrup [Tue, 9 Sep 2014 09:14:34 +0000 (11:14 +0200)]
Allow \addlyrics to work with arbitrary contexts
David Kastrup [Tue, 9 Sep 2014 09:04:27 +0000 (11:04 +0200)]
Revert "Convert \new Staff ... \addlyrics into \new Staff \new Voice ... \addlyrics"
This reverts commit
76f256075f0a4f481d7e11c19dd55ab09030fe5b.
David Kastrup [Tue, 9 Sep 2014 08:15:35 +0000 (10:15 +0200)]
Allow associatedVoice to be of different type than Voice
David Kastrup [Mon, 8 Sep 2014 21:19:23 +0000 (23:19 +0200)]
Derive melisma_busy state from child contexts when available
David Kastrup [Sun, 14 Sep 2014 05:46:29 +0000 (07:46 +0200)]
Merge branch 'issue4096' into HEAD
David Kastrup [Mon, 8 Sep 2014 13:32:47 +0000 (15:32 +0200)]
Add regtest for issue 4096, \addlyrics using existing contexts
David Kastrup [Mon, 8 Sep 2014 15:24:37 +0000 (17:24 +0200)]
Convert \new Staff ... \addlyrics into \new Staff \new Voice ... \addlyrics
David Kastrup [Mon, 8 Sep 2014 09:28:14 +0000 (11:28 +0200)]
Give \addlyrics the power of christening the associated context
With
\new Voice \with { \stemDown } { c1 } \addlyrics { Oh }
as opposed to
\new Voice = "upper" \with { \stemDown } { c1 } \addlyrics { Oh }
\addlyrics created its own context (consequently not using \stemDown)
since it had no context name for the Lyrics context to attach to. In
this case (namely being preceded by an unnamed new Voice context), it
will now give a name to the context itself.
David Kastrup [Mon, 8 Sep 2014 09:15:19 +0000 (11:15 +0200)]
Fix bugs preventing \addlyrics from finding an existing context to attach to
David Kastrup [Mon, 8 Sep 2014 09:01:56 +0000 (11:01 +0200)]
Refactor grammar to give \addlyrics a good target to attach to
So far,
\new Staff \new Voice { c1 } \addlyrics { Oh } \addlyrics { Ah }
was factored as
\new Staff \new Voice { { c1 } \addlyrics { Oh } \addlyrics { Ah } }
which resulted in something like
\new Staff \new Voice
<< \context Voice = "uniqueContext0" { c1 }
\new Lyrics \lyricsto "uniqueContext0" { Oh }
\new Lyrics \lyricsto "uniqueContext0" { Ah }
>>
This made it impossible to work with the likes of
\new Staff \new Voice \with { \stemUp } { c1 } \addlyrics ...
since the voice the lyrics attached to was always a new voice.
Fixing the grouping in the grammar is a first required step for getting
this under control.
David Kastrup [Mon, 4 Aug 2014 07:55:17 +0000 (09:55 +0200)]
Refactor grammar, folding re_rhythmed_music into composite_music
David Kastrup [Mon, 4 Aug 2014 07:55:17 +0000 (09:55 +0200)]
Refactor grammar, folding complex_music into composite_music
David Kastrup [Tue, 2 Sep 2014 13:14:41 +0000 (15:14 +0200)]
Add regtest for \tagGroup command
David Kastrup [Tue, 2 Sep 2014 10:21:43 +0000 (12:21 +0200)]
Basic documentation for \tagGroup command
David Kastrup [Tue, 2 Sep 2014 10:21:20 +0000 (12:21 +0200)]
Issue 4083: Implement \tagGroup command
David Kastrup [Fri, 5 Sep 2014 22:07:59 +0000 (00:07 +0200)]
Issue 346: monochord issues
This lets a reverse notehead at the stem start creep up closer to its
same-pitch unreversed partner in order to avoid a gap caused by notehead
slant.
Jean-Charles Malahieude [Sat, 13 Sep 2014 11:51:34 +0000 (13:51 +0200)]
Doc-fr: full update
James Lowe [Fri, 12 Sep 2014 08:25:40 +0000 (09:25 +0100)]
James Lowe [Thu, 26 Jun 2014 21:37:04 +0000 (22:37 +0100)]
Doc: NR Pitches.itely - Clef - updated snippets and text
Issue 3976
Added 2 new snippets:
1 snippet added to NR
1 snippet added just to Snippets
Modified 1 existing snippet:
This was already (and still is) included in the NR
Deleted 2 snippets (and incorporated them in the
main text in @lilyponds)
Added new @lilypond example that was originally
described (but not show)n in the 'Tweaking Clef
Properties' snippet to show how to remove
the clef glyph from the end of a line. As this
'tweak' is relatively simple (a single \set and
\unset) and more than likely to be used (IMHO) by
the general user than the listed items in the
snippet, I thought it better to be in the NR than
another example in either an already long snippet
or by creating yet another snippet.
Some minor linelength formatting as per CG.
David Kastrup [Thu, 4 Sep 2014 18:48:06 +0000 (20:48 +0200)]
Issue 3855: programming error with \markup \fill-line { \vspace #10 }
David Kastrup [Thu, 4 Sep 2014 15:23:51 +0000 (17:23 +0200)]
Issue 4092: Limit tuplet bracket length to actual tuplet length
See the regtest for an example of the problem. Without the patch, the
tuplet bracket extends over all of
\tuplet 3/2 4 { g16 a b } c8
including c8, resulting in visual lengths not adding up.
David Kastrup [Thu, 4 Sep 2014 13:07:20 +0000 (15:07 +0200)]
Issue 4030: Lyrics associated to a Staff are placed on top of each other
The approach here is simply to avoid attaching to noteheads that have
actually started _before_ the current moment of time. It is somewhat
irritating that includeGraceNotes cannot possibly be supported in
associated voices with its own timing (rather than the fully
synchronized \addlyrics or \lyricsto): Instead you need to use the same
durations, including \grace constructs, in order to match the note you
are aiming for.
David Kastrup [Wed, 3 Sep 2014 17:29:27 +0000 (19:29 +0200)]
Issue 3832: react sanely to ill-formed version strings
Mostly, this cleans up Lilypond_version
We no longer convert to int because it is weird, but we still want
version comparisons. Conversion to bool for checking validity seems
nice in addition.
And bombing out because of invalid data to String_convert::dec2int
seemed definitely non-nice. This version requires specifying at
least major and minor version number explicitly separated by dots.
It accepts a trailing dot, too. A trailing extra_patch_string after
major.minor.patchlevel. is also accepted but not interpreted.
David Kastrup [Wed, 3 Sep 2014 15:44:05 +0000 (17:44 +0200)]
Don't verify result of String_convert::dec2int
The error behavior is not useful and triggers on things like "00".
David Kastrup [Tue, 2 Sep 2014 17:19:23 +0000 (19:19 +0200)]
Make "Don't know how to parenthesize spanners." warning, not programming error
Also add location information.
David Kastrup [Tue, 2 Sep 2014 17:14:34 +0000 (19:14 +0200)]
Issue 3849: \parenthesize\p generates programming error
Register a grob as the cause for DynamicLineSpanner rather than an event.
David Kastrup [Thu, 4 Sep 2014 09:18:06 +0000 (11:18 +0200)]
Issue 4028: Automatic beaming of grace notes inhibits beam subdivision
While the whole extend_mom_ logic seems rather fishy to me (it probably
should be reset to a sane value at some other location per-beam) and
I don't have an actual idea why the Grace_auto_beam_engraver would
be involved at all here, initializing extend_mom_ to a value before
all grace notes seems to do the trick for this report.
David Kastrup [Sun, 31 Aug 2014 07:51:55 +0000 (09:51 +0200)]
Issue 4086/6: Reimplement unpure-pure-containers in terms of Simple_smob and Smob1
David Kastrup [Thu, 28 Aug 2014 17:28:19 +0000 (19:28 +0200)]
Issue 4086/5: Introduce callable Smob infrastructure
David Kastrup [Sun, 31 Aug 2014 11:47:48 +0000 (13:47 +0200)]
Issue 4086/4: Reimplement Simple_closure using Smob1
David Kastrup [Sat, 30 Aug 2014 09:11:37 +0000 (11:11 +0200)]
Issue 4086/3: Reimplement Music_function in terms of Smob2
David Kastrup [Fri, 29 Aug 2014 13:09:37 +0000 (15:09 +0200)]
Issue 4086/2: Add include/small-smobs.hh for smobs without extra allocation
David Kastrup [Sun, 31 Aug 2014 13:58:46 +0000 (15:58 +0200)]
Issue 4086/1: Reimplement Input in terms of Simple_smob
David Kastrup [Wed, 3 Sep 2014 14:43:21 +0000 (16:43 +0200)]
Issue 4091: Lexer: don't go through int for fractions
GUILE can deal fine with things like
\void \displayScheme
6563546345635436/
3654635463456
if one does not route through C code.
Janek Warchoł [Thu, 21 Aug 2014 16:34:22 +0000 (18:34 +0200)]
Replace internal_get_property with get_property where possible
Note that thanks to lily-guile-macros magic, we can use get_property
with both string and SCM input (see lily/include/lily-guile-macros.hh:48).
Janek Warchoł [Wed, 3 Sep 2014 22:17:55 +0000 (00:17 +0200)]
Initialize main_head to 0 (in Note_column::calc_main_extent)
Make sure that the pointer won't be assigned a random value.
Keith OHara [Sun, 24 Aug 2014 22:54:45 +0000 (15:54 -0700)]
Ottava Bracket bounds; issue 3690
Ottava Bracket: do not dash edges; issue 3866
Keith OHara [Sun, 24 Aug 2014 08:48:17 +0000 (01:48 -0700)]
note-collision: rework horizontal shifts; issue 1774,2196
Also allow duplicate 'horizontal-shift's without the "too many clashing
note-columns" warning.
Trevor Daniels [Sat, 30 Aug 2014 20:44:23 +0000 (21:44 +0100)]
Issue 4078: Doc: Use variables rather than instrument definitions
Using variables for switching character names in vocal music
rather than instrument definitions is easier to understand,
easier to set up and quicker to type. It also frees up the
use of instrument definitions so they may be tailored for
better use in instrumental compositions.
Remove the mention of \transposition. This is never required
in vocal music.
Adjust references to match the changes.
David Kastrup [Tue, 2 Sep 2014 10:27:25 +0000 (12:27 +0200)]
Merge branch 'issue4082'
David Kastrup [Tue, 2 Sep 2014 10:24:29 +0000 (12:24 +0200)]
Revert "Issue 4082/2: Add scripts/auxiliar/smob-convert.sh for one-time C++ conversion"
This reverts commit
b91616a79ea28aed15a3c7e9c801a843ae38753f.
The script is no longer needed.
David Kastrup [Wed, 27 Aug 2014 19:12:55 +0000 (21:12 +0200)]
Issue 4082/3: Run scripts/auxiliar/smob-convert.sh
David Kastrup [Fri, 22 Aug 2014 16:01:42 +0000 (18:01 +0200)]
Issue 4082/2: Add scripts/auxiliar/smob-convert.sh for one-time C++ conversion
This script is used for the mechanical stage of converting the Smob
machinery from working via the C preprocessor to working via C++
templates.
David Kastrup [Mon, 25 Aug 2014 15:46:29 +0000 (17:46 +0200)]
Issue 4082/1: Reimplement Smobs via templates rather than preprocessor
This creates the underlying code for the new implementation without
converting the bulk of the code (which is left to a script committed
separately). The include file ly-smobs.icc is removed completely. A
new file smobs.tcc contains generic template instantiations. The GCC
implementation works by loading it unconditionally in smobs.hh.
Depending on the underlying template mechanism, it might be feasible to
include it into just one compilation unit.
Where the previous implementation referred to class names passed into
macros, the typeinfo mechanism of C++ is employed for deriving the
respective name. The GCC implementation uses some cursory demangling of
the resulting type id, converting "3Box" into "Box" and similarly.
Other APIs might warrant different polishing but the type names are
mostly used for internal purposes and differences are not all that
problematic.
David Kastrup [Mon, 25 Aug 2014 16:40:54 +0000 (18:40 +0200)]
Don't assign 'safe' values to self_scm_ outside of smobify_self
David Kastrup [Fri, 22 Aug 2014 15:34:19 +0000 (17:34 +0200)]
Minor style fixes to some class definitions.
Phil Holmes [Sun, 31 Aug 2014 21:07:42 +0000 (22:07 +0100)]
Release: bump VERSION.
Phil Holmes [Sun, 31 Aug 2014 21:06:57 +0000 (22:06 +0100)]
Merge remote branch 'origin/release/unstable' into HEAD
Phil Holmes [Sun, 31 Aug 2014 12:53:12 +0000 (13:53 +0100)]
LSR updates
Phil Holmes [Sun, 31 Aug 2014 12:04:56 +0000 (13:04 +0100)]
Update release process in CG
Phil Holmes [Sun, 31 Aug 2014 13:09:53 +0000 (14:09 +0100)]
Release: bump Welcome versions.
Phil Holmes [Sun, 31 Aug 2014 13:09:52 +0000 (14:09 +0100)]
Release: update news.
Phil Holmes [Sun, 31 Aug 2014 13:09:52 +0000 (14:09 +0100)]
PO: update template.
Phil Holmes [Sun, 31 Aug 2014 13:09:52 +0000 (14:09 +0100)]
Release: bump VERSION_DEVEL.
Jean-Charles Malahieude [Sun, 31 Aug 2014 12:08:44 +0000 (14:08 +0200)]
Doc-fr: full update
Jean-Charles Malahieude [Sun, 31 Aug 2014 10:24:26 +0000 (12:24 +0200)]
Merge branch 'master' of /home/jcharles/GIT/Lily/. into translation
Trevor Daniels [Sat, 30 Aug 2014 11:42:54 +0000 (12:42 +0100)]
Issue 4075: Doc: Correct the instrumentTransposition setting in NR 2.1.6
The value of instrumentTransposition affects the MIDI
pitch. As all the notes in this example are entered
at the correct sounding pitch no instrument transposition
is required. Previously Kaspar sounded an octave too low.
James Lowe [Tue, 26 Aug 2014 09:36:37 +0000 (10:36 +0100)]
Doc: CG - Added Ralph Palmer and Federico to Bug Squad
Issue 4080
Walter Garcia-Fontes [Fri, 29 Aug 2014 16:27:19 +0000 (18:27 +0200)]
Doc-ca: Priority II Catalan translation
Keith OHara [Sat, 28 Dec 2013 00:21:29 +0000 (16:21 -0800)]
Remove tied accidentals after line-breaking
Keith OHara [Sun, 27 Jul 2014 19:17:37 +0000 (12:17 -0700)]
Simplify the NullVoice context, and move it under Score
issues 3834 3825 3734
The Tie_performer and similar give their timing information to
Lyric_performer without any need for Note_performer.
Keith OHara [Tue, 22 Jul 2014 06:40:52 +0000 (23:40 -0700)]
Simplify the NullVoice context
issues 3834 3825 3734
David Kastrup [Fri, 28 Oct 2011 15:52:42 +0000 (17:52 +0200)]
Issue 4071: scheme-tutorial.itely: missing closing paren
But it turns out that the "formal" definition of a list given there is
unsuitable for determining the list status of circular lists because the
definition, well, turns out to be circular.
Janek Warchoł [Sun, 10 Aug 2014 19:09:42 +0000 (21:09 +0200)]
Use aligned-on-x-parent instead of other callbacks for some grobs
Now that we have an easy way of specifying different alignments for
grob and its parent (see
0c4f221e5d), we can use aligned-on-.-parent
in places that we previously used .-aligned-on-self. With this change,
the users have more control over the placement of grobs.
Affected grobs:
- InstrumentSwitch
- Script
- SostenutoPedal
- SustainPedal
- UnaCordaPedal
Janek Warchoł [Sun, 17 Aug 2014 14:14:11 +0000 (16:14 +0200)]
Fix bugs with aligning on main part of the NoteColumn
NoteColumns may contain either noteheads or rests, so the function
was changed to handle the case when NoteColumn contains only rest.
ly_scm2bool returns true when the argument is unset - that's not
what we want: unset properties should evaluate to false.
Janek Warchoł [Sun, 17 Aug 2014 12:59:35 +0000 (14:59 +0200)]
Fix ugly code in ClefModifier alignment
Trevor Daniels [Mon, 18 Aug 2014 20:13:46 +0000 (21:13 +0100)]
Issue 4064: Remove misleading \notemode example
- Entering note mode has not been required for
this example since Release 15.
- Also replace non-standard headings with Level 5
headings.
David Kastrup [Wed, 20 Aug 2014 12:49:35 +0000 (14:49 +0200)]
Regtest for VerticalAxisGroup.remove-layer (divisi staves)
David Kastrup [Wed, 20 Aug 2014 12:27:55 +0000 (14:27 +0200)]
Issue 3518: Support temporary divisi staves
This provides the low-level support for temporary divisi staves by
adding a `VerticalAxisGroup.remove-layer' property of type integer that
interacts with the "Keep_alive_together_engraver": when set to a numeric
value, staves with the same numeric value are kept alive together as one
group. Of several such groups with live staves, only the one with the
lowest common numeric `remove-layer' is retained.
David Kastrup [Wed, 20 Aug 2014 09:51:46 +0000 (11:51 +0200)]
Reformat define-grob-properties.scm to avoid column 0 parens in strings
David Kastrup [Sun, 17 Aug 2014 12:40:31 +0000 (14:40 +0200)]
Run scripts/auxiliar/makelsr.py
David Kastrup [Sun, 17 Aug 2014 12:40:07 +0000 (14:40 +0200)]
Copy some snippets converted with temporary rule to snippets/new
This avoids them being overwritten on next LSR import
David Kastrup [Sun, 24 Aug 2014 11:21:59 +0000 (13:21 +0200)]
Revert "Issue 4068: Add a convert-ly rule for xxx #'yyy #'zzz = -> xxx.yyy.zzz ="
This reverts commit
7f34e80b8d8bebfa4b1f3721a12718b04d7e02f4.
David Kastrup [Sun, 17 Aug 2014 08:41:00 +0000 (10:41 +0200)]
Run scripts/auxiliar/update-with-convert-ly.sh
David Kastrup [Sat, 16 Aug 2014 21:24:21 +0000 (23:24 +0200)]
Issue 4068: Add a convert-ly rule for xxx #'yyy #'zzz = -> xxx.yyy.zzz =
Alist assignments can also use symbol list syntax as of issue 3748.
So the examples for nested layout variable assignments should actually
use those.
David Kastrup [Mon, 18 Aug 2014 16:17:05 +0000 (18:17 +0200)]
Issue 4070: Cyclic markup detection unable to deal with non-linear code execution
This uses dynamic winding to keep the stack depth counts accurate even
in the presence of non-local exits like those used of
map-markup-commands. It also changes the regtest
markup-cyclic-reference.ly since it seems too much trouble to trap both
cyclic references via a tortoise/hare algorithm as well as limiting the
maximum markup stack depth.
David Kastrup [Fri, 22 Aug 2014 08:43:49 +0000 (10:43 +0200)]
Issue 4072: Get rid of lilypond-book warning for "indent=1.5cm" in essay
The reported warning is
lilypond-book: warning: deprecated ly-option used: indent=1.5cm
lilypond-book: warning: compatibility mode translation: indent=1.500000\cm
I am pretty sure this cropped up in some bug tracker or mailing list
communication but I am quite unable to find any reference.
David Kastrup [Sun, 17 Aug 2014 13:52:19 +0000 (15:52 +0200)]
Issue 4069: Rewrite ly_lily_module_constant in terms of scm_c_module_lookup
Overusing eval is not desirable.
David Kastrup [Fri, 22 Aug 2014 05:17:50 +0000 (07:17 +0200)]
Merge branch 'issue3072' into HEAD
David Kastrup [Wed, 30 Jul 2014 15:34:55 +0000 (17:34 +0200)]
Issue 2507: Stop the entanglement of context properties and grob property internals
This introduces a semi-opaque structure Grob_properties meeting the
predicate ly:grob-properties? that is algorithmically handled at the C++
level via a wrapper structure Grob_property_info.
Encapsulating grob properties in that manner reduces the potential for
clashes and makes it easier to change algorithms and/or internal
representation.
While the principal distinction between context properties (one value
per context) and context-based grob property templates (one stack per
context) remains, at least the separation of the handling is more
pronounced.
David Kastrup [Sat, 16 Aug 2014 21:04:18 +0000 (23:04 +0200)]
input/regression/override-nest.ly needs matched \override/\revert
David Kastrup [Thu, 14 Aug 2014 23:40:36 +0000 (01:40 +0200)]
Fix severe context/grob property mixup in event-listener
David Kastrup [Thu, 14 Aug 2014 20:20:35 +0000 (22:20 +0200)]
Issue 3072: Nested overrides get confused with multiple contexts in play
The main problem with nested overrides lies not as much with the
override (which can be done reasonably well) but rather with the
corresponding reverts. Detecting and undoing a previously established
nested override by its effects on an alist, particularly when nested
overrides may be present at several different levels in several
different contexts and/or stack depths and may be undone in different
order from being established, is a complex problem. It is complex
enough that it is not clear that a satisfactory solution does even
exist: at least LilyPond's implementation breaks down for a number of
test cases.
The approach of this implementation is to not even try reverting nested
overrides from looking at their effects on the final result. Instead
nested overrides like
\override Staff.TextSpanner.bound-details.left.text = #"foo"
are not done by creating an assembled alist element for TextSpanner
looking like
(bound-details . ((left . ((text . "foo") ...)) ...))
with ... filled in from other parts of the alist (which may change
independently at a later point of time) but rather by using
(bound-details left text) itself as a key and thus storing
((bound-details left text) . "foo")
as the representation of the override. Consequently, reverting an
override with the same nested property path is straightforward. Neither
the action of overriding nor of reverting now require referring to or
updating any part of the property stack outside of the current context.
The downside is that an actual reference to the resulting grob alist
requires expanding the nested overrides at the time of creating a grob
or otherwise asking for ly:context-grob-properties.
Since issue 2507 encapsulated grob property access into the
Grob_property_info algorithm container structure relying on data stored
in context properties of elements of type Grob_properties, changing the
respective algorithms can be facilitated completely in those classes.
In order to provide similarly efficient access and reasonable caching
and just-in-time reevaluation of previously computed values,
Grob_properties needed to be significantly extended in size.
Julien Rioux [Thu, 7 Aug 2014 18:28:21 +0000 (20:28 +0200)]
Add missing trailing newline
Julien Rioux [Sat, 26 Jul 2014 18:46:49 +0000 (20:46 +0200)]
Add reg test (issue 4046)
Test nested include files and use lybook-testdb during make test.
Julien Rioux [Thu, 7 Aug 2014 18:25:03 +0000 (20:25 +0200)]
Fix references when using --use-source-file-names (issue 4046)
Julien Rioux [Thu, 31 Jul 2014 19:31:47 +0000 (21:31 +0200)]
Fix lilypond-book include paths (issue 4046)
Rewrite paths relative to the lily-output-dir or the output dir
depending on which one is being used. Always use forward slashes
since this is what lilypond expects, even on Windows.
James Lowe [Sun, 10 Aug 2014 08:34:20 +0000 (09:34 +0100)]
Doc: Appendix - Articulations and Ornamentation - part 3
Issue 1189
Create Texifo @multitable entries for the
List of Articulations appendix.
As there are a lot of separate scripts being
documented this Issue is going to be split
into multiple, smaller, parts to aid in the
review process. Part 2 was commit
4d6f2a27cc
This is part 3 and while not strictly
'Articulations and ornamentations' covers
the percussion scripts.
I have also set the @code{} script examples into
the same column as the @lilypond examples; saving
a significant amount of wasted page space. I have
removed unnecessary lilypond-book variables making
the texinfo code less noisy.
David Kastrup [Sun, 10 Aug 2014 19:41:12 +0000 (21:41 +0200)]
Issue 4063: Interpret < > and << >> in \chordmode
There is no compelling reason not to do so, and having < > available
allows stuff like
\chordmode { \clef bass <c> c/e <g,> c/e }
or other ways of explicitly spelling out some not-really chord material.
David Kastrup [Thu, 14 Aug 2014 09:11:33 +0000 (11:11 +0200)]
Issue 4066: Clean lily/include/lily-proto.hh from unused/undefined classes
This is the result of running
sed -i -e "$(sed -n s'/^class\s\+\([^;]*\);.*$/\1/p' lily/include/lily-proto.hh |while read i;do git grep -l "\(class\|struct\)\s\+$i" lily|grep -q -v lily/include/lily-proto || echo "/^class $i/d";done)" lily/include/lily-proto.hh