David Kastrup [Thu, 27 Oct 2011 00:22:45 +0000 (02:22 +0200)]
parser.yy: Allow numbers, fractions and \default as arguments.
Common parts of function_arglist and function_arglist_closed are
also factored out in order to avoid premature parser decisions.
In closed music expressions (mostly in the context of optional
arguments), numbers with units (3\cm) and "wide" fractions (3 / 4) are
not recognized, but if the respective number is backed up because of
a false predicate, they can still be used in that manner in a
mandatory argument.
As a consequence of moving most of the optional argument checking into
predicates, the operator priority system could be vastly simplified.
\default can be used to force the rest of an optional argument block
to get skipped. It is the only way to skip optional arguments if they
are not followed by a mandatory argument, since otherwise a skipped
value could not be interpreted anywhere else in the argument list.
Mike Solomon [Wed, 2 Nov 2011 13:26:56 +0000 (14:26 +0100)]
Adds in-notes to LilyPond.
In notes function like footnotes in that they serve to annotate music,
but are different in that they are typeset either above or below
the system to which the grob being annotated belongs.
Currently, in-notes are not implemented in top-level markups. This will
hopefully be the subject of a future patch.
This patch also does some clean up in page-breaking.cc and
page-layout-problem.cc to speed up the performance of scores with
in-notes and/or footnotes.
Julien Rioux [Tue, 25 Oct 2011 12:15:30 +0000 (08:15 -0400)]
Fix the links to music samples in web-big-page (issue 1663).
We move all of Documentation/web/ly-examples to Documentation/ly-examples
and rework the links for the split manuals. This puts the ly-examples subdir
on par with e.g. the pictures subdir as a top-level subdir.
Graham Percival [Mon, 24 Oct 2011 06:36:09 +0000 (07:36 +0100)]
Website: use external $LILYPOND_WEB_MEDIA_GIT
This builds the website using the pictures and ly-examples which
will appear on the actual website. Previously, it used either
pictures from a local "make doc" run, or from a hard-coded
$HOME/lilypond/web-media/ directory. The latter is how it's built
on lilypond.org, but that relies on me personally uploading new
files.
Once this is accepted and pushed, I'll dig out our "publications"
pdfs, and anything else remaining in web/, add them to this
script, then finally rename the web/ dir (which is the pre-2009
website) to oldweb/.
Building with "make doc" is completely unaffected.
Julien Rioux [Mon, 17 Oct 2011 17:34:50 +0000 (13:34 -0400)]
Fix the 404 on contributor-big-page and contributor/website-build (issue 1974).
They were actually excluded in the www_post processing stage because
they contain the string 'UNTRANSLATED NODE: IGNORE ME', which is part
of the actual documentation.
Mike Solomon [Fri, 21 Oct 2011 07:55:33 +0000 (09:55 +0200)]
Fixes issue 1951 (script accidental collision).
Scripts now use skylines to avoid accidentals and other grobs
above or below which they are positioned. This leads to finer
spacing and collision avoidance.
Mike Solomon [Fri, 21 Oct 2011 07:03:43 +0000 (09:03 +0200)]
Implements consistent beam slopes across line breaks.
This is a mostly an internal reorganization of the beam code that
has several concrete impacts on the way beam slopes are calculated:
* ly:beam::calc-least-squares-positions, ly:beam::calc-slope-damping,
and ly:beam::shift-region-to-valid are now all instance methods of
Beam_scoring_problem and thus no longer open to the users.
* by being internal methods, these functions all use the same information
(x positions of stems, stem infos, etc.) stored in private variables.
* this sharing of information allows for broken beams to share information
between their parts, which leads to the consistent slope calculation
Additionally, ly:beam::quanting, which used to take the arguments of
a grob and a pair of positions, now only takes the grob, as it is
the sole generator of positions. All of the functions in layout-beam.scm
that relied on multiple Scheme callbacks being chained now only use this
function.
To turn on this feature, use \override Beam #'consistent-slope = ##t.