From: Erlend Aasland <erlenda@gmail.com>
Date: Wed, 31 May 2006 01:47:31 +0000 (+0000)
Subject: Fix some bugs in the dynamic engraver and PostScript backend
X-Git-Tag: git/start~395
X-Git-Url: https://git.donarmstrong.com/?a=commitdiff_plain;h=ead7f5fc798e640194cb23d9a50b375af1f08dcd;p=lilypond.git

Fix some bugs in the dynamic engraver and PostScript backend
---

diff --git a/ChangeLog b/ChangeLog
index 82ecabb767..88550130b7 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2006-05-31  Erlend Aasland  <erlenda@gmail.com>
+
+	* dynamic-engraver.cc: fix bug (dynamics collide with accidentals)
+
+	* scm/output-ps.scm (repeat-slash): fix a bug that made repeat slash beams
+	too wide.
+
 2006-05-30  Jan Nieuwenhuizen  <janneke@gnu.org>
 
 	* lily/relocate.cc (read_relocation_dir): Do not blindly
diff --git a/lily/dynamic-engraver.cc b/lily/dynamic-engraver.cc
index 6720e77745..ab242f653c 100644
--- a/lily/dynamic-engraver.cc
+++ b/lily/dynamic-engraver.cc
@@ -61,6 +61,7 @@ class Dynamic_engraver : public Engraver
   void typeset_all ();
 
   TRANSLATOR_DECLARATIONS (Dynamic_engraver);
+  DECLARE_ACKNOWLEDGER (accidental);
   DECLARE_ACKNOWLEDGER (script);
   DECLARE_ACKNOWLEDGER (stem_tremolo);
   DECLARE_ACKNOWLEDGER (note_column);
@@ -386,6 +387,14 @@ Dynamic_engraver::typeset_all ()
 }
 
 
+void
+Dynamic_engraver::acknowledge_accidental (Grob_info info)
+{
+  if (line_spanner_)
+    Side_position_interface::add_support (line_spanner_, info.grob ());
+}
+
+
 void
 Dynamic_engraver::acknowledge_stem_tremolo (Grob_info info)
 {
@@ -459,6 +468,7 @@ Dynamic_engraver::acknowledge_script (Grob_info info)
     Side_position_interface::add_support (line_spanner_, info.grob ());
 }
 
+ADD_ACKNOWLEDGER (Dynamic_engraver, accidental);
 ADD_ACKNOWLEDGER (Dynamic_engraver, script);
 ADD_ACKNOWLEDGER (Dynamic_engraver, note_column);
 ADD_ACKNOWLEDGER (Dynamic_engraver, slur);
diff --git a/scm/output-ps.scm b/scm/output-ps.scm
index d7c55df028..2e8c78e2d5 100644
--- a/scm/output-ps.scm
+++ b/scm/output-ps.scm
@@ -240,7 +240,7 @@
   (define (euclidean-length x y)
     (sqrt (+ (* x x) (* y y))))
 
-  (let ((x-width (euclidean-length slope (/ beam-thickness slope)))
+  (let ((x-width (euclidean-length beam-thickness (/ beam-thickness slope)))
 	(height (* width slope)))
     (format #f "~a draw_repeat_slash"
 	    (numbers->string4 (list x-width width height)))))