From 7754ac4c2bde14d03af8a85d46c6a9e26fa0734b Mon Sep 17 00:00:00 2001 From: Jan Nieuwenhuizen Date: Thu, 20 May 1999 17:08:05 +0200 Subject: [PATCH] patch::: 1.1.43.crypton1 pl 43.crypton1 - bf: repeat :| placement + core dump input/test/repeat.ly input/test/coda-kludge.ly - bf: mf without ljfour --- NEWS | 6 ++++++ TODO | 7 ++++++- VERSION | 2 +- aclocal.m4 | 13 +++++++++++++ config.make.in | 1 + configure.in | 2 +- input/bugs/unfold-many.ly | 12 ++++++++++++ input/bugs/unfold.ly | 5 +++++ input/test/coda-kludge.ly | 8 ++++---- input/test/repeat.ly | 2 -- lily/repeat-engraver.cc | 24 +++++++++++++++++++++++- mf/feta-accordion.mf | 8 +++++++- stepmake/aclocal.m4 | 13 +++++++++++++ stepmake/stepmake/metafont-rules.make | 2 +- 14 files changed, 93 insertions(+), 12 deletions(-) create mode 100644 input/bugs/unfold-many.ly create mode 100644 input/bugs/unfold.ly diff --git a/NEWS b/NEWS index 9b3d25ffa8..53b952e982 100644 --- a/NEWS +++ b/NEWS @@ -1,3 +1,9 @@ +pl 43.crypton1 + - bf: repeat :| placement + core dump + input/test/repeat.ly + input/test/coda-kludge.ly + - bf: mf without ljfour + pl 43.jcn1 - configure, set-lily.sh, release stuff diff --git a/TODO b/TODO index 534c44f18e..92ee0c62c7 100644 --- a/TODO +++ b/TODO @@ -15,7 +15,12 @@ Grep for TODO and ugh/ugr/urg. . * ps/lily.ps see comments. . * devise standard for functioning of Vertical_align_element. . * midi key. - +. * Repeats +. * unfold broken: +. * without alternatives: repeat unfold 4 { a b c d } +. * count > alternatives: repeat unfold 79 { a b c d } +\alternative { { c c c c } { d d d d } } +. * kind of 'initial property' iso fold/volta(semi)/unfold strings . * fix singleStaffBracket . * declare performers in \midi . * fix MIDI diff --git a/VERSION b/VERSION index 56e51fb6bb..b691663438 100644 --- a/VERSION +++ b/VERSION @@ -2,7 +2,7 @@ PACKAGE_NAME=LilyPond MAJOR_VERSION=1 MINOR_VERSION=1 PATCH_LEVEL=43 -MY_PATCH_LEVEL=jcn1 +MY_PATCH_LEVEL=crypton1 # use the above to send patches: MY_PATCH_LEVEL is always empty for a # released version. diff --git a/aclocal.m4 b/aclocal.m4 index 1ae2d849de..b55536ab7f 100644 --- a/aclocal.m4 +++ b/aclocal.m4 @@ -546,6 +546,7 @@ AC_DEFUN(AC_STEPMAKE_TEXMF, [ AC_CHECK_PROGS(METAPOST, mp, no) if test "x$METAPOST" = "xno"; then AC_CHECK_PROGS(MPOST, mpost, -echo no mp or mpost) + METAPOST=$MPOST fi @@ -561,8 +562,20 @@ AC_DEFUN(AC_STEPMAKE_TEXMF, [ INIMETAPOST=$INIMPOST fi + AC_MSG_CHECKING(for working metafont mode) + modelist='ljfour lj4 lj3 lj2 ljet laserjet' + for MFMODE in $modelist; do + $METAFONT "\mode:=$MFMODE; mode_setup; end." > /dev/null 2>&1 + if test -f mfput.tfm; then + break; + fi + done + rm -f mfput.* + AC_MSG_RESULT($MFMODE) + AC_SUBST(METAFONT) AC_SUBST(METAPOST) + AC_SUBST(MFMODE) AC_SUBST(INIMETAFONT) AC_SUBST(INIMETAPOST) ]) diff --git a/config.make.in b/config.make.in index e4f53705ca..be2cb00274 100644 --- a/config.make.in +++ b/config.make.in @@ -51,6 +51,7 @@ INIMETAPOST = @INIMETAPOST@ LN = @LN@ LN_S = @LN_S@ METAFONT = @METAFONT@ +MFMODE = @MFMODE@ METAPOST = @METAPOST@ MSGFMT = @MSGFMT@ PATHSEP = @PATHSEP@ diff --git a/configure.in b/configure.in index eb276f305a..10a18a76b2 100644 --- a/configure.in +++ b/configure.in @@ -67,7 +67,7 @@ for i in $LOCALES; do done rm -f afm; ln -sf $LILYPONDPREFIX/mf/out afm rm -f tfm; ln -sf $LILYPONDPREFIX/mf/out tfm -rm -f cmtfm; ln -sf `dirname $TEX_TFMDIR` cmtfm +rm -f cmtfm; ln -sf $TEX_TFMDIR cmtfm AC_MSG_RESULT(ok) AC_STEPMAKE_END diff --git a/input/bugs/unfold-many.ly b/input/bugs/unfold-many.ly new file mode 100644 index 0000000000..0b1bedbc2b --- /dev/null +++ b/input/bugs/unfold-many.ly @@ -0,0 +1,12 @@ +\score{ + \context Staff \notes\relative c'{ + % compare this to 'semi' with numbered voltas: + % 1-3: alternative 1 + % 4: alternative 2 + \repeat unfold 4 { g a b c } + \alternative { + { c c c c } + { d d d d } + } + } +} diff --git a/input/bugs/unfold.ly b/input/bugs/unfold.ly new file mode 100644 index 0000000000..76ccc3d8cb --- /dev/null +++ b/input/bugs/unfold.ly @@ -0,0 +1,5 @@ +\score{ + \context Staff \notes\relative c'{ + \repeat unfold 4 { g a b c } + } +} diff --git a/input/test/coda-kludge.ly b/input/test/coda-kludge.ly index e68029ae2a..b9c09685d8 100644 --- a/input/test/coda-kludge.ly +++ b/input/test/coda-kludge.ly @@ -32,19 +32,19 @@ Hi, c c c c % coda-klugde: let volta span only one bar \property Staff.voltaSpannerDuration = "1" - \repeat 5 { d d d d } + \repeat semi 5 { d d d d } \alternative { { e e e e f f f f } { g g g g } } } \context Lyrics \lyrics{ intro1 - \repeat 5 {} - \alternative < + \repeat fold 5 {} + \alternative { { chorus1 one verse1 } { chorus1 two verse1 } { chorus1 three verse } { chorus1 four verse } - > + } five1 } > diff --git a/input/test/repeat.ly b/input/test/repeat.ly index 96a82264ea..2c1d01c951 100644 --- a/input/test/repeat.ly +++ b/input/test/repeat.ly @@ -16,5 +16,3 @@ } > } - -\version "1.0.16"; diff --git a/lily/repeat-engraver.cc b/lily/repeat-engraver.cc index 8de755f670..b6c7e01bfc 100644 --- a/lily/repeat-engraver.cc +++ b/lily/repeat-engraver.cc @@ -31,13 +31,32 @@ Repeat_engraver::do_try_music (Music* m) { if (New_repeated_music* r = dynamic_cast (m)) { + if (!r->semi_fold_b_) + return true; + Music_sequence* alt = r->alternatives_p_; Moment repeat_length_mom = r->repeat_body_p_->length_mom (); Moment stop_mom = now_mom () + repeat_length_mom; Moment alt_mom = now_mom () + repeat_length_mom; + + /* + if there's a repeat block, we'll need a stop-repeat :| + */ if (repeat_length_mom) { - stop_mom += r->alternatives_length_mom (); + /* + if there are alternatives, the :| comes before last alternative + (only for semi-unfolded, but otherwise we're not here anyway?) + */ + if (alt) + { + for (Cons *i (alt->music_p_list_p_->head_); i && i->next_; i = i->next_) + { + stop_mom += i->car_->length_mom (); + if (r->fold_b_) + break; + } + } repeated_music_arr_.push (r); stop_mom_arr_.push (stop_mom); } @@ -58,6 +77,9 @@ Repeat_engraver::do_try_music (Music* m) if (prop.length_i ()) span_mom = prop.to_rat (); + if (!alt) + return true; + int alt_i = r->repeats_i_ + 1 - cons_list_size_i (alt->music_p_list_p_->head_ ) >? 1; for (Cons *i = alt->music_p_list_p_->head_; i ; i = i->next_) { diff --git a/mf/feta-accordion.mf b/mf/feta-accordion.mf index 5c016724e9..8367a5ae4b 100644 --- a/mf/feta-accordion.mf +++ b/mf/feta-accordion.mf @@ -1,7 +1,13 @@ % -*- Fundamental -*- accreg_dot_size# := .5interline#; -accreg_linethickness# := 1.3stafflinethickness#; + +% 'strange turning path' in accBayanbase: +% mf '\mode=laserjet; input feta11' +% accreg_linethickness# := 1.3stafflinethickness#; + +% so, do thinner lines, for now +accreg_linethickness# := 1.2stafflinethickness#; % This dimention is the same on all registersymbols. % The different symbols should calculate their other diff --git a/stepmake/aclocal.m4 b/stepmake/aclocal.m4 index 1ae2d849de..b55536ab7f 100644 --- a/stepmake/aclocal.m4 +++ b/stepmake/aclocal.m4 @@ -546,6 +546,7 @@ AC_DEFUN(AC_STEPMAKE_TEXMF, [ AC_CHECK_PROGS(METAPOST, mp, no) if test "x$METAPOST" = "xno"; then AC_CHECK_PROGS(MPOST, mpost, -echo no mp or mpost) + METAPOST=$MPOST fi @@ -561,8 +562,20 @@ AC_DEFUN(AC_STEPMAKE_TEXMF, [ INIMETAPOST=$INIMPOST fi + AC_MSG_CHECKING(for working metafont mode) + modelist='ljfour lj4 lj3 lj2 ljet laserjet' + for MFMODE in $modelist; do + $METAFONT "\mode:=$MFMODE; mode_setup; end." > /dev/null 2>&1 + if test -f mfput.tfm; then + break; + fi + done + rm -f mfput.* + AC_MSG_RESULT($MFMODE) + AC_SUBST(METAFONT) AC_SUBST(METAPOST) + AC_SUBST(MFMODE) AC_SUBST(INIMETAFONT) AC_SUBST(INIMETAPOST) ]) diff --git a/stepmake/stepmake/metafont-rules.make b/stepmake/stepmake/metafont-rules.make index 76ca3aa389..bf7d6a0a9d 100644 --- a/stepmake/stepmake/metafont-rules.make +++ b/stepmake/stepmake/metafont-rules.make @@ -11,7 +11,7 @@ $(outdir)/%.log: %.mf rm $(basename $< ).*gf $(outdir)/%.tfm: %.mf - $(METAFONT) '\mode:=ljfour; input $<;' + $(METAFONT) "\mode:=$(MFMODE); input $<;" mv $(@F) $(outdir) rm $(basename $<).*gf $(basename $<).*log -- 2.39.5