Hi Takumi, Is this what you want?
\version "2.18.2" tremps = #" 2 setlinewidth 0.07 0.07 scale -10 7 moveto -5 3 5 3 10 7 curveto -10 -7 lineto -5 -3 5 -3 10 -7 curveto stroke " z-trem = #(define-music-function (parser location music) (ly:music?) #{ \override StemTremolo.stencil = #(lambda (grob) (let* ( (dur-log (ly:duration-log (ly:music-property music 'duration))) (dir (ly:grob-property grob 'direction)) ) (grob-interpret-markup grob (markup ( #:translate (cons 0 (if (= 0 dur-log) 0 (if (= UP dir) -0.5 0.5))) #:postscript tremps ) ) ) ) ) $music #} ) \new Staff { \z-trem c'1:32 c''8: f'16: g': c''8: c'4: c''16: } On Thu, Feb 12, 2015 at 12:44 PM, takumi ikeda <i...@de-dicto.net> wrote: > Hello all, > > I am trying the following code but I got "Wrong type: ()" error. > I would like to avoid translating tremolos when the note is whole note. > Writing Scheme is quite difficult for me. Any help would be appreciated. > > Takumi > > >> > > \version "2.18.2" > > tremps = #" > 2 setlinewidth > 0.07 0.07 scale > -10 7 moveto > -5 3 5 3 10 7 curveto > -10 -7 lineto > -5 -3 5 -3 10 -7 curveto > stroke > " > > z-trem = > #(define-music-function (parser location music) (ly:music?) > #{ > \override StemTremolo.stencil = > #(lambda (grob) > (let* ( > (dur-log (ly:grob-property grob 'duration-log)) > (dir (ly:grob-property grob 'direction)) > ) > (grob-interpret-markup grob > (markup > ( > #:translate (cons 0 (if (= 0 dur-log) 0 > (if (= UP dir) -0.5 0.5))) > #:postscript tremps > ) > ) > ) > ) > ) > $music > #} > ) > > > \new Staff { > \z-trem > c'1:32 c''8: f'16: g': c''8: c'4: c''16: > } > > _______________________________________________ > lilypond-user mailing list > lilypond-user@gnu.org > https://lists.gnu.org/mailman/listinfo/lilypond-user >
_______________________________________________ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user