Mike Solomon [Tue, 4 Sep 2012 22:52:19 +0000 (00:52 +0200)]
LedgerLineSpanner included in vertical skylines of VerticalAxisGroup.
An elements grob array was erroneously being created for the
LedgerLinesSpanner. This has been eliminated, which now means that its
stencil can be used to calculate its vertical skylines.
Keith OHara [Wed, 29 Aug 2012 19:47:47 +0000 (12:47 -0700)]
grob-property.cc: outdated comment
Callbacks do not, in practice, return SCM_UNSPECIFIED after
setting the property they were called with, and an assert()
added later with commit 635bff94 severely restricts doing so.
Trevor Daniels [Wed, 29 Aug 2012 10:13:44 +0000 (11:13 +0100)]
Doc: NR 3.2.1: clarify titles and \header blocks (2652)
- drop use of "title blocks"
- make headings consistent
- explain the two titling areas
- explain the four positions for \header blocks and their
hierarchy
- clarify text in several places
Mike Solomon [Fri, 31 Aug 2012 07:27:17 +0000 (09:27 +0200)]
Uses a heuristic to determine if chord tremolos collide with accidentals.
This heuristic makes several assumptions about when a chord tremolo
will collide with accidentals. It must be between whole notes, it
must be in the staff, and it must be an ascending major third or lower.
The heuristic is entirely contained in Beam::whole_note_close_chord_tremolo,
which should be modified if other cases involving chord tremolos arise.
John Mandereau [Mon, 27 Aug 2012 22:18:04 +0000 (00:18 +0200)]
Restore some directories for the documentation build
Some files/directories that had been removed in c20fff645e325d392d2588721144f4204d0ef9da Make distributed tarball from
Git file list were needed by extract_texi_filenames and other programs
used in the build system to work properly without issuing warnings.
Mike Solomon [Mon, 27 Aug 2012 21:47:04 +0000 (23:47 +0200)]
Improvements in vertical skyline approximations (issue 2148).
The file stencil-integral.cc provides a suite of functions that
traverse a stencil and do linear approximations of its components.
These are then turned into boxes that are passed to the Skyline
constructor. This approximation is used for several vertical skylines
including those of VerticalAxisGroup and System. As a result of these
more accurate approximations, vertical spacing is more snug between
grobs.
Additionally, in axis-group-interface.cc, skylines of grobs are no
longer compared to a monolithic axis-group skyline but rather all
of the component skylines of the axis-group, allowing grobs to
be fit under other ones if there is space instead of always shifted over.
Two new python scripts allow to visualize the position of skylines.
All other changes provide functions that allow for better debugging
of Skylines, better approximations of grobs via skylines, and changes
to the measurement of distance between grobs via the new Skyline API.
This results in a significant time increase in score compilation for
objects with complex skylines such as all text grobs. For orchestral
scores, the increase is not as steep.
Fix 2241: Proper copyright/header/tagline handling with multiple bookparts
If we have several bookparts inside a book, this patch prints the
copyright on the first page of each bookpart (and no header), and
the tagline on the last page of each bookpart.
The original design of the accidental code apparently had two modes
for entries: a (notename . alter) pair for entries belonging to the
key signature, and a ((octave . notename) . (alter barnum . measurepos))
construct for actually occuring accidentals affecting the key signature
locally. The documentation, however, also specifies an
((octave . notename) . alter) form for key signatures. The code in general
has not been quite prepared for this. This changes at least the accessor
functions for either car or cdr of a notename entry to only look at
their part of the signature entry.
John Mandereau [Sun, 12 Aug 2012 09:26:04 +0000 (11:26 +0200)]
Fix Issue 2529 "configure should error for any missing software"
This is not an optimal fix, as by the moment this change is committed,
GUB bypasses configure for enabling documentation build, so
developers/packagers who call "configure --disable-documentation" will
still get warnings about missing requirements for documentation
build. The issues this patch addresses are
* adding missing documentation build requirements,
* enforcing all documentation build requirements in case
documentation build is enabled in configure.
John Mandereau [Fri, 3 Aug 2012 13:03:31 +0000 (15:03 +0200)]
Make targets: improve *clean, remove bin, cvs-clean and maintainerclean
* distclean was usable from any directory in theory, make it
toplevel-only and call clean, doc-clean, test-clean and log-clean
(previous behaviour can now be obtained with make clean && make
local-distclean),
* remove maintainerclean, which was a broken distclean-like, and
cvs-clean that can be substituted by some "git clean" incantation,
* remove bin, which does not work in a clean tree, and that can be
replaced by make bin-clean && make all in an already built tree,
John Mandereau [Thu, 2 Aug 2012 21:25:54 +0000 (23:25 +0200)]
Remove StepMake as a separate package
Rationale:
* there are no publicly-known current usage cases of StepMake outside
LilyPond,
* StepMake installation has been disabled for a decade,
* generic templates (stepmake/stepmake) have been so heavily
customized lately for our heavy documentation that they can no longer
be qualifed as "generic",
* only a few build scripts have remained in stepmake/bin, whereas
most of them now live in scripts/build.
This commit removes everything in stepmake/ except included makefiles;
scripts that are still used are moved to config/ (Autoconf helpers) or
scripts/build (build and install scripts).
Remove config make target to avoid potential conflict with new
config/ directory.
For clarity, a merge of all stepmake templates, from stepmake/stepmake
and make/ into stepmake/ (or similar), will be done in another commit.
John Mandereau [Wed, 1 Aug 2012 10:22:43 +0000 (12:22 +0200)]
Make distributed tarball from Git file list
This removes the requirement of having a GNUmakefile
in each and every directory of the source tree; this commit
also deletes GNUmakefiles made unnecessary this way.
dist-toplevel-txt-files toplevel target is also removed,
because it is unneeded outside of dist target and it
prevents linking of toplevel generated txt docs to
distdir when these docs are already generated.
In addition, on suggestions from Han-Wen, if dist is made with a
source directory tracked by Git, then
* the source directory is required to have no uncommitted changes nor
non-ignored untracked files,
* the time stamp of all files in the tarball is set to the time stamp
of the head of the checked-out branch.