lilypond-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Prevents Beam vs Flag collisions (issue 5527047)


From: mtsolo
Subject: Re: Prevents Beam vs Flag collisions (issue 5527047)
Date: Sat, 07 Jan 2012 15:19:58 +0000

Reviewers: lemzwerg,

Message:
On 2012/01/07 15:18:07, lemzwerg wrote:
LGTM.  Will test soon.

http://codereview.appspot.com/5527047/diff/1/lily/lily-guile.cc
File lily/lily-guile.cc (left):


http://codereview.appspot.com/5527047/diff/1/lily/lily-guile.cc#oldcode573
lily/lily-guile.cc:573: int i = scm_to_int (k);
Please apply this cosmetic patch directly to the repository; I think
it doesn't
belong to the rest of the patch set.

Sorry ... I have no clue why this is here.
Will get rid of it.

Description:
Prevents Beam vs Flag collisions

Please review this at http://codereview.appspot.com/5527047/

Affected files:
  A input/regression/beam-collision-flag.ly
  M lily/beam-collision-engraver.cc
  M lily/lily-guile.cc


Index: input/regression/beam-collision-flag.ly
diff --git a/input/regression/beam-collision-flag.ly b/input/regression/beam-collision-flag.ly
new file mode 100644
index 0000000000000000000000000000000000000000..beed7315ab283458b5e4184fd587724c4f78d352
--- /dev/null
+++ b/input/regression/beam-collision-flag.ly
@@ -0,0 +1,11 @@
+\version "2.15.24"
+
+\header {
+  texidoc = "Beams do not collide with flags.
+"
+}
+
+\relative c' <<
+  { \voiceOne c'8 r } \\
+  { \voiceThree c,8.[ c'16] }
+>>
Index: lily/beam-collision-engraver.cc
diff --git a/lily/beam-collision-engraver.cc b/lily/beam-collision-engraver.cc index 8e397508b79df7aa092516598a6e5df8fcb653b0..aec586157bbb5104964b7c6a482b978d516ba93b 100644
--- a/lily/beam-collision-engraver.cc
+++ b/lily/beam-collision-engraver.cc
@@ -37,6 +37,7 @@ protected:
   DECLARE_ACKNOWLEDGER (key_signature);
   DECLARE_ACKNOWLEDGER (time_signature);
   DECLARE_ACKNOWLEDGER (beam);
+  DECLARE_ACKNOWLEDGER (flag);

   virtual void finalize ();

@@ -171,6 +172,12 @@ Beam_collision_engraver::acknowledge_time_signature (Grob_info i)
 }

 void
+Beam_collision_engraver::acknowledge_flag (Grob_info i)
+{
+  covered_grobs_.push_back (i);
+}
+
+void
 Beam_collision_engraver::acknowledge_beam (Grob_info i)
 {
   beams_.push_back (i);
@@ -185,6 +192,7 @@ ADD_ACKNOWLEDGER (Beam_collision_engraver, accidental);
 ADD_ACKNOWLEDGER (Beam_collision_engraver, clef);
 ADD_ACKNOWLEDGER (Beam_collision_engraver, key_signature);
 ADD_ACKNOWLEDGER (Beam_collision_engraver, time_signature);
+ADD_ACKNOWLEDGER (Beam_collision_engraver, flag);
 ADD_ACKNOWLEDGER (Beam_collision_engraver, beam);

 ADD_TRANSLATOR (Beam_collision_engraver,
Index: lily/lily-guile.cc
diff --git a/lily/lily-guile.cc b/lily/lily-guile.cc
index cc71dcba2ceff4ece9258e6f3da0208ad2aaf6d1..6035a91983303d6284e83d4660c4ada853ef7514 100644
--- a/lily/lily-guile.cc
+++ b/lily/lily-guile.cc
@@ -570,9 +570,9 @@ robust_scm2vsize (SCM k, vsize o)
 {
   if (scm_integer_p (k) == SCM_BOOL_T)
     {
-      int i = scm_to_int (k);
-      if (i >= 0)
-        return (vsize) i;
+      o = scm_to_int (k);
+      if (o >= 0)
+        return (vsize) o;
     }
   return o;
 }





reply via email to

[Prev in Thread] Current Thread [Next in Thread]