2014-02-26 9:57 GMT+01:00 bart deruyter <[email protected]>: > Hi all, >
Hi Bart, > How can I achieve it with lilypond? > > See http://comments.gmane.org/gmane.comp.gnu.lilypond.general/67470 Herewith is a possible solution. Cheers, Pierre
<<attachment: BartGliss.png>>
\version "2.18.0"
#(define (define-grob-custom-property symbol type? description)
(if (not (equal? (object-property symbol 'backend-doc) #f))
(ly:error (_ "symbol ~S redefined") symbol))
(set-object-property! symbol 'backend-type? type?)
(set-object-property! symbol 'backend-doc description)
symbol)
#(define all-user-grob-custom-properties
(map
(lambda (x)
(apply define-grob-custom-property x))
`(
(to-fingerings ,boolean? "boolean for moving glissandi to fingerings")
)))
fingeringSlideEngraver =
#(lambda (context)
(let ((glissandi '())
(fingerings '()))
`((acknowledgers
(glissando-interface
. ,(lambda (engraver grob source-engraver)
(if (eq? #t (ly:grob-property grob 'to-fingerings))
(set! glissandi (append glissandi (list grob))))))
(finger-interface
. ,(lambda (engraver grob source-engraver)
(set! fingerings (append fingerings (list grob))))))
(stop-translation-timestep
. ,(lambda (trans)
(map (lambda (gliss)
(map (lambda (finger)
(if (eq? (ly:spanner-bound gliss LEFT)
(ly:grob-parent finger X))
(ly:spanner-set-bound! gliss LEFT finger))
(if (eq? (ly:spanner-bound gliss RIGHT)
(ly:grob-parent finger X))
(begin
(ly:spanner-set-bound! gliss RIGHT finger)
(set! glissandi (remove (lambda (x) (eq? x gliss)) glissandi)))))
fingerings))
glissandi)
(set! fingerings '()))))))
\layout {
\context {
\Staff
\consists \fingeringSlideEngraver
\omit Clef
\omit TimeSignature
}
}
\new Staff
\transpose c c'
{
\set stringNumberOrientations = #'(left)
\set fingeringOrientations = #'(down)
\override Fingering.add-stem-support = ##t
\time 3/4
s2.
\override Glissando.to-fingerings = ##t
<b-2\3>4
\glissando
\override NoteColumn.glissando-skip = ##t
d' d
\revert NoteColumn.glissando-skip
<a-2> c' d
s4
}
_______________________________________________ lilypond-user mailing list [email protected] https://lists.gnu.org/mailman/listinfo/lilypond-user
