From 8e300d9598c6f54cb18d8bc8cd0458fa1028d8b9 Mon Sep 17 00:00:00 2001 From: Han-Wen Nienhuys Date: Tue, 14 Aug 2001 13:48:31 +0200 Subject: [PATCH] release: 1.5.6 ========= * Allow for duplicated articulation scripts with different direction. * Added new ornaments: \upmordent, \downmordent, \pralldown, \prallup, \lineprall, \thumb, \comma (to be used with scriptHorizontal = ##t), see also input/test/trill.ly. [WARNING: FONT UPDATE!] * Bug fix: staccato dot placement. 1.5.5. --- CHANGES | 32 +++++++ Documentation/regression-test.tely | 25 ++++++ Documentation/topdocs/INSTALL.texi | 40 +++------ Documentation/user/refman.itely | 6 +- VERSION | 4 +- input/bugs/1st-note-spacing.ly | 0 input/bugs/abe.ly | 0 input/bugs/ac-clash.ly | 0 input/bugs/accents.ly | 0 input/bugs/accid.ly | 0 input/bugs/accidental-collision.ly | 0 input/bugs/ancient-font.ly | 0 input/bugs/auto-beam-tuplets.ly | 0 input/bugs/auto-beam.ly | 0 input/bugs/barline.ly | 0 input/bugs/beam.ly | 0 input/bugs/beamed-chord.ly | 0 input/bugs/beaming.ly | 0 input/bugs/braces.ly | 0 input/bugs/broken-tuplet.ly | 0 input/bugs/context-weirdness.ly | 0 input/bugs/denneboom.ly | 0 input/bugs/die-staff.ly | 0 input/bugs/different-time.ly | 0 input/bugs/dots.ly | 0 input/bugs/drarn.ly | 0 input/bugs/dynamic-switch.ly | 0 input/bugs/grace-dynamic.ly | 0 input/bugs/grace-finger.ly | 0 input/bugs/grace-gets-slur.ly | 0 input/bugs/grace-staff-length.ly | 0 input/bugs/grace-stems.ly | 0 input/bugs/hinterfleisch-gone.ly | 0 input/bugs/l.ly | 0 input/bugs/lyrics-bar.ly | 0 input/bugs/lyrics-spacing.ly | 0 input/bugs/markup-definition.ly | 0 input/bugs/markup.ly | 0 input/bugs/mmrest-collide.ly | 0 input/bugs/multiply.ly | 0 input/bugs/partial-beam.ly | 0 input/bugs/pc-direction.ly | 0 input/bugs/pc-mmrest.ly | 0 input/bugs/pc-rest-collide.ly | 0 input/bugs/prefatory-spacing.ly | 0 input/bugs/repeat.ly | 0 input/bugs/rest-melisma.ly | 0 input/bugs/slur-attachment.ly | 0 input/bugs/slur-dots.ly | 0 input/bugs/slur-dx.ly | 0 input/bugs/slur-steep-broken.ly | 0 input/bugs/spacing-very-tight.ly | 0 input/bugs/staff-size.ly | 0 input/bugs/standchen-space.ly | 0 input/bugs/steep-beam.ly | 0 input/bugs/steep.ly | 0 input/bugs/text-kerning.ly | 0 input/bugs/text-spanner.ly | 0 input/bugs/textcresc.ly | 0 input/bugs/tie-break-accidental.ly | 0 input/bugs/ties.ly | 0 input/bugs/time.ly | 0 input/bugs/triplets.ly | 0 input/bugs/voice-switch-slur.ly | 0 input/regression/grace-bar-line.ly | 5 +- .../{grace-nest.ly => grace-nest1.ly} | 0 input/regression/grace-nest2.ly | 4 +- input/regression/grace-nest4.ly | 14 +++ input/regression/grace-nest5.ly | 7 ++ input/regression/grace-sync.ly | 6 +- input/regression/number-staff-lines.ly | 2 - input/regression/spacing-clefs.ly | 0 input/test/ancient-font.ly | 62 +++++++++---- input/test/trills.ly | 63 +++++++++++++- lily/auto-beam-engraver.cc | 6 +- lily/chord-tremolo-iterator.cc | 2 +- lily/duration.cc | 2 +- lily/global-translator.cc | 1 - lily/grob.cc | 52 ++++++----- lily/include/moment.hh | 2 +- lily/include/sequential-music-iterator.hh | 8 +- lily/midi-def.cc | 2 +- lily/midi-item.cc | 3 +- lily/midi-walker.cc | 2 +- lily/moment.cc | 10 +-- lily/music-sequence.cc | 10 ++- lily/musical-request.cc | 3 +- lily/new-spacing-spanner.cc | 2 +- lily/parser.yy | 2 +- lily/percent-repeat-engraver.cc | 2 +- lily/performance.cc | 2 +- lily/score-performer.cc | 2 +- lily/sequential-music-iterator.cc | 87 ++++++++++--------- lily/spacing-spanner.cc | 2 +- lily/tempo-performer.cc | 2 +- lily/timing-translator.cc | 6 +- ly/grace-init.ly | 8 +- make/out/lilypond.lsm | 8 +- make/out/lilypond.redhat.spec | 4 +- make/out/lilypond.suse.spec | 4 +- mf/feta-bolletjes.mf | 67 +++++++++++--- mf/feta-schrift.mf | 43 ++++++++- mf/feta-slag.mf | 62 ++++++++++++- mf/feta-toevallig.mf | 10 +-- scm/grob-property-description.scm | 7 +- scm/output-lib.scm | 1 + scm/script.scm | 6 ++ 107 files changed, 513 insertions(+), 187 deletions(-) delete mode 100644 input/bugs/1st-note-spacing.ly delete mode 100644 input/bugs/abe.ly delete mode 100644 input/bugs/ac-clash.ly delete mode 100644 input/bugs/accents.ly delete mode 100644 input/bugs/accid.ly delete mode 100644 input/bugs/accidental-collision.ly delete mode 100644 input/bugs/ancient-font.ly delete mode 100644 input/bugs/auto-beam-tuplets.ly delete mode 100644 input/bugs/auto-beam.ly delete mode 100644 input/bugs/barline.ly delete mode 100644 input/bugs/beam.ly delete mode 100644 input/bugs/beamed-chord.ly delete mode 100644 input/bugs/beaming.ly delete mode 100644 input/bugs/braces.ly delete mode 100644 input/bugs/broken-tuplet.ly delete mode 100644 input/bugs/context-weirdness.ly delete mode 100644 input/bugs/denneboom.ly delete mode 100644 input/bugs/die-staff.ly delete mode 100644 input/bugs/different-time.ly delete mode 100644 input/bugs/dots.ly delete mode 100644 input/bugs/drarn.ly delete mode 100644 input/bugs/dynamic-switch.ly delete mode 100644 input/bugs/grace-dynamic.ly delete mode 100644 input/bugs/grace-finger.ly delete mode 100644 input/bugs/grace-gets-slur.ly delete mode 100644 input/bugs/grace-staff-length.ly delete mode 100644 input/bugs/grace-stems.ly delete mode 100644 input/bugs/hinterfleisch-gone.ly delete mode 100644 input/bugs/l.ly delete mode 100644 input/bugs/lyrics-bar.ly delete mode 100644 input/bugs/lyrics-spacing.ly delete mode 100644 input/bugs/markup-definition.ly delete mode 100644 input/bugs/markup.ly delete mode 100644 input/bugs/mmrest-collide.ly delete mode 100644 input/bugs/multiply.ly delete mode 100644 input/bugs/partial-beam.ly delete mode 100644 input/bugs/pc-direction.ly delete mode 100644 input/bugs/pc-mmrest.ly delete mode 100644 input/bugs/pc-rest-collide.ly delete mode 100644 input/bugs/prefatory-spacing.ly delete mode 100644 input/bugs/repeat.ly delete mode 100644 input/bugs/rest-melisma.ly delete mode 100644 input/bugs/slur-attachment.ly delete mode 100644 input/bugs/slur-dots.ly delete mode 100644 input/bugs/slur-dx.ly delete mode 100644 input/bugs/slur-steep-broken.ly delete mode 100644 input/bugs/spacing-very-tight.ly delete mode 100644 input/bugs/staff-size.ly delete mode 100644 input/bugs/standchen-space.ly delete mode 100644 input/bugs/steep-beam.ly delete mode 100644 input/bugs/steep.ly delete mode 100644 input/bugs/text-kerning.ly delete mode 100644 input/bugs/text-spanner.ly delete mode 100644 input/bugs/textcresc.ly delete mode 100644 input/bugs/tie-break-accidental.ly delete mode 100644 input/bugs/ties.ly delete mode 100644 input/bugs/time.ly delete mode 100644 input/bugs/triplets.ly delete mode 100644 input/bugs/voice-switch-slur.ly rename input/regression/{grace-nest.ly => grace-nest1.ly} (100%) create mode 100644 input/regression/grace-nest4.ly create mode 100644 input/regression/grace-nest5.ly delete mode 100644 input/regression/spacing-clefs.ly diff --git a/CHANGES b/CHANGES index 4606292e68..70dd2d3d06 100644 --- a/CHANGES +++ b/CHANGES @@ -1,3 +1,28 @@ +1.4.6.mb1 +========= + +* Allow for duplicated articulation scripts with different direction. + +* Added new ornaments: \upmordent, \downmordent, \pralldown, \prallup, + \lineprall, \thumb, \comma (to be used with scriptHorizontal = ##t), + see also input/test/trill.ly. [WARNING: FONT UPDATE!] + +* Bug fix: staccato dot placement. + +1.5.5.jr1 +========= + +* recent ancient-font.ly development branches manually merged and + updated; + +* added enhanced mensural minima/fusa noteheads (30 degrees rhomb + style); the former 45 degrees quadratic shapes are now available + under notehead style "neo_mensural"; [WARNING: FONT UPDATE] + +* minor ancient font corrections (in particular, enhanced set_char_box() + arguments). + + 1.5.5.jcn2 ========== @@ -8,6 +33,13 @@ - Move examples that crash lilypond to input/no-notation. - Update examples. +1.5.5.hwn1 +========== + +* Grace property fixes. + +* More grace nesting bugfixes. + 1.5.5 ===== diff --git a/Documentation/regression-test.tely b/Documentation/regression-test.tely index 608a7be1cb..b91c7158a0 100644 --- a/Documentation/regression-test.tely +++ b/Documentation/regression-test.tely @@ -79,8 +79,24 @@ documenting bugfixes. @section Grace notes +Grace note do weird things with timing. Fragile. + + @lilypondfile[printfilename]{grace.ly} +@lilypondfile[printfilename]{grace-bar-line.ly} + +@lilypondfile[printfilename]{grace-nest2.ly} + +@lilypondfile[printfilename]{grace-nest3.ly} + +@lilypondfile[printfilename]{grace-nest4.ly} + +@lilypondfile[printfilename]{grace-nest.ly} + +@lilypondfile[printfilename]{grace-start.ly} + +@lilypondfile[printfilename]{grace-sync.ly} @section Beams @@ -179,6 +195,7 @@ documenting bugfixes. @lilypondfile[printfilename]{rest-collision.ly} @lilypondfile[printfilename]{collisions.ly} + @lilypondfile[printfilename]{collision-dots.ly} @lilypondfile[printfilename]{number-staff-lines.ly} @@ -195,6 +212,14 @@ documenting bugfixes. @lilypondfile[printfilename]{spacing-loose.ly} +@lilypondfile[printfilename]{spacing-accidentals.ly} + +@lilypondfile[printfilename]{spacing-accidentals-staff.ly} + +@lilypondfile[printfilename]{spacing-accidentals.ly} + +@lilypondfile[printfilename]{spacing-accidentals-staff.ly} + @lilypondfile[printfilename]{lyrics-bar.ly} @lilypondfile[printfilename]{non-empty-text.ly} diff --git a/Documentation/topdocs/INSTALL.texi b/Documentation/topdocs/INSTALL.texi index 214d9705b7..75aece1741 100644 --- a/Documentation/topdocs/INSTALL.texi +++ b/Documentation/topdocs/INSTALL.texi @@ -28,7 +28,8 @@ servers}. Big enhancements go into the latest odd numbered version (1.3), whose webpages are on @uref{http://www.lilypond.org/,the lilypond site}. -@subsection Source code +@subsection source code + If you want to compile LilyPond from source, download here: @itemize @bullet @@ -43,42 +44,25 @@ If you want to compile LilyPond from source, download here: @uref{http://www.lilypond.org/ftp/} by HTTP. @end itemize -Of course, if your platform supports LilyPond, such as Debian GNU/Linux, -FreeBSD, OpenBSD or NetBSD, you're encouraged to use the native build -from source drill. - -For Red Hat Linux and SuSE Linux, @file{.spec} files are included in the -tarball; see instructions below. - @html @end html -@subsection Precompiled binaries - -If you want to track bleeding edge development, try: - -@itemize @bullet -@item @uref{ftp://ftp.debian.org/debian/pool/main/l/lilypond/, Debian -GNU/Linux} usually has the latest binaries for the most useful stable -and development versions, while -@item @uref{http://rpmfind.net/linux/mandrake/cooker/contrib/RPMS/, -Mandrake Cooker} also provides fairly recent versions. -@end itemize - -Binaries are made available for other popular platforms, but as we need -to compile them ourselves, they are not updated for every version -released. +@subsection Binaries +Binaries are available, but are not updated for every version released. @itemize @bullet @item @uref{ftp://ftp.cs.uu.nl/pub/GNU/LilyPond/binaries/RedHat/RPMS/, Red Hat i386} -@item @uref{ftp://ftp.lilypond.org/pub/LilyPond/binaries/SuSE, SuSE} -@item @uref{ftp://ftp.lilypond.org/pub/LilyPond/binaries/linuxppc/, -LinuxPPC} +@item @uref{ftp://ftp.lilypond.org/pub/LilyPond/binaries/linuxppc/, LinuxPPC} +@item @uref{ftp://ftp.debian.org/debian/pool/main/l/lilypond/, Debian GNU/Linux} @item -@uref{http://www.lilypond.org/gnu-windows/, Windows} +@c @uref{http://home.austin.rr.com/jbr/jeff/lilypond/, Windows Stable} +@c @item @uref{ftp://ftp.lilypond.org/pub/lilypond/gnu-windows, Windows +@c Testing} +@uref{http://www.lilypond.org/gnu-windows/, Windows Testing} + @end itemize @subsection Upgrading @@ -390,7 +374,7 @@ platform. @subsection Mandrake Some binaries are available at rpmfind.net. Refer to -@uref{http://rpmfind.net/linux/mandrake/cooker/contrib/RPMS/}. +@uref{ftp://ftp.rpmfind.net/linux/Mandrake-devel/cooker/contrib/RPMS/}. @subsection Debian GNU/Linux diff --git a/Documentation/user/refman.itely b/Documentation/user/refman.itely index 3deccc35ce..1c9d14271e 100644 --- a/Documentation/user/refman.itely +++ b/Documentation/user/refman.itely @@ -1224,7 +1224,8 @@ underneath. c''-\rtoe c''-\turn c''-\open c''-\flageolet c''-\reverseturn c''-\trill c''-\prall c''-\mordent c''-\prallprall c''-\prallmordent c''-\upprall c''-\downprall - c''-\thumb c''-\segno c''-\coda + c''-\upmordent c''-\downmordent c''-\pralldown c''-\prallup + c''-\lineprall c''-\thumb c''-\segno c''-\coda } \context Lyrics \lyrics { accent__ marcato__ staccatissimo__ fermata @@ -1233,7 +1234,8 @@ underneath. rtoe__ turn__ open__ flageolet reverseturn__ trill__ prall__ mordent prallprall__ prallmordent__ uprall__ downprall - thumb__ segno__ coda + upmordent__ downmordent__ pralldown__ prallup__ + lineprall__ thumb__ segno__ coda } > \paper { diff --git a/VERSION b/VERSION index ab749b20fe..05d768bbe8 100644 --- a/VERSION +++ b/VERSION @@ -1,8 +1,8 @@ PACKAGE_NAME=LilyPond MAJOR_VERSION=1 MINOR_VERSION=5 -PATCH_LEVEL=5 -MY_PATCH_LEVEL=jcn3 +PATCH_LEVEL=6 +MY_PATCH_LEVEL= # use the above to send patches: MY_PATCH_LEVEL is always empty for a # released version. diff --git a/input/bugs/1st-note-spacing.ly b/input/bugs/1st-note-spacing.ly deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/input/bugs/abe.ly b/input/bugs/abe.ly deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/input/bugs/ac-clash.ly b/input/bugs/ac-clash.ly deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/input/bugs/accents.ly b/input/bugs/accents.ly deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/input/bugs/accid.ly b/input/bugs/accid.ly deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/input/bugs/accidental-collision.ly b/input/bugs/accidental-collision.ly deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/input/bugs/ancient-font.ly b/input/bugs/ancient-font.ly deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/input/bugs/auto-beam-tuplets.ly b/input/bugs/auto-beam-tuplets.ly deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/input/bugs/auto-beam.ly b/input/bugs/auto-beam.ly deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/input/bugs/barline.ly b/input/bugs/barline.ly deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/input/bugs/beam.ly b/input/bugs/beam.ly deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/input/bugs/beamed-chord.ly b/input/bugs/beamed-chord.ly deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/input/bugs/beaming.ly b/input/bugs/beaming.ly deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/input/bugs/braces.ly b/input/bugs/braces.ly deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/input/bugs/broken-tuplet.ly b/input/bugs/broken-tuplet.ly deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/input/bugs/context-weirdness.ly b/input/bugs/context-weirdness.ly deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/input/bugs/denneboom.ly b/input/bugs/denneboom.ly deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/input/bugs/die-staff.ly b/input/bugs/die-staff.ly deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/input/bugs/different-time.ly b/input/bugs/different-time.ly deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/input/bugs/dots.ly b/input/bugs/dots.ly deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/input/bugs/drarn.ly b/input/bugs/drarn.ly deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/input/bugs/dynamic-switch.ly b/input/bugs/dynamic-switch.ly deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/input/bugs/grace-dynamic.ly b/input/bugs/grace-dynamic.ly deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/input/bugs/grace-finger.ly b/input/bugs/grace-finger.ly deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/input/bugs/grace-gets-slur.ly b/input/bugs/grace-gets-slur.ly deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/input/bugs/grace-staff-length.ly b/input/bugs/grace-staff-length.ly deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/input/bugs/grace-stems.ly b/input/bugs/grace-stems.ly deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/input/bugs/hinterfleisch-gone.ly b/input/bugs/hinterfleisch-gone.ly deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/input/bugs/l.ly b/input/bugs/l.ly deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/input/bugs/lyrics-bar.ly b/input/bugs/lyrics-bar.ly deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/input/bugs/lyrics-spacing.ly b/input/bugs/lyrics-spacing.ly deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/input/bugs/markup-definition.ly b/input/bugs/markup-definition.ly deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/input/bugs/markup.ly b/input/bugs/markup.ly deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/input/bugs/mmrest-collide.ly b/input/bugs/mmrest-collide.ly deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/input/bugs/multiply.ly b/input/bugs/multiply.ly deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/input/bugs/partial-beam.ly b/input/bugs/partial-beam.ly deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/input/bugs/pc-direction.ly b/input/bugs/pc-direction.ly deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/input/bugs/pc-mmrest.ly b/input/bugs/pc-mmrest.ly deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/input/bugs/pc-rest-collide.ly b/input/bugs/pc-rest-collide.ly deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/input/bugs/prefatory-spacing.ly b/input/bugs/prefatory-spacing.ly deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/input/bugs/repeat.ly b/input/bugs/repeat.ly deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/input/bugs/rest-melisma.ly b/input/bugs/rest-melisma.ly deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/input/bugs/slur-attachment.ly b/input/bugs/slur-attachment.ly deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/input/bugs/slur-dots.ly b/input/bugs/slur-dots.ly deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/input/bugs/slur-dx.ly b/input/bugs/slur-dx.ly deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/input/bugs/slur-steep-broken.ly b/input/bugs/slur-steep-broken.ly deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/input/bugs/spacing-very-tight.ly b/input/bugs/spacing-very-tight.ly deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/input/bugs/staff-size.ly b/input/bugs/staff-size.ly deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/input/bugs/standchen-space.ly b/input/bugs/standchen-space.ly deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/input/bugs/steep-beam.ly b/input/bugs/steep-beam.ly deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/input/bugs/steep.ly b/input/bugs/steep.ly deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/input/bugs/text-kerning.ly b/input/bugs/text-kerning.ly deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/input/bugs/text-spanner.ly b/input/bugs/text-spanner.ly deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/input/bugs/textcresc.ly b/input/bugs/textcresc.ly deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/input/bugs/tie-break-accidental.ly b/input/bugs/tie-break-accidental.ly deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/input/bugs/ties.ly b/input/bugs/ties.ly deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/input/bugs/time.ly b/input/bugs/time.ly deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/input/bugs/triplets.ly b/input/bugs/triplets.ly deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/input/bugs/voice-switch-slur.ly b/input/bugs/voice-switch-slur.ly deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/input/regression/grace-bar-line.ly b/input/regression/grace-bar-line.ly index 69b0ceed92..176da92aa9 100644 --- a/input/regression/grace-bar-line.ly +++ b/input/regression/grace-bar-line.ly @@ -1,6 +1,5 @@ \header { - -texidoc = "Bar line should come before the grace note."; +texidoc = "Bar line should come before the grace note." } @@ -8,6 +7,6 @@ texidoc = "Bar line should come before the grace note."; \score {\notes \relative c' \context Staff { - f1 \ngrace { [a'16 f] } g1 } + f1 \grace { [a'16 f] } g1 } \paper { linewidth = -1. } } diff --git a/input/regression/grace-nest.ly b/input/regression/grace-nest1.ly similarity index 100% rename from input/regression/grace-nest.ly rename to input/regression/grace-nest1.ly diff --git a/input/regression/grace-nest2.ly b/input/regression/grace-nest2.ly index 5ab4e1e56c..fbd4c8989e 100644 --- a/input/regression/grace-nest2.ly +++ b/input/regression/grace-nest2.ly @@ -4,6 +4,6 @@ texidoc = "grace code should not be confused by nested sequential musics, contai } \score { \notes \context Voice { - { \grace b'4 c''2 } - \grace b'4 c''2 \bar "|." + { \grace b'8 c''2 } + \grace b'16 c''4 c''4 \bar "|." }} diff --git a/input/regression/grace-nest4.ly b/input/regression/grace-nest4.ly new file mode 100644 index 0000000000..416983ba1c --- /dev/null +++ b/input/regression/grace-nest4.ly @@ -0,0 +1,14 @@ +\header { +texidoc = "Another combination of grace note nesting." +} + +\score { \notes \context Voice { + + < + { \grace g32 f4 } + > + \grace c16 c2. \bar "|." +} +} + + diff --git a/input/regression/grace-nest5.ly b/input/regression/grace-nest5.ly new file mode 100644 index 0000000000..36e0290d14 --- /dev/null +++ b/input/regression/grace-nest5.ly @@ -0,0 +1,7 @@ + +\score +{ \notes { + s2 + \grace g e4 +} +} diff --git a/input/regression/grace-sync.ly b/input/regression/grace-sync.ly index 4ce8fa85b8..69efcd5df6 100644 --- a/input/regression/grace-sync.ly +++ b/input/regression/grace-sync.ly @@ -4,12 +4,12 @@ \score {\notes < \context Staff { c2 \grace c8 - c2 c4 } + c4 c4 } \context Staff = SB { c2 \clef bass \grace { [dis8 ( d8] } - ) c2 c4 } - \context Staff = SC { c2 c2 c4 } + ) c4 c4 } + \context Staff = SC { c2 c4 c4 \bar "|." } > \paper { linewidth = -1. } } diff --git a/input/regression/number-staff-lines.ly b/input/regression/number-staff-lines.ly index 8c05e30225..e522311a04 100644 --- a/input/regression/number-staff-lines.ly +++ b/input/regression/number-staff-lines.ly @@ -1,11 +1,9 @@ \version "1.3.146" \header{ - texidoc=" The number of stafflines of a staff can be set. Ledger lines both on note heads and rests are adjusted. Barlines also are adjusted. " - } \score { diff --git a/input/regression/spacing-clefs.ly b/input/regression/spacing-clefs.ly deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/input/test/ancient-font.ly b/input/test/ancient-font.ly index 703d5b2f04..2e9cd0c3f9 100644 --- a/input/test/ancient-font.ly +++ b/input/test/ancient-font.ly @@ -26,43 +26,74 @@ upperVoice = \context Staff = upperVoice < \property Staff.KeySignature \override #'style = #'vaticana \property Staff.Accidentals \override #'style = #'vaticana \property Staff.Custos \override #'style = #'vaticana - \property Voice.NoteHead \override #'style = #'mensural + \property Voice.NoteHead \override #'style = #'vaticana_punctum \key es \major \clef "vaticana_fa2" - cis!2 des! e! fis! ges! + c!1 des! e! f! ges! % \property Staff.clefGlyph = #"clefs-vaticana_do" % \property Staff.clefPosition = #1 % \property Staff.clefOctavation = #0 \clef "vaticana_do2" - a b c' - b as gis fes + \property Voice.NoteHead \override #'style = #'vaticana_subbipunctum + a! b! ces' + \property Voice.NoteHead \override #'style = #'vaticana_virga + b! a! ges fes \clef "vaticana_fa1" - es dis ces1 \bar "|" + \property Voice.NoteHead \override #'style = #'vaticana_quilisma + es d + \property Voice.NoteHead \override #'style = #'vaticana_rvirga + c d + \breathe + \property Voice.NoteHead \override #'style = #'vaticana_rvirga + es f + \property Staff.BarLine \override #'bar-size = #3.0 \bar "|" + \property Voice.NoteHead \override #'style = #'vaticana_lpes + g as + \property Staff.BarLine \override #'bar-size = #2.0 \bar "|" + \property Voice.NoteHead \override #'style = #'vaticana_upes + bes as + \breathe + \property Voice.NoteHead \override #'style = #'vaticana_vupes + g f + \property Voice.NoteHead \override #'style = #'vaticana_plica + \property Staff.BarLine \override #'bar-size = #2.0 \bar "|" + es d + \property Voice.NoteHead \override #'style = #'vaticana_epiphonus + \property Staff.BarLine \override #'bar-size = #3.0 \bar "|" + c d + \property Voice.NoteHead \override #'style = #'vaticana_cephalicus + es f \property Staff.KeySignature \override #'style = #'medicaea \property Staff.Accidentals \override #'style = #'medicaea \property Staff.Custos \override #'style = #'medicaea - \property Voice.NoteHead \override #'style = #'mensural + \property Voice.NoteHead \override #'style = #'medicaea_punctum \clef "medicaea_fa2" - ces2 des es fes ges + ces! des! e! f! ges! \clef "medicaea_do2" - as bes ces' - bes as ges fes + \property Voice.NoteHead \override #'style = #'medicaea_subbipunctum + a! b! ces'! + \property Voice.NoteHead \override #'style = #'medicaea_virga + b! a! ges! fes! \clef "medicaea_fa1" - es des ces1 \bar "|" + \property Voice.NoteHead \override #'style = #'medicaea_rvirga + e! des! ces! \bar "|" \property Staff.KeySignature \override #'style = #'hufnagel \property Staff.Accidentals \override #'style = #'hufnagel \property Staff.Custos \override #'style = #'hufnagel - \property Voice.NoteHead \override #'style = #'mensural + \property Voice.NoteHead \override #'style = #'hufnagel_punctum \clef "hufnagel_fa2" - ces!2 des! es! fes! ges! + ces! des! es! fes! ges! \clef "hufnagel_do2" + \property Voice.NoteHead \override #'style = #'hufnagel_lpes as! bes! ces'! + \property Voice.NoteHead \override #'style = #'hufnagel_virga bes! as! ges! fes! \clef "hufnagel_do_fa" + \property Voice.NoteHead \override #'style = #'hufnagel_punctum es! des! ces!1 \bar "||" } > @@ -79,7 +110,7 @@ lowerVoice = \context Staff = lowerNotes < \property Staff.KeySignature \override #'style = #'mensural \property Staff.Accidentals \override #'style = #'mensural \property Staff.Custos \override #'style = #'mensural - \property Voice.NoteHead \override #'style = #'mensural + \property Voice.NoteHead \override #'style = #'neo_mensural \key a \major \clef "neo_mensural_c2" c2 dis es fis ges @@ -99,6 +130,7 @@ lowerVoice = \context Staff = lowerNotes < \clef "mensural_g" e d c1 \bar "|" + \property Voice.NoteHead \override #'style = #'mensural \clef "petrucci_f" c2 d e f g \property Staff.forceClef = ##t @@ -139,15 +171,15 @@ lowerVoice = \context Staff = lowerNotes < % \paperTwentysix linewidth = 17.25\cm textheight = 26.0\cm - stafflinethickness = \staffspace / 5.0 +% stafflinethickness = \staffspace / 5.0 indent = 0.0 \translator { \StaffContext \consists Custos_engraver % Custos \override #'style = #'mensural \remove Time_signature_engraver + StaffSymbol \override #'thickness = #2.0 % StaffSymbol \override #'line-count = #4 } } } - diff --git a/input/test/trills.ly b/input/test/trills.ly index ab7cc17555..aab0438e97 100644 --- a/input/test/trills.ly +++ b/input/test/trills.ly @@ -1,22 +1,62 @@ \header { texidoc="Document trills, pralls and turns" - title="Marques des agr\'ements et leur signification" + title="Marques des agr\\'ements et leur signification" + composer="D'Anglebert" copyright="(1689)" } +invisible = \property Voice.NoteHead \override #'transparent = ##t +visible = \property Voice.NoteHead \revert #'transparent + +% Ugly hack to get reasonable position of the pincé and Cheute +startHorizScript = { + \property Voice.scriptHorizontal = ##t + \property Voice.Script \override #'padding = #0.3 + \property Voice.Script \override #'extra-offset = #'(-.6 . 0) + % Avoid collision with the dots of dotted notes + \property Voice.Dots \override #'extra-extent-X = #'(-0.7 . 0) +} +endHorizScript = { + \property Voice.scriptHorizontal \unset + \property Voice.Dots \revert #'padding + \property Voice.Script \revert #'padding + \property Voice.Script \revert #'extra-offset +} + + \score { < \property Score.TimeSignature = \turnOff \context GrandStaff < \context Staff=upper \notes\relative c'' { \time 1/4 - c4-\prallprall + c4-\prall \time 3/8 - c4.^"TODO" + c4.^\lineprall c4.-\downprall c4.-\upprall \time 5/8 c4-\turn c4.-\upprall + d4-\turn b4.-\downprall + \time 3/4 + b4 c^\turn d + \time 1/4 + <\context Voice=upper{\voiceOne d4} + \context Voice=lower{\voiceTwo + \property Voice.Script \override #'extra-offset = #'(-0.8 . 2.0) + b_\turn}> + \startHorizScript c^\comma + \time 3/8 + c4.^\comma + b8 c4_\comma + c8 b4_\comma + b8 c4^\comma _\comma \endHorizScript + \time 2/2 \slurDown + <{c2}{s4 \invisible d1*1/4 ( \visible }> ) e2 + <{a,2}{s4 \invisible b1*1/4 ( \visible }> ) d2 + <{a2}{s4 \invisible b1*1/4 ( \visible }> ) d2 + \time 3/4 + d2^\prallup e4 } \context Lyrics=one \lyrics { "Tremblement"4 @@ -24,10 +64,27 @@ "Cadence" "autre" "Double"4 "cadence"4. + "autre"4 _4. + _4 "sans tremblement"2 + "sur une tierce"4 + "Pinc\\'e"4 + "autre"4. + "Cheute ou Port de" + "en descendant" + "Cheute et pinc\\'e" + "Coul\\'e Sur 2 notes"1 + "autre" + "autre" + "Double cadence"2. } \context Lyrics=two \lyrics { "simple"4 "appuy\'e"4. + \skip 1*3 + \skip 4 \skip 4. + "voix et montant" + \skip 2. + "de suite"1 } \context Staff=lower \notes\relative c'' { % autobeamer has som problems here diff --git a/lily/auto-beam-engraver.cc b/lily/auto-beam-engraver.cc index fdd0f1e633..0f8bf698bd 100644 --- a/lily/auto-beam-engraver.cc +++ b/lily/auto-beam-engraver.cc @@ -76,7 +76,7 @@ Auto_beam_engraver::Auto_beam_engraver () { count_i_ = 0; stem_l_arr_p_ = 0; - shortest_mom_ = Moment (1, 8); + shortest_mom_ = Moment (Rational (1, 8)); finished_beam_p_ = 0; finished_grouping_p_ = 0; grouping_p_ = 0; @@ -265,7 +265,7 @@ Auto_beam_engraver::junk_beam () delete grouping_p_; grouping_p_ = 0; - shortest_mom_ = Moment (1, 8); + shortest_mom_ = Moment (Rational (1, 8)); } void @@ -286,7 +286,7 @@ Auto_beam_engraver::end_beam () grouping_p_ = 0; } - shortest_mom_ = Moment (1, 8); + shortest_mom_ = Moment (Rational (1, 8)); } void diff --git a/lily/chord-tremolo-iterator.cc b/lily/chord-tremolo-iterator.cc index 1cfbc590d3..2556751e84 100644 --- a/lily/chord-tremolo-iterator.cc +++ b/lily/chord-tremolo-iterator.cc @@ -20,7 +20,7 @@ void Chord_tremolo_iterator::construct_children () { Repeated_music * rep = dynamic_cast (music_l ()); - factor_ = Moment (1, rep->repeat_count ()); + factor_ = Moment (Rational(1, rep->repeat_count ())); child_iter_p_ = get_iterator_p (rep->body ()); } diff --git a/lily/duration.cc b/lily/duration.cc index 38cb80f6ca..1a0273850d 100644 --- a/lily/duration.cc +++ b/lily/duration.cc @@ -71,7 +71,7 @@ String Duration::str () const { String s = to_str (durlog_i_) + to_str ('.', dots_i_); - if (factor_ != Moment (1,1)) + if (factor_ != Moment (Rational (1,1))) { s += "*" + factor_.str (); } diff --git a/lily/global-translator.cc b/lily/global-translator.cc index f7848d72a2..4e4208bd82 100644 --- a/lily/global-translator.cc +++ b/lily/global-translator.cc @@ -86,7 +86,6 @@ Global_translator::run_iterator_on_me (Music_iterator * iter) if (iter-> ok ()) prev_mom_ = now_mom_ = iter->pending_moment (); - bool first = true; while (iter->ok () || moments_left_i ()) { diff --git a/lily/grob.cc b/lily/grob.cc index abbe22874b..0f233e6136 100644 --- a/lily/grob.cc +++ b/lily/grob.cc @@ -56,32 +56,40 @@ Grob::Grob (SCM basicprops) smobify_self (); + /* + TODO: + + destill this into a function, so we can re-init the immutable + properties with a new BASICPROPS value after creation. Convenient + eg. when using \override with StaffSymbol. */ + char const*onames[] = {"X-offset-callbacks", "Y-offset-callbacks"}; char const*enames[] = {"X-extent-callback", "Y-extent-callback"}; - for (int a = X_AXIS; a <= Y_AXIS; a++){ - SCM l = get_grob_property (onames[a]); - - if (scm_ilength (l) >=0) - { - dim_cache_[a].offset_callbacks_ = l; - dim_cache_[a].offsets_left_ = scm_ilength (l); - } - else - { - programming_error ("[XY]-offset-callbacks must be a list"); - } - - SCM cb = get_grob_property (enames[a]); - - /* - Should change default to be empty? - */ - if (cb != SCM_BOOL_F && !gh_procedure_p (cb) && !gh_pair_p (cb)) - cb = molecule_extent_proc; + for (int a = X_AXIS; a <= Y_AXIS; a++) + { + SCM l = get_grob_property (onames[a]); + + if (scm_ilength (l) >=0) + { + dim_cache_[a].offset_callbacks_ = l; + dim_cache_[a].offsets_left_ = scm_ilength (l); + } + else + { + programming_error ("[XY]-offset-callbacks must be a list"); + } + + SCM cb = get_grob_property (enames[a]); + + /* + Should change default to be empty? + */ + if (cb != SCM_BOOL_F && !gh_procedure_p (cb) && !gh_pair_p (cb)) + cb = molecule_extent_proc; - dim_cache_[a].dimension_ = cb; - } + dim_cache_[a].dimension_ = cb; + } SCM meta = get_grob_property ("meta"); SCM ifs = scm_assoc (ly_symbol2scm ("interfaces"), meta); diff --git a/lily/include/moment.hh b/lily/include/moment.hh index 6881b933da..4993b7691f 100644 --- a/lily/include/moment.hh +++ b/lily/include/moment.hh @@ -23,8 +23,8 @@ class Moment public: Moment (); Moment (int m); - Moment (int m, int n); + Moment (Rational, Rational); Moment (Rational m); Moment operator - () const; diff --git a/lily/include/sequential-music-iterator.hh b/lily/include/sequential-music-iterator.hh index fcedb517f7..37cfbe34be 100644 --- a/lily/include/sequential-music-iterator.hh +++ b/lily/include/sequential-music-iterator.hh @@ -35,13 +35,13 @@ by initting here_mom_ with Music::start_music (); no fixups are needed. */ -struct Grace_skip +struct Grace_fixup { Moment start_; - Rational length_; + Moment length_; Rational grace_start_; - Grace_skip *next_; + Grace_fixup *next_; }; /** Sequential_music iteration: walk each element in turn, and @@ -51,7 +51,7 @@ struct Grace_skip class Sequential_music_iterator : public Music_iterator { public: - Grace_skip * grace_skips_; + Grace_fixup * grace_fixups_; VIRTUAL_COPY_CONS (Music_iterator); static SCM constructor_cxx_function; diff --git a/lily/midi-def.cc b/lily/midi-def.cc index 6f3a2cd642..40a2d065b3 100644 --- a/lily/midi-def.cc +++ b/lily/midi-def.cc @@ -16,7 +16,7 @@ Midi_def::Midi_def () { // ugh - set_tempo (Moment (1, 4), 60); + set_tempo (Moment (Rational (1, 4)), 60); } int diff --git a/lily/midi-item.cc b/lily/midi-item.cc index 11f6bd559f..baf6e9ec3c 100644 --- a/lily/midi-item.cc +++ b/lily/midi-item.cc @@ -228,7 +228,8 @@ Midi_note::length_mom () const { Moment m = audio_l_->length_mom_; #if 0 - if (m < Moment (1, 1000)) + //junkme? + if (m < Moment (Rational (1, 1000))) { warning (_ ("silly duration")); m = 1; diff --git a/lily/midi-walker.cc b/lily/midi-walker.cc index 17548174b4..6a568b43fc 100644 --- a/lily/midi-walker.cc +++ b/lily/midi-walker.cc @@ -45,7 +45,7 @@ Midi_walker::Midi_walker (Audio_staff* audio_staff_l, Midi_track* track_l) Midi_walker::~Midi_walker () { // ugh - do_stop_notes (last_mom_ + Moment (10, 1)); + do_stop_notes (last_mom_ + Moment (Rational (10, 1))); } /** diff --git a/lily/moment.cc b/lily/moment.cc index 2f98bfd2ea..e75b6880f6 100644 --- a/lily/moment.cc +++ b/lily/moment.cc @@ -51,11 +51,11 @@ Moment::print_smob (SCM s, SCM port, scm_print_state *) SCM make_rational (SCM n, SCM d) { - Moment m (1,1); + Moment m (Rational (1,1)); if (SCM_INUMP (n) && SCM_INUMP (d)) { - m = Moment (gh_scm2int (n), gh_scm2int (d)); + m = Moment (Rational (gh_scm2int (n), gh_scm2int (d))); } else { @@ -112,10 +112,10 @@ Moment::Moment (int m) grace_part_ = Rational( 0); } -Moment::Moment (int m, int n) +Moment::Moment (Rational m, Rational g) { - main_part_ = Rational (m,n); - grace_part_ = Rational (0); + main_part_ = m; + grace_part_ = g; } Moment::Moment (Rational m) diff --git a/lily/music-sequence.cc b/lily/music-sequence.cc index 17da5f4674..a8e9e76fa5 100644 --- a/lily/music-sequence.cc +++ b/lily/music-sequence.cc @@ -85,6 +85,8 @@ Music_sequence::cumulative_length () const last_len.grace_part_ = Rational (0); cumulative += last_len; + + cumulative += - first_start (); return cumulative; } @@ -101,8 +103,14 @@ Music_sequence::maximum_length () const { Moment dur = 0; for (SCM s = music_list (); gh_pair_p (s); s = gh_cdr (s)) - dur = dur >? unsmob_music (gh_car (s))->length_mom (); + { + Music * m = unsmob_music (gh_car (s)); + Moment l = m->length_mom () + m->start_mom (); + dur = dur >? l; + } + dur -= minimum_start (); + return dur; } int diff --git a/lily/musical-request.cc b/lily/musical-request.cc index 21c6c5d090..ae24d23a2e 100644 --- a/lily/musical-request.cc +++ b/lily/musical-request.cc @@ -103,7 +103,8 @@ Articulation_req::do_equal_b (Request const* r) const Articulation_req const* a = dynamic_cast (r); return a && gh_equal_p (get_mus_property ("articulation-type"), - r->get_mus_property ("articulation-type")); + r->get_mus_property ("articulation-type")) + && get_direction () == a->get_direction (); } diff --git a/lily/new-spacing-spanner.cc b/lily/new-spacing-spanner.cc index e67af0ea08..b67c373fcb 100644 --- a/lily/new-spacing-spanner.cc +++ b/lily/new-spacing-spanner.cc @@ -146,7 +146,7 @@ cout << "params for cols " << Paper_column::rank_i (l) << " " << Paper_column::r UGH: KLUDGE! */ - // if (delta_t > Moment (1,32)) + // if (delta_t > Moment (Rational (1,32))) hinterfleisch += stem_dir_correction (me, l, r); } diff --git a/lily/parser.yy b/lily/parser.yy index 5019a8d8a2..c732454e53 100644 --- a/lily/parser.yy +++ b/lily/parser.yy @@ -872,7 +872,7 @@ Composite_music: scm_gc_unprotect_object (mp->self_scm ()); $$->set_mus_property ("numerator", gh_int2scm (n)); $$->set_mus_property ("denominator", gh_int2scm (d)); - $$->compress (Moment (n,d)); + $$->compress (Moment (Rational (n,d))); } | Repeated_music { $$ = $1; } diff --git a/lily/percent-repeat-engraver.cc b/lily/percent-repeat-engraver.cc index 0082971d9b..193a350c6c 100644 --- a/lily/percent-repeat-engraver.cc +++ b/lily/percent-repeat-engraver.cc @@ -103,7 +103,7 @@ Percent_repeat_engraver::try_music (Music * m) meas_len = *unsmob_moment (m); if (body_length_ < meas_len && - meas_len.main_part_.mod_rat (body_length_.main_part_) == Moment (0,0)) + meas_len.main_part_.mod_rat (body_length_.main_part_) == Moment (Rational (0,0))) repeat_sign_type_ = BEAT; else if (meas_len == body_length_) repeat_sign_type_ = MEASURE; diff --git a/lily/performance.cc b/lily/performance.cc index 55122e302a..f77674fe55 100644 --- a/lily/performance.cc +++ b/lily/performance.cc @@ -123,7 +123,7 @@ Performance::output_header_track (Midi_stream& midi_stream) midi_track.add (Moment (0), &track_name); // Some sequencers read track 0 last. - // Audio_tempo tempo_a (midi_l_->get_tempo_i (Moment (1, 4))); + // Audio_tempo tempo_a (midi_l_->get_tempo_i (Moment (Rational (1, 4)))); // Midi_tempo tempo (&tempo_a); // midi_track.add (Moment (0), &tempo); diff --git a/lily/score-performer.cc b/lily/score-performer.cc index 63af656abe..b1267acdce 100644 --- a/lily/score-performer.cc +++ b/lily/score-performer.cc @@ -83,7 +83,7 @@ Score_performer::start () int Score_performer::get_tempo_i () const { - return performance_p_->midi_l_->get_tempo_i (Moment (1, 4)); + return performance_p_->midi_l_->get_tempo_i (Moment (Rational (1, 4))); } void diff --git a/lily/sequential-music-iterator.cc b/lily/sequential-music-iterator.cc index 13d08740d0..5d8ce337de 100644 --- a/lily/sequential-music-iterator.cc +++ b/lily/sequential-music-iterator.cc @@ -20,6 +20,20 @@ */ +/* + + TODO: the grace note handling hasn't been done for skip() and + get_music(), meaning that staff-switching and partcombining will be + broken with grace notes. + + */ +/* + + TODO: the grace note handling hasn't been done for skip() and + get_music(), meaning that staff-switching and partcombining will be + broken with grace notes. + + */ /* Invariant for the data structure. @@ -39,14 +53,14 @@ Sequential_music_iterator::Sequential_music_iterator () { cursor_ = SCM_EOL; here_mom_ = Moment (0); - grace_skips_ = 0; + grace_fixups_ = 0; iter_p_ =0; } Sequential_music_iterator::Sequential_music_iterator (Sequential_music_iterator const &src) : Music_iterator (src) { - grace_skips_ = src.grace_skips_; + grace_fixups_ = src.grace_fixups_; cursor_ = src.cursor_; here_mom_ = src.here_mom_; if (src.iter_p_) @@ -72,14 +86,14 @@ Sequential_music_iterator::~Sequential_music_iterator () */ -Grace_skip * -get_grace_skips (SCM cursor) +Grace_fixup * +get_grace_fixups (SCM cursor) { - Moment here (0); + Moment here; Moment last (-1); - Grace_skip *head = 0; - Grace_skip **tail = &head; - + Grace_fixup *head = 0; + Grace_fixup **tail = &head; + for (; gh_pair_p (cursor); cursor = gh_cdr (cursor)) { Music * mus = unsmob_music (gh_car (cursor)); @@ -90,9 +104,9 @@ get_grace_skips (SCM cursor) { if (last != Moment (-1)) { - Grace_skip *p =new Grace_skip; + Grace_fixup *p =new Grace_fixup; p->start_ = last; - p->length_ = (here - last).main_part_; + p->length_ = here - last; p->grace_start_ = s.grace_part_; p->next_ = 0; *tail = p; @@ -122,9 +136,8 @@ Sequential_music_iterator::construct_children () next_element (); } - grace_skips_ = get_grace_skips (cursor_); - here_mom_ = music_l ()->start_mom (); + grace_fixups_ = get_grace_fixups (cursor_); /* iter_p_->ok () is tautology, but what the heck. @@ -142,20 +155,17 @@ void Sequential_music_iterator::next_element () { Moment len =iter_p_->music_length_mom (); - Moment start = iter_p_->music_start_mom (); - assert (!grace_skips_ || grace_skips_->start_ >= here_mom_); + assert (!grace_fixups_ || grace_fixups_->start_ >= here_mom_); - if (len.main_part_ && grace_skips_ && - grace_skips_->start_.main_part_ == here_mom_.main_part_) + if (len.main_part_ && grace_fixups_ && + grace_fixups_->start_ == here_mom_) { - Moment sk; - sk.main_part_ = grace_skips_->length_; - here_mom_ += sk; - here_mom_.grace_part_ = grace_skips_->grace_start_; - - Grace_skip * n =grace_skips_->next_; - delete grace_skips_; - grace_skips_ = n; + here_mom_ += grace_fixups_->length_; + here_mom_.grace_part_ += grace_fixups_->grace_start_; + + Grace_fixup * n =grace_fixups_->next_; + delete grace_fixups_; + grace_fixups_ = n; } else if (len.grace_part_ && !len.main_part_) { @@ -167,10 +177,10 @@ Sequential_music_iterator::next_element () !len.grace_part_ || len.main_part_ We skip over a big chunk (mainpart != 0). Any starting graces - in that chunk are compensated by subtracting START. + in that chunk should be in len.grace_part_ */ - here_mom_ += len - start; + here_mom_ += len; } delete iter_p_; @@ -250,7 +260,7 @@ Sequential_music_iterator::get_music (Moment until)const Skip events till UNTIL. We don't do any other side effects such as descending to child iterator contexts, because they might depend on \context specs and \translator changes being executed - + TODO: build support for grace notes here. */ void Sequential_music_iterator::skip (Moment until) @@ -273,17 +283,17 @@ Sequential_music_iterator::process (Moment until) { while (iter_p_) { - if (grace_skips_ && - grace_skips_->start_ == here_mom_ - && (grace_skips_->start_ + grace_skips_->length_).main_part_ == - until.main_part_) + if (grace_fixups_ && + grace_fixups_->start_ == here_mom_ + && (grace_fixups_->start_ + grace_fixups_->length_ + + Moment (Rational (0), grace_fixups_->grace_start_) == until)) { /* do the stuff/note/rest preceding a grace. */ - Moment u = until; - u.grace_part_ = 0; - iter_p_->process (u - here_mom_); + iter_p_->process (iter_p_->music_length_mom ()+ + iter_p_->music_start_mom ()); + } else iter_p_->process (until - here_mom_ + iter_p_->music_start_mom ()); @@ -310,13 +320,10 @@ Sequential_music_iterator::pending_moment () const /* Fix-up a grace note halfway in the music. */ - if (grace_skips_ && here_mom_ == grace_skips_->start_ - && cp.main_part_ >= grace_skips_->length_) + if (grace_fixups_ && here_mom_ == grace_fixups_->start_ + && grace_fixups_->length_ + iter_p_->music_start_mom () == cp) { - cp += here_mom_ ; - cp.grace_part_ = grace_skips_->grace_start_; - return cp; - + return here_mom_ + grace_fixups_->length_ + Moment (0, grace_fixups_->grace_start_); } /* diff --git a/lily/spacing-spanner.cc b/lily/spacing-spanner.cc index e5a519f1ea..472fa6732b 100644 --- a/lily/spacing-spanner.cc +++ b/lily/spacing-spanner.cc @@ -478,7 +478,7 @@ Spacing_spanner::note_spacing (Grob*me, Grob *lc, Grob *rc, UGH: KLUDGE! */ - if (delta_t > Moment (1,32)) + if (delta_t > Moment (Rational (1,32))) dist += stem_dir_correction (me, lc,rc); diff --git a/lily/tempo-performer.cc b/lily/tempo-performer.cc index f24dd0f8aa..97be2fd709 100644 --- a/lily/tempo-performer.cc +++ b/lily/tempo-performer.cc @@ -51,7 +51,7 @@ Tempo_performer::create_audio_elements () SCM met = tempo_req_l_->get_mus_property ("metronome-count"); Duration *d = unsmob_duration (tempo_req_l_->get_mus_property ("duration")); - Rational r = (d->length_mom () / Moment (1, 4) * Moment (gh_scm2int (met))).main_part_; + Rational r = (d->length_mom () / Moment (Rational (1, 4)) * Moment (gh_scm2int (met))).main_part_; audio_p_ = new Audio_tempo (int (r)); diff --git a/lily/timing-translator.cc b/lily/timing-translator.cc index 5548a249d8..7c05a7d14b 100644 --- a/lily/timing-translator.cc +++ b/lily/timing-translator.cc @@ -90,9 +90,9 @@ Timing_translator::initialize () daddy_trans_l_->set_property ("timeSignatureFraction", gh_cons (gh_int2scm (4), gh_int2scm (4))); - daddy_trans_l_->set_property ("measurePosition", Moment (0).smobbed_copy ()); - daddy_trans_l_->set_property ("measureLength", Moment (1).smobbed_copy ()); - daddy_trans_l_->set_property ("beatLength", Moment (1,4).smobbed_copy ()); + daddy_trans_l_->set_property ("measurePosition", Moment (Rational (0)).smobbed_copy ()); + daddy_trans_l_->set_property ("measureLength", Moment (Rational (1)).smobbed_copy ()); + daddy_trans_l_->set_property ("beatLength", Moment (Rational (1,4)).smobbed_copy ()); } Rational diff --git a/ly/grace-init.ly b/ly/grace-init.ly index b9a895cdc4..691498d1bd 100644 --- a/ly/grace-init.ly +++ b/ly/grace-init.ly @@ -9,20 +9,20 @@ startGraceMusic = { \property Voice.Stem \override #'lengths = #(map (lambda (x) (* 0.8 x)) '(3.5 3.5 3.5 4.5 5.0)) \property Voice.Stem \override #'beamed-lengths = - #(map (lambda (x) (* 1.25 x)) '(0.0 2.5 2.0 1.5)) + #(map (lambda (x) (* 0.8 x)) '(0.0 2.5 2.0 1.5)) \property Voice.Stem \override #'beamed-minimum-lengths = - #(map (lambda (x) (* 1.25 x)) '(0.0 1.5 1.25 1.0)) + #(map (lambda (x) (* 0.8 x)) '(0.0 1.5 1.25 1.0)) \property Voice.Stem \override #'no-stem-extend = ##t \property Voice.Stem \override #'flag-style = #"grace" \property Voice.Beam \override #'space-function = #grace-beam-space-function - \property Voice.Beam \override #'thickness = #0.3 + \property Voice.Beam \override #'thickness = #0.384 % Can't use Staff.fontSize, since time sigs, keys sigs, etc. will % be smaller as well. \property Voice.fontSize = #-2 - \property Staff.LocalKeyItem \override #'font-relative-size = #-2 + \property Staff.Accidentals \override #'font-relative-size = #-2 } stopGraceMusic = { diff --git a/make/out/lilypond.lsm b/make/out/lilypond.lsm index 89685c8e2d..2fbafa4e25 100644 --- a/make/out/lilypond.lsm +++ b/make/out/lilypond.lsm @@ -1,15 +1,15 @@ Begin3 Title: LilyPond -Version: 1.5.5 -Entered-date: 12AUG01 +Version: 1.5.6 +Entered-date: 14AUG01 Description: @BLURB@ Keywords: music notation typesetting midi fonts engraving Author: hanwen@cs.uu.nl (Han-Wen Nienhuys) janneke@gnu.org (Jan Nieuwenhuizen) Maintained-by: hanwen@stack.nl (Han-Wen Nienhuys) Primary-site: sunsite.unc.edu /pub/Linux/apps/sound/convert - 1000k lilypond-1.5.5.tar.gz + 1000k lilypond-1.5.6.tar.gz Original-site: ftp.cs.uu.nl /pub/GNU/LilyPond/development/ - 1000k lilypond-1.5.5.tar.gz + 1000k lilypond-1.5.6.tar.gz Copying-policy: GPL End diff --git a/make/out/lilypond.redhat.spec b/make/out/lilypond.redhat.spec index fe73841ded..946c7b90a5 100644 --- a/make/out/lilypond.redhat.spec +++ b/make/out/lilypond.redhat.spec @@ -1,11 +1,11 @@ %define info yes Name: lilypond -Version: 1.5.5 +Version: 1.5.6 Release: 1 License: GPL Group: Applications/Publishing -Source0: ftp.cs.uu.nl:/pub/GNU/LilyPond/development/lilypond-1.5.5.tar.gz +Source0: ftp.cs.uu.nl:/pub/GNU/LilyPond/development/lilypond-1.5.6.tar.gz Summary: Create and print music notation URL: http://www.cs.uu.nl/~hanwen/lilypond BuildRoot: /tmp/lilypond-install diff --git a/make/out/lilypond.suse.spec b/make/out/lilypond.suse.spec index 244fff0007..4ff11cf3ed 100644 --- a/make/out/lilypond.suse.spec +++ b/make/out/lilypond.suse.spec @@ -14,11 +14,11 @@ Distribution: SuSE Linux 7.0 (i386) Name: lilypond -Version: 1.5.5 +Version: 1.5.6 Release: 2 Copyright: GPL Group: Applications/Publishing -Source0: ftp.cs.uu.nl:/pub/GNU/LilyPond/development/lilypond-1.5.5.tar.gz +Source0: ftp.cs.uu.nl:/pub/GNU/LilyPond/development/lilypond-1.5.6.tar.gz # music notation software for.. ? Summary: A program for printing sheet music. URL: http://www.lilypond.org/ diff --git a/mf/feta-bolletjes.mf b/mf/feta-bolletjes.mf index b7d67cba48..6947dda34d 100644 --- a/mf/feta-bolletjes.mf +++ b/mf/feta-bolletjes.mf @@ -110,7 +110,7 @@ fet_beginchar("Brevis notehead", "-1mensural", "mensuralbrevishead") draw_brevis(brevis_wid#); fet_endchar; -def draw_mensural_black_head (expr wid) = +def draw_neo_mensural_black_head (expr wid) = save head_width; head_width# = wid; set_char_box (0, head_width#, noteheight#/2, noteheight#/2); @@ -128,8 +128,8 @@ def draw_mensural_black_head (expr wid) = filldraw z1 -- z2 -- z3 -- z4 -- cycle; enddef; -def draw_mensural_open_head (expr wid)= - draw_mensural_black_head (wid); +def draw_neo_mensural_open_head (expr wid)= + draw_neo_mensural_black_head (wid); save diamNW, diamSW; diamNW = length (z2 - z1) + blot_diameter; diamSW = length (z4 - z1) + blot_diameter; @@ -148,16 +148,57 @@ def draw_mensural_open_head (expr wid)= unfill z5 -- z6 -- z7 -- z8 --cycle; enddef; +fet_beginchar("Neo-mensural open head","0neo_mensural","neomensuralminimhead") + draw_neo_mensural_open_head (staff_space#); +fet_endchar; + +fet_beginchar("Neo-mensural open head","1neo_mensural","neomensuralsemiminimhead") + draw_neo_mensural_open_head (staff_space#); +fet_endchar; + +fet_beginchar("Neo-mensural black head","2neo_mensural","neofusahead") + draw_neo_mensural_black_head (staff_space#); +fet_endchar; + + +def draw_mensural_head (expr wid, open) = + save head_width; + head_width# = wid; + set_char_box (0, head_width#, + noteheight#/2, noteheight#/2); + + define_pixels(head_width, noteheight); + + x2 = head_width/2; + y2 = 1.1 noteheight/2; + y1 = 0; + (x2 - x1) / (y2 - y1) = tand(30); + z3 = (2x2 - x1, y1); + z4 = z3 + z1 - z2; + + pickup pencircle + xscaled 0.18 head_width + yscaled 0.36 head_width + rotated -30; + + if open: + draw z1 -- z2 -- z3 -- z4 -- cycle; + else: + filldraw z1 -- z2 -- z3 -- z4 -- cycle; + fi; +enddef; + + fet_beginchar("Mensural open head","0mensural","mensuralminimhead") - draw_mensural_open_head (staff_space#); + draw_mensural_head (staff_space#, true); fet_endchar; fet_beginchar("Mensural open head","1mensural","mensuralsemiminimhead") - draw_mensural_open_head (staff_space#); + draw_mensural_head (staff_space#, true); fet_endchar; fet_beginchar("Mensural black head","2mensural","fusahead") - draw_mensural_black_head (staff_space#); + draw_mensural_head (staff_space#, false); fet_endchar; @@ -582,7 +623,7 @@ fet_beginchar("Ed. Vat. subbipunctum", "0vaticana_subbipunctum", 2beta# = ht# * b_h; a# = beta# * a_b; wd# = 2a# / a_w; - set_char_box(0, wd#, 0.5 ht#, 0.5 ht#); + set_char_box(0.3wd#, 0.3wd#, 0.5 ht#, 0.5 ht#); black_notehead_width# := wd#; save za, alpha, size; @@ -615,7 +656,7 @@ def punctum_char (expr verbose_name, internal_name, mudela_name, 2beta# = ht# * b_h; a# = beta# * a_b; wd# = 2a# / a_w; - set_char_box(0.0, 0.4wd#, 0.5ht#, 0.5ht#); + set_char_box(0.25wd#, 0.25wd#, 0.5ht#, 0.5ht#); black_notehead_width# := wd#; save convexity; @@ -733,7 +774,7 @@ fet_beginchar("Ed. Vat. quilisma", "0vaticana_quilisma", "vatquilismahead") 2beta#=ht#*b_h; a# = beta#*a_b; wd# = 2a# / a_w; - set_char_box(0, wd#, 0.5 ht#, 0.5 ht#); + set_char_box(0.1wd#, 0.4wd#, 0.5 ht#, 0.5 ht#); black_notehead_width# := wd#; define_pixels(ht, wd); @@ -770,7 +811,7 @@ fet_beginchar("Ed. Med. subbipunctum", "0medicaea_subbipunctum", 2beta# = ht# * b_h; a# = beta# * a_b; wd# = 2a# / a_w; - set_char_box(0, wd#, 0.5 ht#, 0.5 ht#); + set_char_box(wd#/2, wd#/2, 0.5 ht#, 0.5 ht#); black_notehead_width# := wd#; save za, alpha, size; @@ -899,11 +940,11 @@ fet_beginchar("Hufnagel pes lower punctum", "0hufnagel_lpes", "huflpeshead") 2beta# = ht# * b_h; a# = beta# * a_b; wd# = 2a# / a_w; - set_char_box(wd#/2, wd#/2, 0.7 ht#, 0.7 ht#); + set_char_box(wd#, wd#, 0.7 ht#, 0.7 ht#); black_notehead_width# := wd#; - save za, zb, zc, alpha, size; - pair za, zb, zc; + save za, alpha, size; + pair za; define_pixels(ht, wd); alpha = 35; size = 0.7ht; diff --git a/mf/feta-schrift.mf b/mf/feta-schrift.mf index 8ddcc5d1d6..bdb0ef8757 100644 --- a/mf/feta-schrift.mf +++ b/mf/feta-schrift.mf @@ -123,9 +123,17 @@ fet_beginchar("> accent", "sforzato", "sforzatoaccent") labels(4); fet_endchar; +% Hmm, changed 1.5 to 1.4 to avoid problems with "random" placement of +% the dots because of quantization effects for almost integer values. /MB + + +% +% Hmm. Should not meddle with darkness of font. Check out the +% correct value for radius. Maybe we'd better change padding --hwn +% fet_beginchar("staccato dot", "staccato", "staccato") save radius; - radius# = 1.5 stafflinethickness#; + radius# = 1.4 stafflinethickness#; define_pixels(radius); pickup pencircle scaled 2 radius; draw (0,0); @@ -678,6 +686,39 @@ fet_beginchar("Coda", "coda", "coda") fet_endchar; +def draw_comma = + save alpha, thick, thin, ht; + alpha:=35; + thin# = 1.2 stafflinethickness#; + thick# = 3 stafflinethickness#; + ht# = .6staff_space#; + define_pixels(thin, thick,ht); + set_char_box(0, .5staff_space#, ht#, ht#); + + penpos1(thick, alpha); + penpos2(thick, alpha+90); + penpos3(thin, 180-alpha); + penpos4(thin, 90-alpha); + x3r=0; + x1l=x3l; + y2r=-y4l=h; + z1=z2; + z3=z4; + penlabels(1,2,3,4); + fill z1l{dir (alpha+90)} .. z2r{dir alpha} .. z1r{dir (alpha-90)} .. + z3l{dir (270-alpha)} .. z4l{dir (alpha+180)} .. + z3r{dir (90-alpha)} .. cycle; +enddef; + +fet_beginchar("Right Comma","rcomma","rcomma"); + draw_comma; +fet_endchar; + +fet_beginchar("Left Comma","lcomma","lcomma"); + draw_comma; + xy_mirror_char; +fet_endchar; + thick#:=1/24designsize; define_blacker_pixels(thick); diff --git a/mf/feta-slag.mf b/mf/feta-slag.mf index 769348609e..df3ae8d0cb 100644 --- a/mf/feta-slag.mf +++ b/mf/feta-slag.mf @@ -93,7 +93,7 @@ fet_endchar; fet_beginchar("mordent", "mordent", "mordent") trills := 2; - set_char_box(trills*twidth#-0.5toverlap#, trills*twidth#-0.5toverlap#, theight#, theight#); + set_char_box(trills*twidth#-0.5toverlap#, trills*twidth#-0.5toverlap#, 4/3*theight#, 4/3*theight#); draw_trill_two; draw_mordent(0); fet_endchar; @@ -112,7 +112,7 @@ fet_endchar; fet_beginchar("prallmordent", "prallmordent", "prallmordent") trills := 3; - set_char_box(trills*twidth#-(trills-1)*0.5toverlap#, trills*twidth#-(trills-1)*0.5toverlap#, theight#, theight#); + set_char_box(trills*twidth#-(trills-1)*0.5toverlap#, trills*twidth#-(trills-1)*0.5toverlap#, 4/3*theight#, 4/3*theight#); draw_trill_three; draw_mordent(twidth-0.5toverlap); fet_endchar; @@ -146,3 +146,61 @@ fet_beginchar("downprall", "downprall", "downprall") draw_trill_three; fet_endchar; +fet_beginchar("upmordent", "upmordent", "upmordent") +% trills := 4; + trills := 3; + set_char_box(trills*twidth#-(trills-1)*0.5toverlap#, trills*twidth#-(trills-1)*0.5toverlap#, 4/3*theight#, 4/3*theight#); +% draw_slur(-2twidth#,-2theight#,0,-1); +% currentpicture := currentpicture shifted (-0.5w+tthin,-tfat*theight+0.75tthin); + draw_slur(0,-2theight#,0,-1); +% currentpicture := currentpicture shifted (-0.5w+1.3tthin,-tfat*theight+1.5tthin); + currentpicture := currentpicture shifted (-0.5w+1.65tthin,-tfat*theight+1.15tthin); +% draw_trill_four; + draw_trill_three; + draw_mordent(twidth-0.5toverlap); +fet_endchar; + +fet_beginchar("downmordent", "downmordent", "downmordent") + trills := 3; + set_char_box(trills*twidth#-(trills-1)*0.5toverlap#, trills*twidth#-(trills-1)*0.5toverlap#, 4/3*theight#, 4/3*theight#); +% draw_slur(-2twidth#,2theight#,0,1); + draw_slur(0,2theight#,0,1); +% currentpicture := currentpicture shifted (-0.5w+tthin,-tfat*theight+0.75tthin); + currentpicture := currentpicture shifted (-0.5w+tthin,-tfat*theight+0.5tthin); + draw_trill_three; + draw_mordent(twidth-0.5toverlap); +fet_endchar; + +fet_beginchar("lineprall", "lineprall", "lineprall") + trills := 3; + set_char_box(trills*twidth#-(trills-1)*0.5toverlap#, trills*twidth#-(trills-1)*0.5toverlap#, theight#, 4*theight#); + pickup pencircle scaled tthin; + draw (-0.5w+tthin,-tfat*theight+0.5tthin) -- (-0.5w+tthin,h); + draw_trill_three; +fet_endchar; + +fet_beginchar("pralldown", "pralldown", "pralldown") +% trills := 4; + trills := 3; + set_char_box(trills*twidth#-(trills-1)*0.5toverlap#, trills*twidth#-(trills-1)*0.5toverlap#, theight#, theight#); +% draw_slur(-2twidth#,-2theight#,0,-1); +% currentpicture := currentpicture shifted (-0.5w+tthin,-tfat*theight+0.75tthin); + draw_slur(0,-2theight#,0,-1); +% currentpicture := currentpicture shifted (-0.5w+1.3tthin,-tfat*theight+1.5tthin); + currentpicture := currentpicture shifted (-0.5w+1.65tthin,-tfat*theight+1.15tthin); +% draw_trill_four; + draw_trill_three; + currentpicture := currentpicture xscaled -1; +fet_endchar; + +fet_beginchar("prallup", "prallup", "prallup") + trills := 3; + set_char_box(trills*twidth#-(trills-1)*0.5toverlap#, trills*twidth#-(trills-1)*0.5toverlap#, theight#, theight#); +% draw_slur(-2twidth#,2theight#,0,1); + draw_slur(0,2theight#,0,1); +% currentpicture := currentpicture shifted (-0.5w+tthin,-tfat*theight+0.75tthin); + currentpicture := currentpicture shifted (-0.5w+tthin,-tfat*theight+0.5tthin); + draw_trill_three; + currentpicture := currentpicture xscaled -1; +fet_endchar; + diff --git a/mf/feta-toevallig.mf b/mf/feta-toevallig.mf index 9eeafb828d..3ff3269f2b 100644 --- a/mf/feta-toevallig.mf +++ b/mf/feta-toevallig.mf @@ -328,7 +328,7 @@ fet_beginchar("Ed. Med. Flat" , "medicaea-1", "medicaeaflat"); % % fet_beginchar("Ed. Vat. Flat" , "vaticana-1", "vaticanaflat"); - set_char_box(0, 0.8 staff_space#, 0.6 staff_space#, + set_char_box(0, 0.7 staff_space#, 0.6 staff_space#, 2.0 staff_space#); define_pixels (stafflinethickness, staff_space); @@ -349,7 +349,7 @@ fet_beginchar("Ed. Vat. Flat" , "vaticana-1", "vaticanaflat"); fet_endchar; fet_beginchar("Ed. Vat. Natural" , "vaticana0", "vaticananatural"); - set_char_box(0, 0.7 staff_space#, 0.6 staff_space#, + set_char_box(0, 0.6 staff_space#, 0.6 staff_space#, 2.0 staff_space#); define_pixels (stafflinethickness, staff_space); @@ -381,7 +381,7 @@ fet_beginchar("Ed. Vat. Natural" , "vaticana0", "vaticananatural"); % % fet_beginchar("Mensural Sharp" , "mensural1", "mensuralsharp"); - set_char_box(0, 0.7 staff_space#, 0.5 staff_space#, + set_char_box(0.4 staff_space#, 0.6 staff_space#, 0.5 staff_space#, 0.5 staff_space#); save stemthick; define_pixels (stemthick, staff_space); @@ -400,7 +400,7 @@ fet_beginchar("Mensural Sharp" , "mensural1", "mensuralsharp"); fet_endchar; fet_beginchar("Mensural Flat" , "mensural-1", "mensuralflat"); - set_char_box(0, 0.7 staff_space#, 0.4 staff_space#, + set_char_box(0.1 staff_space#, 0.7 staff_space#, 0.4 staff_space#, 1.8 staff_space#); save stemthick; define_pixels (stemthick, staff_space); @@ -422,7 +422,7 @@ fet_beginchar("Mensural Flat" , "mensural-1", "mensuralflat"); fet_endchar; fet_beginchar("Hufnagel Flat" , "hufnagel-1", "hufnagelflat"); - set_char_box(0, 0.7 staff_space#, 0.4 staff_space#, + set_char_box(0.5 staff_space#, 0.7 staff_space#, 0.4 staff_space#, 1.8 staff_space#); save stemthick; define_pixels (stemthick, staff_space); diff --git a/scm/grob-property-description.scm b/scm/grob-property-description.scm index e08b36c8e4..74dd0faf62 100644 --- a/scm/grob-property-description.scm +++ b/scm/grob-property-description.scm @@ -204,7 +204,12 @@ For barline, space after a thick line.") (grob-property-description 'left-padding number? "space left of accs.") (grob-property-description 'length number? "Stem length for unbeamed stems, only for user override.") (grob-property-description 'lengths list? "Stem length given multiplicity of flag.") -(grob-property-description 'line-count integer? "Number of staff lines.") +(grob-property-description 'line-count integer? "Number of staff +lines. If you want to override this for staffs individually, you must +use @code{\outputproperty}. @code{\property .. \override} will not +work: @code{\override} is processed after the StaffSymbol is created, +and will have no effect. +") (grob-property-description 'line-thickness number? "the thickness[stafflinethickness] of the line.") (grob-property-description 'lookup symbol? "lookup method: 'value for plain text, 'name for character-name.") (grob-property-description 'magnify number? "the magnification factor. FIXME: doesn't work for feta fonts.") diff --git a/scm/output-lib.scm b/scm/output-lib.scm index a5364c45e8..8c6f1e3d91 100644 --- a/scm/output-lib.scm +++ b/scm/output-lib.scm @@ -83,6 +83,7 @@ centered, X==1 is at the right, X == -1 is at the left." ((default) '(1.0 . 0.5)) ((cross) '(1.0 . 0.75)) ((mensural) '(0.0 . 0.6)) + ((neo_mensural) '(0.0 . 0.6)) ((diamond) '(1.0 . 0.8)) ((transparent) '(1.0 . 1.0)) ((slash) '(1.0 . 1.0)) diff --git a/scm/script.scm b/scm/script.scm index c721e51ea7..628876274b 100644 --- a/scm/script.scm +++ b/scm/script.scm @@ -21,6 +21,7 @@ ("stopped" . ((feta . ("stopped" . "stopped")) #f 0 1 0)) ("staccato" . ((feta . ("staccato" . "staccato")) #t -1 0 -100)) ("tenuto" . ((feta . ("tenuto" . "tenuto")) #t -1 0 0)) + ("comma" . ((feta . ("lcomma" . "rcomma")) #t 0 1 0)) ("upbow" . ((feta . ("upbow" . "upbow")) #f 0 1 0)) ("downbow" . ((feta . ("downbow" . "downbow")) #f 0 1 0)) ("lheel" . ((feta . ("upedalheel" . "upedalheel")) #f 0 -1 0)) @@ -38,6 +39,11 @@ ("prallmordent" . ((feta . ("prallmordent" . "prallmordent")) #f 0 1 0)) ("upprall" . ((feta . ("upprall" . "upprall")) #f 0 1 0)) ("downprall" . ((feta . ("downprall" . "downprall")) #f 0 1 0)) + ("upmordent" . ((feta . ("upmordent" . "upmordent")) #f 0 1 0)) + ("downmordent" . ((feta . ("downmordent" . "downmordent")) #f 0 1 0)) + ("lineprall" . ((feta . ("lineprall" . "lineprall")) #f 0 1 0)) + ("pralldown" . ((feta . ("pralldown" . "pralldown")) #f 0 1 0)) + ("prallup" . ((feta . ("prallup" . "prallup")) #f 0 1 0)) ("segno" . ((feta . ("segno" . "segno")) #f 0 1 0)) ("coda" . ((feta . ("coda" . "coda")) #f 0 1 0))) default-script-alist) -- 2.39.2