2018-08-12 3:31 GMT+02:00 Andrew Bernard <andrew.bern...@gmail.com>:
> Hi David,
>
> One way to do it:
>
> \version "2.19"
>
> {
>   <c'\=1( a'\=2^(>8. <d'\=1) b'\=2)>16
> }
>
>
> From the Changes page:
>
> A new command \=X has been added – where ‘X’ can be any non-negative integer
> or symbol – so that a specific ‘id’ can be assigned to the start and end of
> slurs and phrasing slurs.
>
> This is useful when simultaneous slurs are required or if one slur overlaps
> another or when nesting short slurs within a longer one.
>
> Andrew
>
>
>
> On Sun, 12 Aug 2018 at 06:31, David F. <dav...@gmx.us> wrote:
>>
>> While we’re on the topic of bending slurs to our will, I’d like for
>> slurred, beamed eighth notes to have the slur printed below or inside the
>> beam.  This works with a simple ^~ for ties.  How might I accomplish this?
>>

Some background.
Slurred notes or chords will have their left/right bound set to the
respective NoteColumn.
As long as NoteColumns are the bounds, I see no possibility to get
Slurs "inside" of a Beam (with equal direction for both)

In-chord Slurs bounds are NoteHeads.
Thus Andrew's coding above works.

Another possibility would be to reset bounds for certain Slurs from
NoteColumn to selected NoteHead:

#(define (buzz lb rb)
(lambda (grob)
  (let* ((left-bound (ly:spanner-bound grob LEFT))
         (left-nhs-array
           (ly:grob-object left-bound 'note-heads))
         (left-nhs
           (if (ly:grob-array? left-nhs-array)
               (sort
                 (ly:grob-array->list left-nhs-array)
                 (lambda (p q)
                   (ly:pitch<?
                     (ly:prob-property (ly:grob-property p 'cause) 'pitch)
                     (ly:prob-property (ly:grob-property p 'cause) 'pitch))))
               '()))
         (right-bound (ly:spanner-bound grob RIGHT))
         (right-nhs-array
           (ly:grob-object right-bound 'note-heads))
         (right-nhs
           (if (ly:grob-array? right-nhs-array)
               (sort
                 (ly:grob-array->list right-nhs-array)
                 (lambda (p q)
                   (ly:pitch<?
                     (ly:prob-property (ly:grob-property p 'cause) 'pitch)
                     (ly:prob-property (ly:grob-property p 'cause) 'pitch))))
               '())))
    (ly:spanner-set-bound! grob LEFT (list-ref left-nhs lb))
    (ly:spanner-set-bound! grob RIGHT (list-ref right-nhs rb)))))

{
  <g' b'>8[-\tweak before-line-breaking #(buzz 1 1) ^\=1(_\=2(
  <a' c''>]\=1)\=2)
}

Making for a different syntax.

The lower Slur looks nicer, imho
The upper Slur still needs shaping (with \shape or \shapeII or Aaron's
coding or whatever)

Cheers,
  Harm

_______________________________________________
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user

Reply via email to