lilypond-devel
[Top][All Lists]
Advanced

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

Re: Fix beamlet pointing wrong way when tuplet 16th beamed with 8th (iss


From: Carl . D . Sorensen
Subject: Re: Fix beamlet pointing wrong way when tuplet 16th beamed with 8th (issue 2113) (issue 5495076)
Date: Sat, 17 Dec 2011 12:54:34 +0000

Reviewers: Keith,

Message:
On 2011/12/17 08:24:10, Keith wrote:
Maybe just restore the old tests (from before the issue 11 fix) with
the comment
  //Try to avoid sticking-out flags

No, that old condition caused other problems in ignoring rhythmic
importance and had beamlets pointing the wrong way.

If this fixes the reported bug then,
1) the triplet 16th has the same rhytmic importance as the 8th note,
which seems
odd

You're right.  It is odd.  It didn't seem odd to me at the time, but I
wasn't thinking straight.  Getting the right rhythmic importance will
fix things.  And I know why it's currently wrong; now I just have to
figure out how to get it right.

2) it won't fix the case where the timing is the other way
{ \times 2/3 { b16 b b } b8 b4  b8 \times 2/3 { b16 b b } b4 }

Thanks for pointing this out.  I *thought* about this case, but didn't
test it.  And in my mind, when the wrong rhythmic importance was right,
it would have worked....


Description:
Fix beamlet pointing wrong way when tuplet 16th beamed with 8th (issue
2113)

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

Affected files:
  A input/regression/beaming-tuplet-regular.ly
  M lily/beaming-pattern.cc


Index: input/regression/beaming-tuplet-regular.ly
diff --git a/input/regression/beaming-tuplet-regular.ly b/input/regression/beaming-tuplet-regular.ly
new file mode 100644
index 0000000000000000000000000000000000000000..7e8e29e679ce9779caaf1582bd5e3c6c6bef6fac
--- /dev/null
+++ b/input/regression/beaming-tuplet-regular.ly
@@ -0,0 +1,13 @@
+\version "2.15.23"
+
+\header {
+
+  texidoc = "
+Beams in a completed tuplet should be continuous.
+"
+}
+
+{
+  \times 2/3 {b16 b b} b8
+}
+
Index: lily/beaming-pattern.cc
diff --git a/lily/beaming-pattern.cc b/lily/beaming-pattern.cc
index 916ec145af96d0e438fe33db217439bc2d68660c..b4e8d5646e406f99a2058b42c07adfc711096c2e 100644
--- a/lily/beaming-pattern.cc
+++ b/lily/beaming-pattern.cc
@@ -101,7 +101,7 @@ Beaming_pattern::flag_direction (Beaming_options const &options, vsize i) const
     return CENTER;

   // If all else fails, point the beamlet away from the important moment.
- return (infos_[i].rhythmic_importance_ <= infos_[i + 1].rhythmic_importance_) + return (infos_[i].rhythmic_importance_ < infos_[i + 1].rhythmic_importance_)
          ? RIGHT : LEFT;
 }






reply via email to

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