From: Jan Nieuwenhuizen Date: Wed, 13 Dec 2000 21:15:51 +0000 (+0100) Subject: patch::: 1.3.116.jcn4 X-Git-Tag: release/1.3.117~1 X-Git-Url: https://git.donarmstrong.com/?a=commitdiff_plain;h=dfe9d5219abb25a2271cb9524c2b9ff55de2fcb1;p=lilypond.git patch::: 1.3.116.jcn4 1.3.116.jcn4 ============ * Bugfix: don't set beaming for outer half beams. This fixes some slurs attached to stem end. --- Generated by janneke@gnu.org, From = lilypond-1.3.116.jcn3, To = lilypond-1.3.116.jcn4 usage cd lilypond-source-dir; patch -E -p1 < lilypond-1.3.116.jcn4.diff Patches do not contain automatically generated files or (urg) empty directories, i.e., you should rerun autoconf, configure --- diff --git a/CHANGES b/CHANGES index c523a32c9b..958aeaee50 100644 --- a/CHANGES +++ b/CHANGES @@ -1,4 +1,15 @@ ---- ../lilypond-1.3.116.jcn2/CHANGES Mon Dec 11 22:17:51 2000 +--- ../lilypond-1.3.116.jcn3/CHANGES Tue Dec 12 23:23:42 2000 +++ b/CHANGES Wed Dec 13 22:15:51 2000 +@@ -1,3 +1,9 @@ +1.3.116.jcn4 +============ + +* Bugfix: don't set beaming for outer half beams. This fixes some +slurs attached to stem end. + + 1.3.116.jcn3 + ============ + --- ../lilypond-1.3.116.jcn2/CHANGES Mon Dec 11 22:17:51 2000 ++ b/CHANGES Tue Dec 12 23:23:42 2000 @@ -1,7 +1,15 @@ -1.3.116.jcn2 diff --git a/Documentation/user/features.tely b/Documentation/user/features.tely index 14989bd912..e0d85a7de4 100644 --- a/Documentation/user/features.tely +++ b/Documentation/user/features.tely @@ -4,7 +4,7 @@ @ignore TODO - * add more un/badly-documented features + * add more un/badly documented features * write some text * add to/merge with refman @end ignore @@ -18,9 +18,11 @@ TODO * Manual beam settings:: Manual beam settings * Slur attachments:: Slur attachments * Text spanner:: Text spanner -* Output property:: Output property -* Markup text:: Markup text * Engraver hacking:: Engraver hacking +* Markup text:: Markup text +* Output property:: Output property +* Embedded TeX:: Embedded TeX +* Embedded PostScript:: Embedded PostScript @end menu Testin'' a b c... @@ -65,6 +67,7 @@ Testin'' a b c... > @end lilypond +@c part combiner @node Manual beam settings @section Manual beam settings @@ -135,7 +138,7 @@ Ophee slurs... @end lilypond -@c ugly slurs +@c steep slur correct @c high slurs, eg from gnossienes @@ -163,28 +166,40 @@ Have crescendo set a text spanner iso hairpin @end lilypond -@node Output property -@section Output property +@node Engraver hacking +@section Engraver hacking -@lilypond[fragment,relative,verbatim,center] - \outputproperty #(make-type-checker 'note-head-interface) - #'extra-offset = #'(2 . 3) - c''2 c +No time signature, no barlines... +@lilypond[verbatim,center] +\score { + \notes \relative c'' { + a b c d + d c b a + } + \paper { + \translator { + \StaffContext + whichBar = #"" + \remove "Time_signature_engraver"; + linewidth = -1.; + } + } +} @end lilypond -Don't move the finger 2, only text "m.d." ... +No staff, no clef, squash pitches @lilypond[verbatim,center] -#(define (make-text-checker text) - (lambda (grob) (equal? text (ly-get-elt-property grob 'text)))) - -\score { - \notes\relative c''' { - \property Voice.Stem \set #'direction = #1 - \outputproperty #(make-text-checker "m.d.") - #'extra-offset = #'(-3.5 . -4.5) - a^2^"m.d." +\score { + \notes { c4 c4 c8 c8 } + \paper { + \translator { + \StaffContext + \remove Staff_symbol_engraver; + \consists Pitch_squash_engraver; + \remove Clef_engraver; + } + linewidth = -1.; } - \paper { linewidth = -1.; } } @end lilypond @@ -215,47 +230,63 @@ Metrome hack... } @end lilypond -@node Engraver hacking -@section Engraver hacking -No time signature, no barlines... +@node Output property +@section Output property + +@lilypond[fragment,relative,verbatim,center] + \outputproperty #(make-type-checker 'note-head-interface) + #'extra-offset = #'(2 . 3) + c''2 c +@end lilypond + +Don't move the finger 2, only text "m.d." ... @lilypond[verbatim,center] -\score { - \notes \relative c'' { - a b c d - d c b a - } - \paper { - \translator { - \StaffContext - whichBar = #"" - \remove "Time_signature_engraver"; - linewidth = -1.; - } +#(define (make-text-checker text) + (lambda (grob) (equal? text (ly-get-elt-property grob 'text)))) + +\score { + \notes\relative c''' { + \property Voice.Stem \set #'direction = #1 + \outputproperty #(make-text-checker "m.d.") + #'extra-offset = #'(-3.5 . -4.5) + a^2^"m.d." } + \paper { linewidth = -1.; } } @end lilypond -No staff, no clef, squash pitches + +@c subsection no clefs +@c equalizer + + +@c Embedded TeX + +@node Embedded TeX +@section Embedded TeX +@lilypond[fragment,relative,verbatim,center] + a''^"3 $\\times$ \\`a deux" +@end lilypond + +@node Embedded PostScript +@section Embedded PostScript + +Arbitrary lines and curves not supported... @lilypond[verbatim,center] \score { - \notes { c4 c4 c8 c8 } + \notes \relative c'' { + a-#"\\embeddedps{3 4 moveto 5 3 rlineto stroke}" + -#"\\embeddedps{ [ 0 1 ] 0 setdash 3 5 moveto 5 -3 rlineto stroke}" + b-#"\\embeddedps{3 4 moveto 0 0 1 2 8 4 20 3.5 rcurveto stroke}" + s2 + a'1 + } \paper { - \translator { - \StaffContext - \remove Staff_symbol_engraver; - \consists Pitch_squash_engraver; - \remove Clef_engraver; - } - linewidth = -1.; + linewidth = 70.0*\staffspace; } } @end lilypond - -@c subsection no clefs - - -@c equalizer @bye diff --git a/VERSION b/VERSION index 88fd8ef6eb..5426b74cbd 100644 --- a/VERSION +++ b/VERSION @@ -2,7 +2,7 @@ PACKAGE_NAME=LilyPond MAJOR_VERSION=1 MINOR_VERSION=3 PATCH_LEVEL=116 -MY_PATCH_LEVEL=jcn3 +MY_PATCH_LEVEL=jcn4 # use the above to send patches: MY_PATCH_LEVEL is always empty for a # released version. diff --git a/input/bugs/coda-kludge.ly b/input/bugs/coda-kludge.ly new file mode 100644 index 0000000000..ea590a55eb --- /dev/null +++ b/input/bugs/coda-kludge.ly @@ -0,0 +1,54 @@ +%{ +Hi, + I want to write some music that has the structure: + + Intro + \repeat 4 { Chorus [first-ending] verse } + fifth-ending final + + The obvious: + + \repeat 4 { Chorus \alternative{{first-ending}{}} verse} + \alternative{{}{fifth-ending}} + final + + doesn't work. + + And the (logically correct but ugly) + + \repeat 4 {Chorus} + \alternative {{first-ending verse}{fifth ending}} + final + + is very ugly, because the volta bracket keeps going for so + long. + + Peter C +%} + +\score{ + < + \context Staff \notes\relative c''{ + c c c c + % coda-klugde: let volta span only one bar + \property Staff.voltaSpannerDuration = #(make-moment 1 1) + \repeat "volta" 5 { d d d d } + \alternative { { e e e e f f f f } + { g g g g } } + } + \context Lyrics \lyrics{ + intro1 + \repeat fold 5 {} + \alternative { + { chorus1 one verse1 } + { chorus1 two verse1 } + { chorus1 three verse } + { chorus1 four verse } + } + five1 + } + > +} + + +%\version "1.0.16"; diff --git a/input/test/lines.ly b/input/test/lines.ly new file mode 100644 index 0000000000..1f9352a12a --- /dev/null +++ b/input/test/lines.ly @@ -0,0 +1,21 @@ +\header { +texidoc=" +Draw abritrary lines. This brings LilyPond on par with Mup. +"; +} + +\score { + \notes\relative c { +% globally positioned +% a-#"\\special{ps: 0 0 moveto 200 200 lineto stroke}" +% b-#"\\special{ps: 0 0 moveto 0 0 10 20 80 40 200 30 curveto stroke}" + a''-#"\\embeddedps{3 4 moveto 5 3 rlineto stroke}" + -#"\\embeddedps{ [ 0 1 ] 0 setdash 3 5 moveto 5 -3 rlineto stroke}" + b-#"\\embeddedps{3 4 moveto 0 0 1 2 8 4 20 3.5 rcurveto stroke}" + s2 + a'1 + } + \paper { + linewidth = 70.0*\staffspace; + } +} \ No newline at end of file diff --git a/lily/beam.cc b/lily/beam.cc index 25f90cb6eb..db50deee27 100644 --- a/lily/beam.cc +++ b/lily/beam.cc @@ -624,8 +624,15 @@ Beam::set_beaming (Grob*me,Beaming_info_list *beaming) { do { - if (Stem::beam_count (stems[i], d) == 0) - Stem::set_beaming ( stems[i], beaming->infos_.elem (i).beams_i_drul_[d],d); + /* Don't overwrite user override (?) */ + if (Stem::beam_count (stems[i], d) == 0 + /* Don't set beaming for outside of outer stems */ + && ! (d == LEFT && i == 0) + && ! (d == RIGHT && i == stems.size () -1)) + { + int b = beaming->infos_.elem (i).beams_i_drul_[d]; + Stem::set_beaming (stems[i], b, d); + } } while (flip (&d) != LEFT); } diff --git a/lily/timing-engraver.cc b/lily/timing-engraver.cc index f151c270b3..468dc0eb3b 100644 --- a/lily/timing-engraver.cc +++ b/lily/timing-engraver.cc @@ -5,8 +5,6 @@ (c) 1997--2000 Han-Wen Nienhuys */ -#include - #include "translator-group.hh" #include "command-request.hh" #include "grob-info.hh" diff --git a/scm/slur.scm b/scm/slur.scm index fe9e8eeff6..81cf5050ec 100644 --- a/scm/slur.scm +++ b/scm/slur.scm @@ -67,10 +67,10 @@ (ly-get-elt-property stem 'beam) ;; and beam on same side as slur (let ((beaming (ly-get-elt-property stem 'beaming))) - ;; (display "beaming: ") (write beaming) (newline) + ;; (display "beaming (") (display dir) (display "): ") (write beaming) (newline) (if (pair? beaming) - (<= 1 - (if (= dir -1) (car beaming) (cdr beaming))) + (>= (if (= dir -1) (cdr beaming) (car beaming)) + 1) #f)))))) 'stem)