lilypond-user
[Top][All Lists]
Advanced

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

Re: Chord glissTweak padding


From: Aaron Hill
Subject: Re: Chord glissTweak padding
Date: Mon, 02 Nov 2020 12:18:26 -0800
User-agent: Roundcube Webmail/1.4.9

On 2020-11-02 11:48 am, Dimitris Marinakis wrote:
Is it possible to modify this tweak to include padding (left & right) for
the individual gliss lines?

[...]

\glissTweak needs to be able to handle using ly:grob-set-nested-property!:

%%%%
glissTweak =
#(define-music-function
  (parser location lst) (pair?)
  (define (proc grob)
    (let ((gliss-count (ly:grob-property grob 'glissando-index)))
      (for-each
       (lambda (x)
         (let ((gliss-nmbr (car x))
               (property-value-alist (cdr x)))
           (if (eq? gliss-nmbr gliss-count)
               (for-each
                (lambda (y)
                  (let ((prop (car y)) (val (cdr y)))
                    (or (list? prop) (set! prop (list prop)))
                    (ly:grob-set-nested-property! grob prop val)))
                property-value-alist))))
       lst)))
  #{ \once \override Glissando.after-line-breaking = #proc
     <>\glissando #})
%%%%

Then you can do something like this:

%%%%
\glissTweak
  #`((0 . ((style . dashed-line)
          ((bound-details right padding) . 2)
          ((bound-details right arrow) . #t)
          (normalized-endpoints . (0 . -2.1))))
     (1 . ((stencil . #f)))
     (2 . ((stencil . #f)))
     (3 . ((stencil . #f)))
     (4 . ((style . dashed-line)
           ((bound-details left padding) . 2)
           ((bound-details left arrow) . #t)
           (normalized-endpoints . (0 . -1.5)))))
<c' e g bes d>2^"\"some other tweaks\""
<d, a' fis' c' e'>
%%%%


-- Aaron Hill



reply via email to

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