Janek Warchoł [Sun, 13 Mar 2011 10:33:25 +0000 (11:33 +0100)]
Ends of barlines are hidden in staff lines.
Barlines are made a little shorter, so that the end of the barline doesn't touch
the outer edge of staff line - it ends in the middle of staff line now.
This prevets artifacts in pdf viewing and printing.
Wol [Fri, 29 Jul 2011 21:43:13 +0000 (22:43 +0100)]
Modify chord handling to handle guitar capos
chord-name-engraver now calls a shim between it and the chord formatter
in order to print capo chords
chord-name-scm has had capo-handler added. If requested it prints both
the original chord, and the transposed chord.
define-context-properties adds the properties capoPitch to declare the
capo transposition, and capoVertical to make the chords print in column
rather than row form.
-) Add basic_progress function
-) use it for 'Processing xxx.ly...' message
-) new ly:basic-progress
-) get rid of the success function, use basic_progress instead
Fix 1293: Use quote env in latex instead of quotation
The quotation environment is meant for larger quotations, and it adds an indent for the first line of each paragraph, which we definitely don't want to have in lilypond-book snippets...
Fix 1821: Write pathes for ly-to-tely to a separate file rather than passing as cmd line args
For out-of-source builds, the collated files list has the whole absolute path
for each and every file (>1000 for our regtests), which blows up the cmd line
length to values that don't work with the shell (<=131000 chars allowed...).
This patch takes the list in the makefile and writes the filenames in several
patches (300 at a time for now) to a .list file and then passes just this one
file to lys-to-tely, which reads in the whole long list of file names from that
file. The trick is that while make can handle long variables, we can't pass
it to ly-to-tely on the cmd line, but have to use a helper file.
Fix 1529: hashed snippet filename changes should not count as log differences
If the contents of a regtest change, the regtest gets a new hash and
thus a new filename. Unfortunately, this will be detected by
output-distance as a change and will show up in the regtest analysis.
To work around this, I'm simply extracting the old and the new filename
before we compare the log files and if they differ, I replace the old
filename with the new filename in the old log file. Thus, it will
appear as if the new filename was also used in the baseline and it
will not be flagged as a difference.
Mike Solomon [Thu, 1 Sep 2011 12:57:48 +0000 (14:57 +0200)]
Implements unpure-pure-containers in LilyPond.
These structures free functions from needing to be pre-registered as
pure in define-grobs.scm. For example, if one has a function foo
that is the unpure callback for a given property and bar that is the
pure callback, the generalized syntax for these containers is:
All of the pure/unpure distinctions that require a back and forth
between .scm and .cc files can, in theory, be eliminated by
using these containers. Furthermore, all of the functions whose
pure equivalents are hard-coded can now take different pure equivalents
(see input/regression/unpure-pure-container.ly).
Graham Percival [Thu, 1 Sep 2011 06:58:23 +0000 (07:58 +0100)]
Add regtest for \contextStringTuning.
Somebody might want to make a better test / better texidoc, but at
the moment I just want to have something in there. This function
was not previously tested.
I'm sorry, but I still cannot build git master from scratch when I
have this commit attached. Please discuss the situation on
lilypond-devel, and put an updated patch on Rietveld so that James
can test the build.
Lilypond-book: Auto-detect linewidth and exampleindent in texinfo mode
Detection code basically copied from LaTeX and adjusted (texinfo is
just an awkward latex dialect with different active characters,
so we can extract the values in exactly the same way!)
Lilypond-book: Get rid of lilyquote option, use quote instead
The only difference between the lilyquote and quote options
so far was that with lilyquote the texinfo and doctitle
was outside the example block. We didn't use quote together
with those texinfo texts, so there is really no need to
have both.
Furthermore, those texinfo options were documented as 'obscure'
options, used internally for the lilypond documentation,
so this shouldn't break external scores, either.
Fix 1816: Lilypond-book: Give images 1mm less linewidth
lilypond creates images that are wider than allowed (~0.5-1mm too wide), so
workaround this by removing 1mm from the linewidth.
Also remove code that makes the fragment snippet option imply
ragged-right. Since single-line snippets are now formatted
ragged-right anyway by default in lilypond, we don't need to set
this explicitly. And multi-line snippets are usually not desired
to be printed ragged-right.
Graham Percival [Tue, 30 Aug 2011 05:36:35 +0000 (06:36 +0100)]
Merge segfault regtests
We haven't had a release in a month. More to the point, we
haven't had a regtest comparison in a month.
http://code.google.com/p/lilypond/issues/detail?id=1821
is not going away any time soon. It involves complicated stuff in
the build system, which nobody wants to touch.
As a temporary workaround, I will now reduce the number of
regression tests. This commit merges segfault fixes.
Mike Solomon [Mon, 29 Aug 2011 14:29:16 +0000 (16:29 +0200)]
Better pure height approximations of stem tremolos.
Before this patch, stem-tremolo pure heights wer always centered at
the offset of their Y parent (often 0), which means that tremolos
were not being considered correctly in horizontal spacing. This
patch fixes that. The regression test stem-tremolo-note-column.ly
now correctly checks for this - before, it only worked because flags
were combined with stems and created a Y-extent that overshot the
flag ending. Making more accurate flag extents broke this regression
test, and this patch rectifies it.
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