|
From: | Abraham Lee |
Subject: | Re: always set beam outside of staff |
Date: | Thu, 8 Sep 2016 12:45:02 -0600 |
On Thu, Sep 8, 2016 at 1:04 PM, tisimst <address@hidden> wrote:
I'm not sure I follow>
>
> On Thu, Sep 8, 2016 at 11:52 AM, David Nalesnik [via Lilypond] <[hidden
> email]> wrote:
>
>> On Thu, Sep 8, 2016 at 7:26 AM, David Nalesnik <[hidden email]> wrote:
>>
>> >
>> > \version "2.19.46"
>> >
>> > #(define my-positions
>> > (lambda (grob)
>> > (let* ((stems (ly:grob-object grob 'stems))
>> > (first-stem (ly:grob-array-ref stems 0))
>> > (dir (ly:grob-property first-stem 'direction)))
>> > (if (eq? dir UP)
>> > (cons 3.5 3.5)
>> > (cons -3.5 -3.5)))))
>> >
>> > {
>> > \override Beam.positions = #my-positions
>> > d'16 [ r16 d'8 ] d'16 [ r16 d'8 ]
>> > d'16 [ r16 d'8 ] d''16 [ r16 d''8 ]
>> > d''16 [ r16 d''8 ] d'16 [ r16 d''8 ]
>> > d''16 [ r16 d''8 ] d'''16 [ r16 d'''8 ]
>> >
>> > r16[d'' d'' d'']
>> > r16[d' d' d']
>> > }
>>
>> The above sets positions to an arbitrary height outside of the staff.
>> We need to consider that setting might be too low/high:
>> \version "2.19.46"
>>
>> #(define my-positions
>> (lambda (grob)
>> (let* ((default-pos (beam::place-broken-parts-individually grob))
>> (left-pos (car default-pos))
>> (right-pos (cdr default-pos))
>> (stems (ly:grob-object grob 'stems))
>> (first-stem (ly:grob-array-ref stems 0))
>> (dir (ly:grob-property first-stem 'direction))
>> (new-pos
>> (if (eq? dir UP)
>> (max 3.5 left-pos right-pos)
>> (min -3.5 left-pos right-pos))))
>> (cons new-pos new-pos))))
>>
>> {
>> \override Beam.positions = #my-positions
>> d'16 [ r16 d'8 ] d'16 [ r16 d'8 ]
>> d'16 [ r16 d'8 ] d''16 [ r16 d''8 ]
>> d''16 [ r16 d''8 ] d'16 [ r16 d''8 ]
>> d''16 [ r16 d''8 ] d'''16 [ r16 d'''8 ]
>>
>> r16[d'' d'' d'']
>> r16[d' f' a']
>> f'' d'' b' g'
>> \stemUp f'' d'' b' g'
>> \stemUp f''' d''' b'' g''
>> }
>
>
> Just a thought, but I wonder if my-positions should accept at least numeric
> input since (I'm just guessing) this value could change from system to
> system? Please ignore this if it doesn't apply.
>
Do you mean the threshold outside-staff position? (+/- 3.5 puts the
beam a little above/below the staff. It would be easy to add that as
a function parameter.)
[Prev in Thread] | Current Thread | [Next in Thread] |