lilypond-user
[Top][All Lists]
Advanced

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

Re: old school style of parenthesised ties or slurs possible ?.


From: Eby Mani
Subject: Re: old school style of parenthesised ties or slurs possible ?.
Date: Tue, 24 Sep 2019 04:22:24 +0000 (UTC)

>How about below?
>After http://lsr.di.unimi.it/LSR/Item?id=771

>\version "2.18.2"
>.......
>.......
>\parBow #'(0.2 0.2 0.5) Tie b'1~ b

Brilliant !!!, Many thanks Harm.

My understanding of the above values as follows, correct me if wrong.

\parBow #'(starting/ending-space-from-the-note | spacing-between-tie&parenthesis | vertical-spacing-of-tie&parenthesis)


eby
On Tuesday, 24 September, 2019, 2:29:44 AM IST, Thomas Morley <address@hidden> wrote:


Am Mo., 23. Sept. 2019 um 18:56 Uhr schrieb Eby Mani via lilypond-user
<address@hidden>:
>
>
> examples, the ties float within the parenthesis, slightly above the notes. Lillypond ties almost touch both notes.
>
> eby
> On Monday, 23 September, 2019, 9:03:58 AM IST, Andrew Bernard <address@hidden> wrote:
>
>
> Provide an example picture.
>
> Andrew
>
> On Mon., 23 Sep. 2019, 12:36 pm Eby Mani via lilypond-user, <address@hidden> wrote:
>
> Is there a snippet for "2.18.2" to add old school style of parenthesised ties or slurs as found on old 19th century editions ?.
>
> Thanks,
> eby

How about below?
After http://lsr.di.unimi.it/LSR/Item?id=771

\version "2.18.2"

#(define (parenthesize-bow shorten-padding-y)
  (lambda (grob)
  (let* ((cps (ly:grob-property grob 'control-points))
          ;; `val´ shortens the Tie at left and right side
          (val (car shorten-padding-y))
          ;; `pad´ is the amount of padding betnween Tie and the
          ;; text-brackets
          (pad (cadr shorten-padding-y))
          ;; `y´ moves the entire Tie
          (y (last shorten-padding-y))
          (new-cps
            (map
              coord-translate
              cps

              (list

                (cons val y)(cons val y)(cons (- val) y)(cons (- val) y))))
          (basic-props (ly:grob-basic-properties grob))
          (stil-proc (assoc-get 'stencil basic-props))
          ;; compensate font-size of Tie
          ;; mmh, hard-coded :(
          (font-size
            (if (grob::has-interface grob 'tie-interface)
                0 -6)))
  (ly:grob-set-property! grob 'control-points new-cps)
  (ly:grob-set-property! grob 'stencil
    (ly:stencil-add
      (stil-proc grob)
      (ly:stencil-translate
        (centered-stencil
          (grob-interpret-markup grob #{ \markup \fontsize #font-size "(" #}))
        (coord-translate (car new-cps) `(,(- pad) . 0)))
      (ly:stencil-translate
        (centered-stencil
          (grob-interpret-markup grob #{ \markup \fontsize #font-size ")" #}))
        (coord-translate (last new-cps) `(,pad . 0))))))))

parBow =
#(define-music-function (parser location shorten-padding-y bow mus)
  (list? string? ly:music?)
#{
  \once \override $bow . after-line-breaking =
    #(parenthesize-bow shorten-padding-y)
  $mus
#})


\relative c' {
  \parBow #'(0.2 0.2 0) Tie
  b1~ b
  \parBow #'(0.2 0.2 0.5) Tie
  b'1~ b
  \parBow #'(0.2 0.2 -0.3) Slur
  b,( f')
  \parBow #'(0.2 0.2 -0.3) PhrasingSlur
  f\( b,\)

  \parBow #'(0.2 0.2 0) Tie
  b1~ \break b
}


Cheers,
  Harm

reply via email to

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