From e76856c7414b1c150ad749bda48907124e4ea796 Mon Sep 17 00:00:00 2001 From: Jan Nieuwenhuizen Date: Tue, 12 Jan 1999 16:52:47 +0100 Subject: [PATCH] patch::: 1.1.20.jcn2: Re: patsje pl 20.jcn2 - mutopia fixes; see preludes-1.ly for cross-staff beams and slurs - bf: broken interstaff slur - sm66: check for gmake --- NEWS | 5 ++ TODO | 4 +- VERSION | 2 +- aclocal.m4 | 8 ++-- config.make.in | 3 +- input/test/slur-interstaff.ly | 24 +++++----- lily/encompass-info.cc | 30 ++++++------ lily/include/encompass-info.hh | 1 + lily/slur.cc | 20 ++++++-- .../J.S.Bach/Petites-Preludes/preludes-1.ly | 46 +++++++------------ .../J.S.Bach/Petites-Preludes/preludes-5.ly | 2 +- mutopia/J.S.Bach/wtk1-fugue2.ly | 16 +++---- stepmake/NEWS | 3 ++ stepmake/VERSION | 2 +- stepmake/aclocal.m4 | 8 ++-- stepmake/config.make.in | 3 +- 16 files changed, 91 insertions(+), 86 deletions(-) diff --git a/NEWS b/NEWS index 50c2ba76d9..f873ed1d48 100644 --- a/NEWS +++ b/NEWS @@ -1,3 +1,8 @@ +pl 20.jcn2 + - mutopia fixes; see preludes-1.ly for cross-staff beams and slurs + - bf: broken interstaff slur + - sm66: check for gmake + pl 20.jcn1 - interstaff slurs v0: preludes-1.ly - warnings for silly interbeam settings diff --git a/TODO b/TODO index 31ee656807..6b95103793 100644 --- a/TODO +++ b/TODO @@ -47,7 +47,7 @@ BUGS: * fix: cello suites - * fix: petites preludes (rediculous dims) + * fix: text on rests: rediculous dims * fix extender @@ -68,7 +68,7 @@ BUGS: * gallina barlines. * fix height of / collisions with lyrics (chords), - see input/test/vertical-text.ly + see input/test/vertical-text.ly; input/test/repeat.ly * repeat/volta: - one volta spanner per score diff --git a/VERSION b/VERSION index f5155c60a8..1fe877848d 100644 --- a/VERSION +++ b/VERSION @@ -2,7 +2,7 @@ PACKAGE_NAME=LilyPond MAJOR_VERSION=1 MINOR_VERSION=1 PATCH_LEVEL=20 -MY_PATCH_LEVEL=jcn1 +MY_PATCH_LEVEL=jcn2 # 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 15d012b7a4..c6bcc95f08 100644 --- a/aclocal.m4 +++ b/aclocal.m4 @@ -267,10 +267,9 @@ AC_DEFUN(AC_STEPMAKE_INIT, [ AC_SUBST(CONFIGSUFFIX) AC_CANONICAL_HOST - AC_CHECK_PROGS(MAKE, make, error) + AC_CHECK_PROGS(MAKE, make gmake, error) AC_CHECK_PROGS(FIND, find, error) - dnl system supplied INSTALL is unsafe; use our own install. dnl AC_PROG_INSTALL dnl if test "$INSTALL" = "bin/install-sh"; then @@ -283,10 +282,8 @@ dnl fi AC_PATH_PROG(PYTHON, ${PYTHON:-python}, -echo no python) AC_SUBST(PYTHON) - - AC_CHECK_SEARCH_RESULT($MAKE, GNU make, You should install GNU make) if test $MAKE != "error" ; then - $MAKE -v| grep GNU > /dev/null + $MAKE -v 2> /dev/null | grep GNU > /dev/null if test "$?" = 1 then AC_STEPMAKE_WARN(Please install *GNU* make) @@ -450,6 +447,7 @@ AC_DEFUN(AC_STEPMAKE_GETTEXT, [ AC_DEFUN(AC_STEPMAKE_MAN, [ AC_CHECK_PROGS(TROFF, troff, -echo no troff) + AC_CHECK_PROGS(TBL, tbl, cat) ]) AC_DEFUN(AC_STEPMAKE_MSGFMT, [ diff --git a/config.make.in b/config.make.in index a2a43b481f..442d65c0a4 100644 --- a/config.make.in +++ b/config.make.in @@ -53,8 +53,9 @@ MSGFMT = @MSGFMT@ PATHSEP = @PATHSEP@ PERL = @PERL@ PYTHON = @PYTHON@ -TAR= @TAR@ STRIPROFF = @STRIPROFF@ +TAR= @TAR@ +TBL = @TBL@ TROFF = @TROFF@ YODL= @YODL@ YODL2HTML= @YODL2HTML@ diff --git a/input/test/slur-interstaff.ly b/input/test/slur-interstaff.ly index 2d6ccbf281..4670c82701 100644 --- a/input/test/slur-interstaff.ly +++ b/input/test/slur-interstaff.ly @@ -1,23 +1,25 @@ \score{ \type GrandStaff < \type Staff=one \notes\relative c'{ - \stemup c8( c \translator Staff=two \stemup c )c - r2 + \stemup c4( c \translator Staff=two c )c \translator Staff=one - \stemdown c8( c \translator Staff=two \stemup c )c - r2 - \stemdown c8( c \translator Staff=one \stemdown c )c + \stemup c4( c \translator Staff=two c )c + \stemup c4( c \translator Staff=one c )c + \translator Staff=two + \stemup c4( c \translator Staff=one c )c + \translator Staff=two + \stemup c4( \translator Staff=one c c )c r2 \translator Staff=two - \stemup c8( c \translator Staff=one \stemdown c )c + \stemup c4( \translator Staff=one c \break c )c r2 + r1 + r1 + r1 } \type Staff=two \notes\relative c'{ \clef bass; - s1 - s1 - s1 - s1 + s1 s1 s1 s1 s1 s1 s1 s1 s1 s1 } > \paper{ @@ -28,6 +30,6 @@ minVerticalAlign = 3.0*\staffheight; maxVerticalAlign = 3.0*\staffheight; } - linewidth=-1.; + %linewidth=100.\mm; } } diff --git a/lily/encompass-info.cc b/lily/encompass-info.cc index f8854f0292..6adca21c22 100644 --- a/lily/encompass-info.cc +++ b/lily/encompass-info.cc @@ -29,15 +29,15 @@ Encompass_info::Encompass_info (Note_column const* note, Direction dir) Real notewidth = paper->note_width () * 0.8; Real internote = interline / 2; - Stem* stem_l_ = note->stem_l_; + Stem* stem_l = note->stem_l_; /* set o_.x () to middle of notehead or on the exact position of stem, according to slur direction */ - o_.x () = stem_l_->hpos_f (); + o_.x () = stem_l->hpos_f (); /* - stem_l_->dir == dir + stem_l->dir == dir ________ | | / \ x| x| |x |x @@ -45,25 +45,25 @@ Encompass_info::Encompass_info (Note_column const* note, Direction dir) */ - if (stem_l_->dir_ != dir) - o_.x () -= 0.5 * notewidth * stem_l_->dir_; + if (stem_l->dir_ != dir) + o_.x () -= 0.5 * notewidth * stem_l->dir_; - o_.y () = stem_l_->extent (Y_AXIS)[dir]; + o_.y () = stem_l->extent (Y_AXIS)[dir]; /* leave a gap: slur mustn't touch head/stem */ o_.y () += 2.5 * internote * dir; - if (stem_l_->dir_ != dir) + if (stem_l->dir_ != dir) o_.y () += 1.0 * internote * dir; - Slur* slur_l_ = stem_l_->slur_l_; + Slur* slur_l_ = stem_l->slur_l_; if (slur_l_->encompass_arr_.size () - && stem_l_->staff_sym_l_ != slur_l_->encompass_arr_[0]->stem_l_->staff_sym_l_) + && stem_l->staff_sym_l_ != slur_l_->encompass_arr_[0]->stem_l_->staff_sym_l_) { - if (stem_l_->staff_sym_l_->dim_cache_[Y_AXIS].valid_b ()) + if (stem_l->staff_sym_l_->dim_cache_[Y_AXIS].valid_b ()) { - slur_l_->interstaff_f_ = stem_l_->staff_sym_l_->absolute_coordinate (Y_AXIS) + interstaff_f_ = stem_l->staff_sym_l_->absolute_coordinate (Y_AXIS) - slur_l_->encompass_arr_[0]->stem_l_->staff_sym_l_->absolute_coordinate (Y_AXIS); } else @@ -72,12 +72,12 @@ Encompass_info::Encompass_info (Note_column const* note, Direction dir) if (slur_l_->vertical_align_drul_[MIN] != slur_l_->vertical_align_drul_[MAX]) warning (_ ("minVerticalAlign != maxVerticalAlign: interstaff slurs may be broken")); - slur_l_->interstaff_f_ = slur_l_->vertical_align_drul_[MIN]; + interstaff_f_ = slur_l_->vertical_align_drul_[MIN]; // urg, guess staff order: // if our stem ends higher, our staff is probably lower... - if (stem_l_->chord_start_f () > slur_l_->encompass_arr_[0]->stem_l_->chord_start_f ()) - slur_l_->interstaff_f_ *= -1; + if (stem_l->chord_start_f () > slur_l_->encompass_arr_[0]->stem_l_->chord_start_f ()) + interstaff_f_ *= -1; } - o_.y () += slur_l_->interstaff_f_; + o_.y () += interstaff_f_; } } diff --git a/lily/include/encompass-info.hh b/lily/include/encompass-info.hh index 511a24404d..3b0d65f593 100644 --- a/lily/include/encompass-info.hh +++ b/lily/include/encompass-info.hh @@ -20,6 +20,7 @@ struct Encompass_info Encompass_info (Note_column const*, Direction); Offset o_; + Real interstaff_f_; }; #endif // ENCOMPASS_INFO_HH diff --git a/lily/slur.cc b/lily/slur.cc index f8a0fc3672..e5b9f4d88d 100644 --- a/lily/slur.cc +++ b/lily/slur.cc @@ -265,13 +265,13 @@ Slur::get_encompass_offset_arr () const int last = encompass_arr_.size () - 1; // prebreak - if (encompass_arr_[0] != spanned_drul_[LEFT]) - first--; - - // postbreak if (encompass_arr_.top () != spanned_drul_[RIGHT]) last++; + // postbreak + if (encompass_arr_[0] != spanned_drul_[LEFT]) + first--; + Array notes; notes.push (Offset (0,0)); @@ -280,7 +280,19 @@ Slur::get_encompass_offset_arr () const Encompass_info info (encompass_arr_[i], dir_); notes.push (info.o_ - left); } + Encompass_info info (encompass_arr_[encompass_arr_.size () - 1], dir_); + // urg: + Slur* urg = (Slur*)this; + urg->interstaff_f_ = info.interstaff_f_; d.y () += interstaff_f_; + + // prebreak + if (interstaff_f_ && (encompass_arr_.top () != spanned_drul_[RIGHT])) + { + Encompass_info info (encompass_arr_[encompass_arr_.size () - 1], dir_); + d.y () -= info.o_.y () - interstaff_f_; + } + notes.push (d); return notes; diff --git a/mutopia/J.S.Bach/Petites-Preludes/preludes-1.ly b/mutopia/J.S.Bach/Petites-Preludes/preludes-1.ly index bc7bd540d0..d544c730f7 100644 --- a/mutopia/J.S.Bach/Petites-Preludes/preludes-1.ly +++ b/mutopia/J.S.Bach/Petites-Preludes/preludes-1.ly @@ -18,17 +18,19 @@ copyright = "public domain"; % howto get rid of these ridiculous dimensions???? % to view the output, subsitute 0.0 with 0.0 in the .tex file... -% one = \type Voice=one \notes\relative c { -% one = \notes\relative c { -one = \type Staff=treble \notes\relative c { +one = \type Voice=one \notes\relative c { \property Voice . textstyle = "italic" - r16\p_"legato"\< [g''-1( c-3 )e-5] r [g,-1( c )e] +% rediculous dim... +% r16\p_"legato"\< [g''-1( c-3 )e-5] r [g,-1( c )e] + r16\p\< [g''-1( c-3 )e-5] r [g,-1( c )e] r [g,( c )d] r [b-1( d-2 \!)g-5] | - r\mf [a,( d-2 ) g-5] r [a,(\< d )f-4] + r16\mf [a,( d-2 ) g-5] r [a,(\< d )f-4] r [a,( d )e-3] r [c-1( e-2 \!)a-5] | - r\f [b, e a-5] r [b, e-3 g-5] + r16\f [b, e a-5] r [b, e-3 g-5] r [c,-1 e-3 f-4] r [g, d'-3 f-5] | - r [g,-"poco a poco dim." d'-4 e] r [g, c-2 e] +% all text is fat currently... +% r [g,-"poco a poco dim." d'-4 e] r [g, c-2 e] + r [g, d'-4 e] r [g, c-2 e] r [a,-1 c-3 d-4] r [e, b'-3 d-5] | r [e, b' c-4] r [e, a-2 c] r [f,-1 a-3 bes-4] r [c, g'-3 bes-5] | @@ -39,17 +41,13 @@ one = \type Staff=treble \notes\relative c { r [b, d a'-5] r [b, d g-4] r [a, c g'-5] r [a, c f!-4] | % ugh arpeggio - < + \type Staff=treble < { \voiceone f4 r } { \voicetwo r } > \onevoice % s % ugh beam across staffs slur starts at lower staff -% r16 [g,-1( b d] | -% \voiceone -% )b s4 [g'16-1( b-2 d] )b s s s [f'-2 g-3 b-5 f-2] | -% \onevoice \translator Staff=bass\stemup r16 [g,,-5( b-4 d ] [f-1 \translator Staff=treble\stemdown g16-1 b d] | \stemup )b @@ -78,39 +76,30 @@ one = \type Staff=treble \notes\relative c { [d c'-5 b-4 a] [b-4 g-2 d'-5 f,-1] | [g-4 e-2 f-1 d'-5] [c-4 b a g] [f'-5 d-3 es-4 c-2] [fis,-1 es'-4 d-3 c-2] | - [b-1 d-5 b-3 g-1] [as-4-"cresc. e rall." f-2 g-3 d-1] +% [b-1 d-5 b-3 g-1] [as-4-"cresc. e rall." f-2 g-3 d-1] + [b-1 d-5 b-3 g-1] [as-4 f-2 g-3 d-1] [es-2 fis-3 a-4 c-5] - < + \type Staff=treble < { \voiceone r [c8 b16] } - %%% urg urg ?{ \voicetwo [d,8 f-2] } + { \voicetwo [d,8 f-2] } > \onevoice | \bar "|."; } -% two = \notes\relative c{ -% two = \type Voice=three \notes\relative c{ -two = \type Staff=bass \notes\relative c{ +two = \type Voice=three \notes\relative c{ \property Voice . textstyle = "roman" c4-5 e-3 g-\mordent^"(\\textsharp)" g,4 | - d'-\mordent-5 f-3 a-\mordent^"(\\textsharp)" a,4 | + d'4-\mordent-5 f-3 a-\mordent^"(\\textsharp)" a,4 | e'-5 e'-\mordent-1 a,-4 b-\upprall | c4 e,-4 fis gis-\downprall | a4 c,-4 d e-\upprall | f4-1 e d-3-\prall c | g'-\mordent^"(\\textsharp)" g, g'-\mordent g, | g'-\mordent g, g'-\mordent g, | -% % ugh f should be at upper staff -% g'-\mordent r r16 [g,-5( b-4 d] )f-1 s s s | -% g'-\mordent r r16 [g,-5( b-4 d \translator Staff=treble )f-1 ] s s s | -% \translator Staff=bass -% s [g-5( b-4 d-2] )f-1 s s s s \clef "violin"; [g-4 b-2 d-1] -% s s s s \clef bass; | g' r s s | s s s s \clef bass; | - < -% { \voiceone g,,1 ~ g ~ g ~ g ~ g ~ g ~ g } -% { \voicetwo g,1 ~ g ~ g ~ g ~ g ~ g ~ g } + \type Staff=bass < { \voicethree g1 ~ g ~ g ~ g ~ g ~ g ~ g } { \voicefour g,1 ~ g ~ g ~ g ~ g ~ g ~ g } > @@ -128,7 +117,6 @@ treble_staff = \type Staff = treble < > bass_staff = \type Staff = bass < -% bass = Staff < \clef "bass"; \global \two diff --git a/mutopia/J.S.Bach/Petites-Preludes/preludes-5.ly b/mutopia/J.S.Bach/Petites-Preludes/preludes-5.ly index 0a79332431..9238f1324b 100644 --- a/mutopia/J.S.Bach/Petites-Preludes/preludes-5.ly +++ b/mutopia/J.S.Bach/Petites-Preludes/preludes-5.ly @@ -87,7 +87,7 @@ one = \notes\relative c{ < { \voiceone - f4-4\> ~ | \![f8 e] [e32-4 f e8. ~] [e8 d-3] + f4-4\> ~ | [\!f8 e] [e32-4 f e8. ~] [e8 d-3] } { \voicetwo r4 cis-2 } > | diff --git a/mutopia/J.S.Bach/wtk1-fugue2.ly b/mutopia/J.S.Bach/wtk1-fugue2.ly index 946ffbe4d7..3ad507b208 100644 --- a/mutopia/J.S.Bach/wtk1-fugue2.ly +++ b/mutopia/J.S.Bach/wtk1-fugue2.ly @@ -25,7 +25,7 @@ global = \notes { \bar "|."; | } -dux = \notes \relative c''{ +dux = \type Voice=two \notes \relative c''{ \voicetwo \clef violin; @@ -77,7 +77,7 @@ dux = \notes \relative c''{ } -comes = \notes \relative c'' { +comes = \type Voice=one \notes \relative c'' { \voiceone R1 | R1 | @@ -119,9 +119,8 @@ comes = \notes \relative c'' { } -bassdux = \notes \relative c' { +bassdux = \type Voice=three \notes \relative c' { \clef bass; - R1 | R | R | @@ -159,12 +158,9 @@ bassdux = \notes \relative c' { [f,16 g] as4 [g16 f] es4 r8 es' | [d c g' g,] %%30 - %urg - %using only \type Staff or \voiceone/two don't work anymore? - %moreover, the ties are not fooled by this anymore - \type Staff < - {\voiceone c2 ~ | c1 ~ | c1 } - {\voicetwo c,2 ~ | c1 ~ | c1 } + \type Staff=bass < + {\voicethree c2 ~ | c1 ~ | c1 } + {\voicefour c,2 ~ | c1 ~ | c1 } > } diff --git a/stepmake/NEWS b/stepmake/NEWS index 97e21a5ad4..c2935e25ab 100644 --- a/stepmake/NEWS +++ b/stepmake/NEWS @@ -1,3 +1,6 @@ +pl 66 + - check for tbl and gmake + pl 65 - unix style pathsep/dirsep for cygwin diff --git a/stepmake/VERSION b/stepmake/VERSION index a2ba451210..77de07ba24 100644 --- a/stepmake/VERSION +++ b/stepmake/VERSION @@ -1,7 +1,7 @@ PACKAGE_NAME=StepMake MAJOR_VERSION=0 MINOR_VERSION=1 -PATCH_LEVEL=65 +PATCH_LEVEL=66 MY_PATCH_LEVEL= # use the above to send patches, always empty for released version: diff --git a/stepmake/aclocal.m4 b/stepmake/aclocal.m4 index 3df8f7b6c8..ff733a0c2d 100644 --- a/stepmake/aclocal.m4 +++ b/stepmake/aclocal.m4 @@ -265,10 +265,9 @@ AC_DEFUN(AC_STEPMAKE_INIT, [ AC_SUBST(CONFIGSUFFIX) AC_CANONICAL_HOST - AC_CHECK_PROGS(MAKE, make, error) + AC_CHECK_PROGS(MAKE, make gmake, error) AC_CHECK_PROGS(FIND, find, error) - dnl system supplied INSTALL is unsafe; use our own install. dnl AC_PROG_INSTALL dnl if test "$INSTALL" = "bin/install-sh"; then @@ -281,10 +280,8 @@ dnl fi AC_PATH_PROG(PYTHON, ${PYTHON:-python}, -echo no python) AC_SUBST(PYTHON) - - AC_CHECK_SEARCH_RESULT($MAKE, GNU make, You should install GNU make) if test $MAKE != "error" ; then - $MAKE -v| grep GNU > /dev/null + $MAKE -v 2> /dev/null | grep GNU > /dev/null if test "$?" = 1 then AC_STEPMAKE_WARN(Please install *GNU* make) @@ -448,6 +445,7 @@ AC_DEFUN(AC_STEPMAKE_GETTEXT, [ AC_DEFUN(AC_STEPMAKE_MAN, [ AC_CHECK_PROGS(TROFF, troff, -echo no troff) + AC_CHECK_PROGS(TBL, tbl, cat) ]) AC_DEFUN(AC_STEPMAKE_MSGFMT, [ diff --git a/stepmake/config.make.in b/stepmake/config.make.in index a2a43b481f..442d65c0a4 100644 --- a/stepmake/config.make.in +++ b/stepmake/config.make.in @@ -53,8 +53,9 @@ MSGFMT = @MSGFMT@ PATHSEP = @PATHSEP@ PERL = @PERL@ PYTHON = @PYTHON@ -TAR= @TAR@ STRIPROFF = @STRIPROFF@ +TAR= @TAR@ +TBL = @TBL@ TROFF = @TROFF@ YODL= @YODL@ YODL2HTML= @YODL2HTML@ -- 2.39.2