Change flag creation to use the 'flag prop (function returning the stencil)
-) Added the 'flag grob property to the stem: It's a function taking the
stem grob and returning a stencil for the whole flag (including a possible
grace slash). It uses the 'flag-style property with the exact same values
as previously, so any existing score should still be working.
The default is ly:stem::calc-flag (implemented in C++), but
I also implemented the default styles (no-flag, normal-flag and
mensural-flag) in Scheme, where the function default-flag also uses
the 'flag-style grob property. Both (the flag creation in C++ and in
Scheme) show practically the same performance[*], so we might get rid of
one of them in the future. Flag creation using scheme can thus be enabled
by
\override Stem #'flag = #default-flag
flag creation in C++ can be explicitly enabled by
\override Stem #'flag = #ly:stem::calc-flag
-) Implemented the default flag styles as scheme-functions, so that one can
re-use them in one's own flag style functions. The default flags functions
are implemented in a modular way, so one can easily create styles that
adjust only some aspects of the default flags. An example style implemented
in the regression test is to use mirrored flags (i.e. flags always pointing
to the left). This can be implemented by creating the flag for the opposite
stem direction and rotating it by 180 degrees ;-)
-) Added regression tests to check that the default flag styles all keep
working.
-) In the regression tests, I also added some custom styles: weighted-flag,
where the flags are shown as one big black box and the "number" of flags
is indicated by the height of the box. The other example is the
mirrored-normal-flag style mentioned above (useful for tutorials about music
notation to show that flags should *NOT* be printed to the left!)
The real motivation for this feature, namely straight flags (either
old-style with a large slant or modern-style with a much smaller slant),
is not yet implemented, but should not be too hard, using the
ly:round-filled-polygon function.
[*] We now have two ways to generate flags: One C++ implementation
(ly:stem::calc-flag) and one pure-Scheme implementation (default-flag).
Both require the same amount of memory and there is hardly any difference
in their runtime. For example, a file consisting of 10,000 eighth notes
(nothing else) needs ~1.5GB RAM and runs for a bit over 3 minutes here,
with the C++ implementation beating the Scheme implementation by mere
5 seconds:
In C++:
real 3m9.133s
user 3m4.896s
John Mandereau [Wed, 27 Aug 2008 11:46:21 +0000 (13:46 +0200)]
Clean up web-clean make target
Revert ed2eeac82036c583fb1298aa21f80dff9e44ab91
"Work around 'make web-clean' madness": the problem described comes
from $(outdir)/$(INFO_IMAGES_DIR).info-images-dir.dep, which is a
dependency for the makefile itself through the following line in
stepmake/stepmake/generic-targets.make:
John Mandereau [Wed, 27 Aug 2008 11:45:30 +0000 (13:45 +0200)]
Rename autobeaming regression test
The old name didn't follow the regression test file naming convention;
the new name makes more obvious that it has to do with *automatic*
beams, and it places the test among other autobeaming-related tests in
the regression tests output.
John Mandereau [Tue, 26 Aug 2008 20:11:57 +0000 (22:11 +0200)]
Add support for QUIET_BUILD make variable
Also
- document it in install.itely
- fix formatting nitpicks in install.itely
Note: redirecting all of mf2pt1.pl stdout to /dev/null is exaggerated,
but it's the only easy way to junk mpost/mf excessive output when it's
called by mf2pt1.
John Mandereau [Mon, 25 Aug 2008 09:28:19 +0000 (11:28 +0200)]
Merge branch 'lilypond/translation' of ssh://jomand@git.sv.gnu.org/srv/git/lilypond into lilypond/translation
* 'lilypond/translation' of ssh://jomand@git.sv.gnu.org/srv/git/lilypond:
Docs: Fix typos observed by till
Docs: Update committish
Docs: Update German translation of LM "1. Introduction"
John Mandereau [Mon, 25 Aug 2008 08:56:19 +0000 (10:56 +0200)]
Merge branch 'master' into lilypond/translation
* master:
StringNumber: change 'avoid-slur setting to 'around.
Docs: Some more link fixing
Docs: Some more link-fixing
Docs: More link fixing (unnumbered, renamed sections, etc.)
Docs: German Translation of some AU sections, adjust English AU
-) English AU: LilyPond does NOT create .tex files any more. Rather, it
produces .ps and .pdf files. Adjust the AU to reflect that change from
years ago!
-) Translated several sections of the AU to German.
John Mandereau [Sun, 24 Aug 2008 11:38:35 +0000 (13:38 +0200)]
Merge branch 'master' of ssh://jomand@git.sv.gnu.org/srv/git/lilypond into lilypond/translation
* 'master' of ssh://jomand@git.sv.gnu.org/srv/git/lilypond:
Fix "make uninstall"
Markup command name changes.
Docs: Some more link fixing
Add tweaking the ellipse around harp pedals
Add ly:round-filled-polygon scheme function to create a filled rounded polygon
Doc: Insert appendix #f directly into the doc node, not needed in dump any more
Doc: use @subheading for FDL addendum instead of @unnumberedsubsec
texi2html: Use an appendix for indices in IR
Doc/texi2html: For big-page link to ../bibliography instead of ../../bibliography
Docs: There is no Melisma_translator, so remove IR references to it
IR: Fix index node hierarchy
Cadenza changes to rhythms.itely
John Mandereau [Sat, 23 Aug 2008 16:37:11 +0000 (18:37 +0200)]
Merge branch 'master' of ssh://jomand@git.sv.gnu.org/srv/git/lilypond into lilypond/translation
* 'master' of ssh://jomand@git.sv.gnu.org/srv/git/lilypond:
Fix configure and compilation issues with CPPFLAGS
Change harp pedal outlines to ellipses
GDP NR 5.3 Modifying properties
John Mandereau [Fri, 22 Aug 2008 12:51:12 +0000 (14:51 +0200)]
Merge branch 'master' into lilypond/translation
* master:
Partially update French docs
Docs: Use @rlsrnamed for link to snippets Top
Update for Staff
MusicXML: Implement harp-pedals, now that it's available in lilypond
GDP NR Appendices: Add descriptions of indices
New markup commands: \left-column and \right-column.
Harp pedals: Cleanup
Spanish docs: Fix link to IR / BassFigure (no longer NewBassFigure)
Markup command indexing: don't use internal function names.
Bump version.
Compile fix...
New regression tests should have 2.11.57...
Docs: Add fret and harp pedal diagrams to markup category instrument-specific-markup
Add instrument-specific-markup-interface, assign to TextScript and add (fret-board|harp-pedal)-details to it
Feature: Add Harp pedal diagrams, i.e. a \harp-pedal markup function
Add a make-line-stencil function, which correctly sets stencil extents
Fix dangling links (citeseer, personal homepages, email Adresses) in the docs
-) Remove FIXME, which has been implemented
-) Move commented-out code away from the top
-) Add short documentation for each function
-) Call a (revert stencils) a little earlier