Sorry, forgot to answer all.
Here again:
2014-02-16 12:15 GMT+01:00 Pierre Perol-Schneider
<[email protected]>:
> Dear Squad,
>
> The following snippet :
> http://lsr.dsi.unimi.it/LSR/Item?id=130
> works partially after v-2.18 update (slur does not show up).
Hi Pierre,
attached you'll find two files:
engraving-symmetric-or-palindromical-music-1.ly
simply uses event-chord-wrap!
engraving-symmetric-or-palindromical-music-2.ly
is a partially new coding to reflect the changes to 'EventChord,
introduced after 2.14.
Choose what you like best. :D
Both have a slightly extended example.
Cheers,
Harm
\version "2.18.0"
#(define (reverse-music music)
(let* ((elements (ly:music-property music 'elements))
(reversed (reverse elements))
(e (ly:music-property music 'element))
(span-dir (ly:music-property music 'span-direction)))
(ly:music-set-property! music 'elements reversed)
(if (ly:music? e)
(ly:music-set-property!
music 'element
(reverse-music e)))
(if (ly:dir? span-dir)
(ly:music-set-property! music 'span-direction (- span-dir)))
(map reverse-music reversed)
music))
reverseMusic =
#(define-music-function (parser location m) (ly:music?)
(reverse-music (event-chord-wrap! m)))
music =
\relative c'' { c4-.\(\cresc\startTrillSpan <d f>4--( e4\startTextSpan f4 }
\score {
\context Voice {
\music
\reverseMusic \music
}
}
\version "2.18.0"
#(define (turn-span-dir music)
(let ((span-dir (ly:music-property music 'span-direction)))
(if (ly:dir? span-dir)
(ly:music-set-property! music 'span-direction (- span-dir))
(music-map
(lambda (mus)
(if (music-is-of-type? mus 'note-event)
(begin
(for-each
(lambda (m)
(if (music-is-of-type? m 'span-event)
(ly:music-set-property! m 'span-direction
(- (ly:music-property m 'span-direction)))
m))
(ly:music-property mus 'articulations))
mus)
mus))
music))))
#(define (reverse-music music)
(let* ((elements (ly:music-property music 'elements))
(reversed (reverse elements))
(e (ly:music-property music 'element)))
(if (not (null? elements))
(ly:music-set-property! music 'elements reversed))
(if (ly:music? e)
(ly:music-set-property!
music 'element
(reverse-music e)))
(turn-span-dir music)
(map reverse-music reversed)
music))
reverseMusic =
#(define-music-function (parser location m) (ly:music?)
(reverse-music m))
music =
\relative c'' { c4-.\(\cresc\startTrillSpan <d f>4--( e4\startTextSpan f4 }
\score {
\context Voice {
\music
\reverseMusic \music
}
}
_______________________________________________
bug-lilypond mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/bug-lilypond