Tuplet bracket positions were being calculated before beamed stem
positions were set. This patch triggers the setting of stem positions
before the calculation of these brackets.
David Kastrup [Sat, 27 Aug 2011 20:23:44 +0000 (22:23 +0200)]
Make #{ #} accept everything an assignment accepts.
This also makes #{ #} return a void music event, and does not create
sequential music if not necessary.
Mike Solomon [Sat, 27 Aug 2011 14:56:55 +0000 (16:56 +0200)]
Better pure height approximations for stems.
This makes several large changes to the Stem grobs' property list.
The following properties are deleted:
stem-end-position
stem-begin-position
length
Now, the only property that controls these three parameters is
Y-extent.
A new function, stem::length, has been added to allow for common
length overrides (i.e. cross-staff-stems) and is in the regtest
stem-length-override.ly.
Mike Solomon [Sat, 27 Aug 2011 13:13:25 +0000 (15:13 +0200)]
Adds a Flag grob to LilyPond.
This results in more flexibility with the control of flags and their
attachment to stems.
It also results in more accurate skylines for horizontal spacing, which
tightens up certain loose spacing situations, especially ones involving
grace notes that are close in pitch to the notes that follow them.
Note that this patch prolongs a problem with the calculations of flag
widths, which are artificially set at a half stem width skinnier than
they are actually. The same problem existed in the old Stem::width
function by using Stem::flag instead of Stem::get_translated_flag
to determine the width of the stem grob. This can be fixed in one
of several ways, but my recommendation would be to fix it in the
Feta font by adjusting the set_char_box for flags.
Mike Solomon [Thu, 25 Aug 2011 07:32:53 +0000 (09:32 +0200)]
Fixes issue 1628.
Changes the order in which callbacks are chained in the slur engravers,
allowing the correct callback order for articulations that are added
later on in a timestep.
Mike Solomon [Thu, 25 Aug 2011 07:16:51 +0000 (09:16 +0200)]
Fixes issue 1328.
Finds the local minimum or maximum of a Bezier curve along the X
axis in the range of an intersection and shifts intersecting
curves up over this range plus slur padding.
Adds default slur padding to all scripts, as this algorithm makes
them almost just touch with the slur whereas the previous one already
had a bit of padding built into it because it was a generous approximation.
Ian Hulin [Mon, 22 Aug 2011 10:01:13 +0000 (11:01 +0100)]
T1349 - Fix load order for running with Guile V2
1. Split load list into components (init-scheme-files-lib, *-used, *-body
and *-tail, and append them together before doing load.
2. Split markup macros from markup.scm to new file markup-macros.scm
makes upper loop smaller,
bottom crook sticks less,
vertical line is more evenly curved.
Also the upper loop is slightly bigger
in _change version of the clef than
in the regular version, to fit stafflines well.
Lilypond-book: Implement MusicXML support in lilypond-book
This patch adds support for including MusicXML files into
documents processed by lilypond-book. In particular:
-) HTML: <musicxmlfile options>filename.xml</musicxmlfile>
-) TeX: \musicxmlfile[options]{filename.xml}
-) Texinfo: @musicxmlfile[options]{filename.xml}
Since MusicXML is so verbose, it doesn't make much sense to
support inline MusicXML.
The snippets are basically processed like a lilypond file,
except that musicxml2ly is run on them (with the options given
for the snippet) and the returned lilypond code is then processed
as if it were the original contents of the file.
For the output links, however, the html and texinfo pages will
link to the .xml/.mxl file rather than the intermediate .ly file.
If a file has the extension .mxl, it is assumed to be a compressed
MusicXML file (alternatively, the 'compressed' snippet option can
be given).
What's missing is proper documentation in "Usage". I'm unsure
how to document such new snippet types...
Patrick McCarty [Thu, 18 Aug 2011 06:18:46 +0000 (23:18 -0700)]
Guile v2: Set 'show-file-name option correctly.
This fixes a compile issue with Guile v2.
Using the `debug-enable' procedure with non-boolean debug options raises
an error with Guile v2. The internal type for `show-file-name' is
SCM_OPTION_SCM, and this is why we can't use `debug-enable' here.
The fix is to use `debug-set!', passing the unquoted option name and
the value as arguments (as stated in the Guile documentation).
Werner Lemberg [Thu, 18 Aug 2011 06:04:35 +0000 (08:04 +0200)]
[doc] Try to omit leading # if not necessary.
I wonder whether a leading ' should be omitted also, but I think it doesn't
really harm because it's never part of a Scheme expression (unlike to `#f'
or `#t').
Werner Lemberg [Wed, 17 Aug 2011 17:22:21 +0000 (19:22 +0200)]
[doc] Handle leading dash in @code.
Due to the default value of texinfo.tex's `@allowcodebreaks true', line
breaks after a dash within @code is allowed; this makes sense due to the
very long Scheme identifiers containing many dashes. However, we have a lot
of `@code{-1}', and it looks very ugly to have a line break within this
expression.
This patch fixes it (also converting many `@code' to the correct `@option'),
using `@w{...}' where appropriate. However, I've done it only for the
English documentation, expecting the translators to follow up.
Mike Solomon [Wed, 17 Aug 2011 08:18:00 +0000 (10:18 +0200)]
Fixes issue 620.
Also fixes issue 591 (which was previously fixed, but is re-fixed
here).
Does this by making the extents of an axis group maleable depending
on the interfaces one chooses to use for bounds in the property
bound-alignment-interfaces
See generic_bound_extent in axis-group-interface.cc to see
how this works. All other changes get the data pumped into
this function.