From: Jan Nieuwenhuizen Date: Fri, 18 Aug 2000 14:41:56 +0000 (+0200) Subject: patch::: 1.3.79.jcn1 X-Git-Tag: release/1.3.80~5 X-Git-Url: https://git.donarmstrong.com/?a=commitdiff_plain;h=cf5f855d867f98f409b6ecac42561a1a8a21c0c4;p=lilypond.git patch::: 1.3.79.jcn1 1.3.79.jcn1 =========== * Made crude fixes slurs don't crash, bezier still crashes on infinitely steep slurs (eg flauti-part *with* slur_engraver). 1.3.79 ====== --- diff --git a/CHANGES b/CHANGES index e13358409d..65f78969a7 100644 --- a/CHANGES +++ b/CHANGES @@ -1,3 +1,12 @@ +1.3.79.jcn1 +=========== + +* Made crude fixes slurs don't crash, bezier still crashes on + infinitely steep slurs (eg flauti-part *with* slur_engraver). + +1.3.79 +====== + * etf2ly.py: Finale to LilyPond conversion. 1.3.78.jcn4 diff --git a/VERSION b/VERSION index cfec8508be..1586c1210b 100644 --- a/VERSION +++ b/VERSION @@ -2,7 +2,7 @@ PACKAGE_NAME=LilyPond MAJOR_VERSION=1 MINOR_VERSION=3 PATCH_LEVEL=79 -MY_PATCH_LEVEL= +MY_PATCH_LEVEL=jcn1 # use the above to send patches: MY_PATCH_LEVEL is always empty for a # released version. diff --git a/input/bugs/almost.ly b/input/bugs/almost.ly index 7276562718..e69de29bb2 100644 --- a/input/bugs/almost.ly +++ b/input/bugs/almost.ly @@ -1,18 +0,0 @@ -\score{ - \context Staff < - \context Voice=one { \skip 1; } - \context Voice=two { \skip 1; } - - \context Voice=one \partcombine Voice - \context Thread=one \notes\relative c'' { - a4 c4.()g8 a4 - } - \context Thread=two \notes\relative c'' { - g4 e4.()d8 c4 - } - > - \paper{ - linewidth=60.\mm; - } -} - diff --git a/input/test/hymn.ly b/input/test/hymn.ly index 8003c4dbd4..cecbbfc731 100644 --- a/input/test/hymn.ly +++ b/input/test/hymn.ly @@ -1,17 +1,15 @@ \score{ \context Staff < - \context Voice=one { \skip 1; } - \context Voice=two { \skip 1; } - + \time 4/4; \context Voice=one \partcombine Voice \context Thread=one \notes\relative c'' { - %a4 c4.()g8 a4 | + a4 c4.()g8 a4 | g4 e' g()f | b, a c2 } \context Thread=two \notes\relative c'' { - %g4 e4.()d8 c4 | - g4 c, e()f | + g4 e4.()d8 c4 | + g'4 c, e()f | d2 a } > @@ -20,13 +18,7 @@ \translator { \VoiceContext soloADue = ##f - %\remove Slur_engraver; - \consists Slur_engraver; } -% \translator { -% \ThreadContext -% \consists Slur_engraver; -% } } } diff --git a/lily/slur.cc b/lily/slur.cc index ccad52d81c..46a9e19010 100644 --- a/lily/slur.cc +++ b/lily/slur.cc @@ -150,12 +150,16 @@ Slur::encompass_offset (Score_element*me, return o; } -MAKE_SCHEME_CALLBACK(Slur,after_line_breaking); - +MAKE_SCHEME_CALLBACK (Slur, after_line_breaking); SCM Slur::after_line_breaking (SCM smob) { Score_element *me = unsmob_element (smob); + if (!gh_scm2int(scm_length (me->get_elt_property ("note-columns")))) + { + me->suicide (); + return SCM_UNSPECIFIED; + } set_extremities (me); set_control_points (me); return SCM_UNSPECIFIED; @@ -281,7 +285,7 @@ Slur::get_attachment (Score_element*me,Direction dir, Array Slur::get_encompass_offset_arr (Score_element*me) { - Spanner*sp = dynamic_cast(me); + Spanner*sp = dynamic_cast(me); SCM eltlist = me->get_elt_property ("note-columns"); Score_element *common[] = {me->common_refpoint (eltlist,X_AXIS), me->common_refpoint (eltlist,Y_AXIS)}; @@ -371,11 +375,17 @@ Slur::set_spacing_rods (SCM smob) /* Ugh should have dash-length + dash-period */ -MAKE_SCHEME_CALLBACK(Slur,brew_molecule); +MAKE_SCHEME_CALLBACK (Slur, brew_molecule); SCM Slur::brew_molecule (SCM smob) { Score_element * me = unsmob_element (smob); + if (!gh_scm2int(scm_length (me->get_elt_property ("note-columns")))) + { + me->suicide (); + return SCM_EOL; + } + Real thick = me->paper_l ()->get_var ("stafflinethickness") * gh_scm2double (me->get_elt_property ("thickness")); Bezier one = get_curve (me); diff --git a/mutopia/Coriolan/flauti-part.ly b/mutopia/Coriolan/flauti-part.ly index 64c15a8d61..182f57d232 100644 --- a/mutopia/Coriolan/flauti-part.ly +++ b/mutopia/Coriolan/flauti-part.ly @@ -16,7 +16,30 @@ copyright = "public domain"; \score{ \$flauti_staff - \include "coriolan-part-paper.ly" + %\include "coriolan-part-paper.ly" + + \paper { + textheight = 295.0\mm; + linewidth = 180.0\mm; + + % slurs are never beautiful (no steep slurs) + slur_beautiful = 0.0; + + \translator { + \VoiceContext + \remove Slur_engraver; + } + \translator { + \ScoreContext skipBars = ##t + %% URG: this changes dynamics too + %%textStyle = #"italic" + timeSignatureStyle = #"C" + instrumentScriptPadding = #60 %% urg, this is in pt + instrScriptPadding = #40 %% urg, this is in pt + marginScriptHorizontalAlignment = #1 + maximumRestCount = #1 + } + } \include "coriolan-midi.ly" } diff --git a/mutopia/Coriolan/flauti.ly b/mutopia/Coriolan/flauti.ly index 4de0fdd353..9fe7ce0674 100644 --- a/mutopia/Coriolan/flauti.ly +++ b/mutopia/Coriolan/flauti.ly @@ -14,17 +14,18 @@ copyright = "public domain"; \include "flauto-1.ly" \include "flauto-2.ly" -$flauti_staff = \context Staff = flauti < +$flauti_staff = \notes \context Staff = flauti < \property Staff.midiInstrument = #"flute" \property Staff.instrument = #"2 Flauti" \property Staff.instr = #"Fl." - %\notes \context Voice=flauti < - \notes \context Staff=flauti < - \global - \context VoiceOne=flautoi - \$flauto1 - \context VoiceTwo=flautoii - \$flauto2 - > + + \global + + \context Voice=one { \skip 1; } + \context Voice=two { \skip 1; } + + \context Voice=one \partcombine Voice + \context Thread=one \$flauto1 + \context Thread=two \$flauto2 > diff --git a/scm/slur.scm b/scm/slur.scm index dadeb3056c..bf36ed76ac 100644 --- a/scm/slur.scm +++ b/scm/slur.scm @@ -28,6 +28,10 @@ ;; (cons (lambda (slur dir) (begin (display "before head") (newline))#f) #f) + ;; urg: don't crash on a slur without note-columns + (cons (lambda (slur dir) + (< (length (ly-get-elt-property slur 'note-columns)) 1)) 'head) + (cons (lambda (slur dir) ;; urg, code dup (let* ((note-columns (ly-get-elt-property slur 'note-columns))