[prev in list] [next in list] [prev in thread] [next in thread]
List: lilypond-devel
Subject: Re: parsing ly code from SCM
From: Nicolas Sceaux <nicolas.sceaux () free ! fr>
Date: 2004-04-25 14:38:54
Message-ID: 874qr8xgu9.fsf () free ! fr
[Download RAW message or body]
--=-=-=
Sun, 25 Apr 2004 15:36:34 +0200, Nicolas a dit :
> #(define (textoffset dx dy)
> #{ \override Voice.TextScript #'extra-offset = #(cons $dx $dy) #})
> #(define (export-lily-expression chr port)
> `(ly:export ,(read port)))
> #(read-hash-extend #\x export-lily-expression)
> \score {
> \notes {
> c'^"normal text"
> ##x(textoffset 3 -4)
> c'^"text with offset hm"
> }
> }
Another example:
--=-=-=
Content-Disposition: inline; filename=with-props.ly
#(use-modules (srfi srfi-1))
#(define (override->revert override-expr)
"Return a revert music expression for `override-expr', or
#f if it's not an override music expression."
(if (ly:music? override-expr)
(let* ((override (ly:music-property override-expr 'element))
(context (ly:music-property override-expr 'context-type))
(property (ly:music-property override 'grob-property))
(layout (ly:music-property override 'symbol)))
(if (and (ly:music? override) context property layout)
#{ \revert $context . $layout #'$property #}
#f))
#f))
#(define (overrides->reverts music)
"Return a sequential music expression with reverts for
each override found in music, which is supposed to be a music
expression"
(make-music 'SequentialMusic
'elements (filter-map override->revert (ly:music-property music 'elements))))
#(define (with-props props)
(lambda (music)
(set! (ly:music-property music 'elements)
(append (ly:music-property props 'elements)
(ly:music-property music 'elements)
(ly:music-property (overrides->reverts props) 'elements)))
music))
#(define thickTransparent
(with-props #{ \override Stem #'thickness = #4
\override Slur #'transparent = ##t #}))
foo = \notes { c'8( d') e'( f') g'4( a') }
\score {
\notes {
\foo
\apply \thickTransparent { \foo }
\foo
}
}
--=-=-=
nicolas
--=-=-=--
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic