CVSROOT:        /cvsroot/lilypond
Module name:    lilypond
Branch:         
Changes by:     Han-Wen Nienhuys <[EMAIL PROTECTED]>    05/08/04 14:46:00

Modified files:
        .              : ChangeLog 
        lily           : beam.cc spacing-engraver.cc spacing-spanner.cc 
        ly             : engraver-init.ly 
        scm            : define-grobs.scm 

Log message:
        (shift_region_to_valid): divide by zero fix. This
        fixes beams with a single stem (eg. beams across linebreaks.)

CVSWeb URLs:
http://savannah.gnu.org/cgi-bin/viewcvs/lilypond/lilypond/ChangeLog.diff?tr1=1.3955&tr2=1.3956&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/lilypond/lilypond/lily/beam.cc.diff?tr1=1.305&tr2=1.306&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/lilypond/lilypond/lily/spacing-engraver.cc.diff?tr1=1.73&tr2=1.74&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/lilypond/lilypond/lily/spacing-spanner.cc.diff?tr1=1.146&tr2=1.147&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/lilypond/lilypond/ly/engraver-init.ly.diff?tr1=1.240&tr2=1.241&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/lilypond/lilypond/scm/define-grobs.scm.diff?tr1=1.217&tr2=1.218&r1=text&r2=text

Patches:
Index: lilypond/ChangeLog
diff -u lilypond/ChangeLog:1.3955 lilypond/ChangeLog:1.3956
--- lilypond/ChangeLog:1.3955   Thu Aug  4 13:36:42 2005
+++ lilypond/ChangeLog  Thu Aug  4 14:46:00 2005
@@ -1,5 +1,8 @@
 2005-08-04  Han-Wen Nienhuys  <[EMAIL PROTECTED]>
 
+       * lily/beam.cc (shift_region_to_valid): divide by zero fix. This
+       fixes beams with a single stem (eg. beams across linebreaks.)
+
        * lily/parser.yy (simple_string): allow \new STRING_IDENTIFIER.
 
        * flower/rational.cc (operator +): prevent overflow. This fixes
Index: lilypond/lily/beam.cc
diff -u lilypond/lily/beam.cc:1.305 lilypond/lily/beam.cc:1.306
--- lilypond/lily/beam.cc:1.305 Sun Jul 24 19:31:02 2005
+++ lilypond/lily/beam.cc       Thu Aug  4 14:46:00 2005
@@ -941,7 +941,7 @@
 
   Real dy = pos[RIGHT] - pos[LEFT];
   Real y = pos[LEFT];
-  Real slope = dy / dx;
+  Real slope = dx ? (dy / dx) : 0.0;
 
   /*
     Shift the positions so that we have a chance of finding good
Index: lilypond/lily/spacing-engraver.cc
diff -u lilypond/lily/spacing-engraver.cc:1.73 
lilypond/lily/spacing-engraver.cc:1.74
--- lilypond/lily/spacing-engraver.cc:1.73      Thu Aug  4 01:01:12 2005
+++ lilypond/lily/spacing-engraver.cc   Thu Aug  4 14:46:00 2005
@@ -145,7 +145,6 @@
      return; 
    }
   
-  
   Moment shortest_playing;
   shortest_playing.set_infinite (1);
   for (int i = 0; i < playing_durations_.size (); i++)
Index: lilypond/lily/spacing-spanner.cc
diff -u lilypond/lily/spacing-spanner.cc:1.146 
lilypond/lily/spacing-spanner.cc:1.147
--- lilypond/lily/spacing-spanner.cc:1.146      Thu Aug  4 01:01:12 2005
+++ lilypond/lily/spacing-spanner.cc    Thu Aug  4 14:46:00 2005
@@ -414,6 +414,11 @@
       compound_fixed /= wish_count;
     }
 
+  if (options->uniform_ && l->break_status_dir () != RIGHT)
+    {
+      compound_fixed = 0.0;
+    }
+  
   assert (!isinf (compound_space));
   compound_space = max (compound_space, compound_fixed);
 
Index: lilypond/ly/engraver-init.ly
diff -u lilypond/ly/engraver-init.ly:1.240 lilypond/ly/engraver-init.ly:1.241
--- lilypond/ly/engraver-init.ly:1.240  Wed Aug  3 13:03:57 2005
+++ lilypond/ly/engraver-init.ly        Thu Aug  4 14:46:00 2005
@@ -116,16 +116,14 @@
 \context{
   \type "Engraver_group_engraver"
   
-  \consists "Output_property_engraver" 
-
   minimumVerticalExtent = ##f
   extraVerticalExtent = ##f
   verticalExtent = ##f 
   localKeySignature = #'()
+  createSpacing = ##t
 
-  \consists "Pitch_squash_engraver"
+  
   squashedPosition = #0
-  \consists "Separating_line_group_engraver"   
   \name RhythmicStaff
   \alias "Staff"
   
@@ -135,19 +133,25 @@
   \override StaffSymbol #'line-count = #1      
 
   \override Stem  #'neutral-direction = #1
-  \override Beam  #'neutral-direction = #1     
-  %%   \consists "Repeat_engraver"
-  \consists "Dot_column_engraver"
+  \override Beam  #'neutral-direction = #1
+  
+  \consists "Output_property_engraver"
+  \consists "Font_size_engraver"
   \consists "Volta_engraver"
+  \consists "Separating_line_group_engraver"   
+  \consists "Dot_column_engraver"
   \consists "Bar_engraver"
-  \consists "Time_signature_engraver"
-  \consists "Staff_symbol_engraver"
   \consists "Ledger_line_engraver" 
+  \consists "Staff_symbol_engraver"
+  \consists "Pitch_squash_engraver"
+  \consists "Time_signature_engraver"
   \consists "Instrument_name_engraver"
   \consists "Axis_group_engraver"
+  
   \accepts "Voice"
   \accepts "CueVoice"
   \defaultchild "Voice"
+
   \description  "
     A context like @code{Staff} but for printing rhythms.  Pitches are
     ignored; the notes are printed on one line.  
Index: lilypond/scm/define-grobs.scm
diff -u lilypond/scm/define-grobs.scm:1.217 lilypond/scm/define-grobs.scm:1.218
--- lilypond/scm/define-grobs.scm:1.217 Wed Aug  3 18:23:47 2005
+++ lilypond/scm/define-grobs.scm       Thu Aug  4 14:46:00 2005
@@ -660,11 +660,11 @@
        (space-alist . (
                        (custos . (extra-space . 0.0))
                        (ambitus . (extra-space . 2.0))
-                       (time-signature . (extra-space . 0.0))
+                       (time-signature . (extra-space . 1.0))
                        (staff-bar . (extra-space . 0.0))
                        (breathing-sign . (minimum-space . 0.0))
                        (clef . (extra-space . 0.8))
-                       (first-note . (fixed-space . 1.0))
+                       (first-note . (fixed-space . 2.0))
                        (right-edge . (extra-space . 0.0))
                        (key-signature . (extra-space . 0.0))
                        (key-cancellation . (extra-space . 0.0))


_______________________________________________
Lilypond-cvs mailing list
Lilypond-cvs@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-cvs

Reply via email to