[JW Lua] Bug: Rests under beams with CalcBeamStartEntry() and CalcBeamedGroupEnd()

Thomas Weber thomas.weber at notengrafik.com
Fri Jul 29 19:37:30 CEST 2016


Dear Jari,

I didn't find anything about this in earlier posts, so here's my bug report.

CalcBeamStartEntry() and CalcBeamedGroupEnd() show some weird behavior if there are rests under a beam.  I can't really observe a pattern that tells me when it's safe to rely on the results when it isn't.

I can observe the following behavior in a beamed group of four entries.  I'll abbreviate and number the entries (n for notes, r for rests).

n1 n2 n3 n4
n1 n2 n3 r4
n1 n2 r3 r4
r1 r2 n3 n4
n1 r2 r3 r4
  No flaws.

n1 n2 r3 n4
  n1 is returned when called on n1 or r2. nil is returned when called on r3 or n4.
  CalcBeamedGroupEnd() wrongly returns false when called on n4.

n1 r2 n3 n4
  nil is returned when called on n1 or r2. n3 is returned when called on n3 or n4.

r1 n2 n3 n4
  nil is returned when called on r1. n2 is returned when called on n2, n3 or n4

n1 r2 n3 r4
  nil is returned when called on r1 or n2. n3 is returned when called on n3 or r4.

r1 n2 n3 r4
  nil is returned when called on r1. n2 is returned when called on n2, n3 or r4.
  CalcBeamedGroupEnd() wrongly returns false when called on r4.

n1 r2 r3 n4
  nil is returned when called on n1. r2 is returned when called on r2, r3 or n4.
  CalcBeamedGroupEnd() wrongly returns false when called on n4.

r1 n2 r3 n4
  nil is returned when called on r1 or r3. n2 is returned when called on itself, just like n4 when called on itself
  CalcBeamedGroupEnd() wrongly returns false when called on n4.

r1 n2 r3 r4
  nil is returned when called on r1. n2 is returned when called on n2, r3 or r4.
  CalcBeamedGroupEnd() wrongly returns false when called on r4.

r1 r2 n3 r4
  CalcBeamedGroupEnd() wrongly returns false when called on r4.

r1 r2 r3 n4
  CalcBeamedGroupEnd() wrongly returns false when called on n4.


I don't really see a clear pattern there.  So ATM, one probably needs to resort to BeamBeat for detecting beams.

Thomas



More information about the JWLua mailing list