Daniel Rosen <drose...@gmail.com> writes: >> -----Original Message----- >> From: Eluze [mailto:elu...@gmail.com] >> Sent: Sunday, January 05, 2014 2:31 PM >> To: lilypond-user@gnu.org >> Subject: Re: Automatic octaves >> >> instead of this (broken) snippet you could use dak's most elegant and short >> proposal: >> >> http://lilypond.1069038.n5.nabble.com/quot-Octave-quot-script-in- >> Frescobaldi-td152801.html#none > > That works great when the variable is invoked outside of a \relative > expression, but not within it. Is there any way to modify the function > so that it can be used this way? > > \version "2.18.0" > myoctavate = > #(define-music-function (parser location music) (ly:music?) > #{ \context Bottom << $music \transpose c c' $music >> #})
You could use dak's most elegant make-relative macro... myoctavate = #(define-music-function (parser location music) (ly:music?) (make-relative (music) music #{ \context Bottom << $music \transpose c c' $music >> #})) \relative { \myoctavate { a b c d } e f g a } -- David Kastrup _______________________________________________ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user