> ---------- Forwarded message ----------
> From: Thomas Morley <[email protected]>
> Date: Fri, 3 Aug 2018 13:17:54 +0200
> Subject: Re: changing symbols used by Measure_grouping_engraver
> 2018-08-03 12:25 GMT+02:00 Torsten Hämmerle <[email protected]>:
> > Flaming Hakama by Elaine wrote
> >> In particular, how to change the symbol used to denote the dotted 8th
> >> value
> >> in compund time:
> >> instead of a triangle, how do I get a vertical bar (or slash)?
> >
>
>
> Here my own attempts: slashes, vertical lines and (just for fun)
> tie-style stencils replacing the triangles
>
> \version "2.19.82"
>
> #(define triangle->slash-stencil
> (lambda (grob)
> (let* ((style (ly:grob-property grob 'style))
> (thickness (ly:grob-property grob 'thickness))
> (staff-line-thick (ly:staff-symbol-line-thickness grob))
> (thick (* thickness staff-line-thick))
> (stil (ly:measure-grouping::print grob))
> (stil-x-ext (ly:stencil-extent stil X))
> (height (ly:grob-property grob 'height)))
> (if (eq? style 'triangle)
> (make-line-stencil
> thick ;width
> (car stil-x-ext) ;startx
> 0 ;starty
> (cdr stil-x-ext) ;endx
> height ;endy
> )
> stil))))
>
> #(define triangle->vertical-line-stencil
> (lambda (grob)
> (let* ((style (ly:grob-property grob 'style))
> (thickness (ly:grob-property grob 'thickness))
> (staff-line-thick (ly:staff-symbol-line-thickness grob))
> (thick (* thickness staff-line-thick))
> (height (ly:grob-property grob 'height)))
> (if (eq? style 'triangle)
> (make-line-stencil
> thick ;width
> ;; 0.5 is my choice, probably catch NoteColumn and take half of
> ;; its extent
> 0.5 ;startx
> 0 ;starty
> 0.5 ;endx
> height ;endy
> )
> ly:measure-grouping::print))))
>
>
> #(define triangle->tie-stencil
> (lambda (grob)
> (let* ((style (ly:grob-property grob 'style))
> (stil (ly:measure-grouping::print grob))
> (stil-x-ext (ly:stencil-extent stil X))
> (length-x (- (cdr stil-x-ext) (car stil-x-ext)))
> (height (ly:grob-property grob 'height)))
> (if (eq? style 'triangle)
> (begin
> (ly:grob-set-property! grob 'control-points
> (list
> (cons 0 0)
> (cons (* 1/3 length-x) height)
> (cons (* 2/3 length-x) height)
> (cons length-x 0)))
> (ly:tie::print grob))
> ly:measure-grouping::print))))
>
> mus =
> \relative c'' {
> \time 9/8
> g8 g d d g g a( bes g) |
> \set Timing.beatStructure = 2,2,2,3
> g8 g d d g g a( bes g) |
> \time 4,5 9/8
> g8 g d d g g a( bes g) |
> \time 5/8
> a4. g4 |
> \set Timing.beatStructure = 3,3,3
> }
>
> \score {
> \new Voice
> {
> \override Staff.MeasureGrouping.stencil =
> #triangle->vertical-line-stencil
> \mus
> \break
> \override Staff.MeasureGrouping.stencil = #triangle->slash-stencil
> \mus
> \break
> \override Staff.MeasureGrouping.stencil = #triangle->tie-stencil
> \mus
> }
> \layout {
> \context {
> \Staff
> \consists "Measure_grouping_engraver"
> }
> }
> }
>
> All the best,
> Harm
>
>
Ding!
Ding!
Ding!
We have a winner!
Thanks you, this works perfectly.
Much appreciated.
Sincerely,
Elaine Alt
415 . 341 .4954 "*Confusion is
highly underrated*"
[email protected]
Producer ~ Composer ~ Instrumentalist
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
_______________________________________________
lilypond-user mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/lilypond-user