---

** [issues:#5868] Strange gap behavior with whole-note tremolo beams**

**Status:** New
**Created:** Fri Mar 27, 2020 02:09 PM UTC by Torsten Hämmerle
**Last Updated:** Fri Mar 27, 2020 02:09 PM UTC
**Owner:** Torsten Hämmerle


As reported by Thomas Morley (Harm), the gaps set for whole-note tremolo beams 
will be become greater than actually set in the `Beam.gap` property.
See mail [Strange gap-behaviour with whole-note tremolo 
Beams](http://lilypond.1069038.n5.nabble.com/Strange-gap-behaviour-with-whole-note-tremolo-Beams-tc230975.html).

###Generating test cases

Generated test cases (note the log output) by the following code:

~~~~
\version "2.20.0" 

\paper { ragged-right = ##f indent = 0 } 

#(define (tst gap) 
  #{ 
    \override Beam.after-line-breaking = 
      #(lambda (grob) 
         (let* ((sys (ly:grob-system grob)) 
                (bound-left (ly:spanner-bound grob LEFT)) 
                (bound-right (ly:spanner-bound grob RIGHT)) 
                (left-nc (ly:grob-parent bound-left X)) 
                (right-nc (ly:grob-parent bound-right X)) 
                (left-nc-ext (ly:grob-extent left-nc sys X)) 
                (right-nc-ext (ly:grob-extent right-nc sys X)) 
                (max-beam-length (- (car right-nc-ext) (cdr left-nc-ext))) 
                (x-pos (ly:grob-property grob 'X-positions)) 
                (beam-length (interval-length x-pos))) 
           (format #t "\nApplied gap: ~a, shortens the Beam by: ~a" 
             gap 
             (- max-beam-length beam-length)))) 

    \override Beam.gap = $gap 

    \repeat tremolo  #8 { a'16 a' } 
  #}) 

$@(map (lambda (gap) (tst gap)) (iota 61 0 0.1)) 
~~~~

### Log output

And the relevant log output shows the gaps becoming unproportionally wider and 
wider than actually set as the gap size increases (OK for small gaps, but 
nearly 10 at the end where it should be only 6):

~~~
Applied gap: 0,   shortens the Beam by: 0.0
Applied gap: 0.1, shortens the Beam by: 0.0999999999999943
Applied gap: 0.2, shortens the Beam by: 0.200000000000003
Applied gap: 0.3, shortens the Beam by: 0.299999999999997
Applied gap: 0.4, shortens the Beam by: 0.399999999999999
Applied gap: 0.5, shortens the Beam by: 0.5
Applied gap: 0.6, shortens the Beam by: 0.599999999999994
Applied gap: 0.7, shortens the Beam by: 0.700000000000003
Applied gap: 0.8, shortens the Beam by: 0.799999999999997
Applied gap: 0.9, shortens the Beam by: 0.899999999999999
Applied gap: 1.0, shortens the Beam by: 1.0
Applied gap: 1.1, shortens the Beam by: 1.09999999999999
Applied gap: 1.2, shortens the Beam by: 1.2
Applied gap: 1.3, shortens the Beam by: 1.3
Applied gap: 1.4, shortens the Beam by: 1.4
Applied gap: 1.5, shortens the Beam by: 1.5
Applied gap: 1.6, shortens the Beam by: 1.59999999999999
Applied gap: 1.7, shortens the Beam by: 1.7
Applied gap: 1.8, shortens the Beam by: 1.8
Applied gap: 1.9, shortens the Beam by: 1.9
Applied gap: 2.0, shortens the Beam by: 2.0
Applied gap: 2.1, shortens the Beam by: 2.107998
Applied gap: 2.2, shortens the Beam by: 2.307998
Applied gap: 2.3, shortens the Beam by: 2.507998
Applied gap: 2.4, shortens the Beam by: 2.707998
Applied gap: 2.5, shortens the Beam by: 2.907998
Applied gap: 2.6, shortens the Beam by: 3.107998
Applied gap: 2.7, shortens the Beam by: 3.307998
Applied gap: 2.8, shortens the Beam by: 3.507998
Applied gap: 2.9, shortens the Beam by: 3.707998
Applied gap: 3.0, shortens the Beam by: 3.907998
Applied gap: 3.1, shortens the Beam by: 4.107998
Applied gap: 3.2, shortens the Beam by: 4.307998
Applied gap: 3.3, shortens the Beam by: 4.507998
Applied gap: 3.4, shortens the Beam by: 4.707998
Applied gap: 3.5, shortens the Beam by: 4.907998
Applied gap: 3.6, shortens the Beam by: 5.107998
Applied gap: 3.7, shortens the Beam by: 5.307998
Applied gap: 3.8, shortens the Beam by: 5.507998
Applied gap: 3.9, shortens the Beam by: 5.707998
Applied gap: 4.0, shortens the Beam by: 5.907998
Applied gap: 4.1, shortens the Beam by: 6.107998
Applied gap: 4.2, shortens the Beam by: 6.307998
Applied gap: 4.3, shortens the Beam by: 6.507998
Applied gap: 4.4, shortens the Beam by: 6.707998
Applied gap: 4.5, shortens the Beam by: 6.907998
Applied gap: 4.6, shortens the Beam by: 7.107998
Applied gap: 4.7, shortens the Beam by: 7.307998
Applied gap: 4.8, shortens the Beam by: 7.50799800000001
Applied gap: 4.9, shortens the Beam by: 7.707998
Applied gap: 5.0, shortens the Beam by: 7.907998
Applied gap: 5.1, shortens the Beam by: 8.107998
Applied gap: 5.2, shortens the Beam by: 8.307998
Applied gap: 5.3, shortens the Beam by: 8.50799800000001
Applied gap: 5.4, shortens the Beam by: 8.707998
Applied gap: 5.5, shortens the Beam by: 8.907998
Applied gap: 5.6, shortens the Beam by: 9.107998
Applied gap: 5.7, shortens the Beam by: 9.307998
Applied gap: 5.8, shortens the Beam by: 9.50799800000001
Applied gap: 5.9, shortens the Beam by: 9.707998
Applied gap: 6.0, shortens the Beam by: 9.907998
~~~


### Obviously caused by thickness of the (invisible) stems
When applying  `\override Stem.thickness = #100`, the ridiculously high value 
of 100 will make all the deviations in the above examples disappear.  A value 
of 0, however, will make the deviations start even for lower gap values.



---

Sent from sourceforge.net because [email protected] is 
subscribed to https://sourceforge.net/p/testlilyissues/issues/

To unsubscribe from further messages, a project admin can change settings at 
https://sourceforge.net/p/testlilyissues/admin/issues/options.  Or, if this is 
a mailing list, you can unsubscribe from the mailing list.
_______________________________________________
Testlilyissues-auto mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/testlilyissues-auto

Reply via email to