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;
}
_______________________________________________
lilypond-devel mailing list
lilypond-devel@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-devel