thanks Thomas, it works greatly and imho it should be added to the snippets repo
--- Dom 25/12/11, Thomas Morley <[email protected]> ha scritto: > Da: Thomas Morley <[email protected]> > Oggetto: Re: Slashed beam > A: "Paolo Prete" <[email protected]> > Cc: [email protected] > Data: Domenica 25 dicembre 2011, 01:41 > Hi Paolo, > > 2011/12/25 Paolo Prete <[email protected]>: > > Unfortunately the snippet doesn't work (--> wrong > slash position) if I \override Stem #'direction = #down > > > > In addition, the example I linked gives me more > control of the slash (offset, length etc.) > > > > --- Dom 25/12/11, James <[email protected]> > ha scritto: > > > >> Da: James <[email protected]> > >> Oggetto: Re: Slashed beam > >> A: "Paolo Prete" <[email protected]> > >> Cc: [email protected] > >> Data: Domenica 25 dicembre 2011, 00:51 > >> Hello, > >> > >> On 24 December 2011 23:46, Paolo Prete <[email protected]> > >> wrote: > >> > Hi, > >> > > >> > is there a way to have a slash on the beam of > a > >> _sequence_ of notes? > >> > > >> > Something like a slash for an acciaccatura > with > >> multiple notes, but intended for normal (not > acciaccatura) > >> notes. > >> > > >> > This piece of code wuold be very useful, but > it > >> doesn't compile on 2.15.21 > >> > > >> > http://lists.gnu.org/archive/html/lilypond-user/2007-04/msg00422.html > >> > > >> > At least, how can I modify it so to compile > it? > >> > > >> > >> > >> http://lsr.dsi.unimi.it/LSR/Item?id=721 > >> > >> ? > >> > >> (works on latest 2.15 code) > >> > >> > >> -- > >> -- > >> > >> James > > this should compile (tested with "2.15.20"): > > \version "2.15.20" > > \layout { > ragged-right = ##f > point-and-click = ##f > } > > %% Arguments to Makeslash (all numbers are in staff > units): > %% > %% #1: angle > %% #2: length of the left half of the slash > %% #3: length of the right half of the slash > %% #4: thickness > %% #5: factor to shift the slash relative to the stem > (+1/-1 = > attached to top/bottom) > %% #6: offset as a pair (x-offset, y-offset) > %% > %% Values other than +/-1 in arguments #5 and #6 are > interpolated. > > MakeSlash = #(define-music-function (parser location angle > len-left > len-right thick y-factor offset) > > > (number? number? number? number? > number? pair?) > #{ > \once \override Voice.Stem #'text = \markup { > \postscript #(let ((x-off (car offset)) > > (y-off (cdr offset))) > (string-append > (ly:number->string (car offset)) " " > (ly:number->string (cdr > offset)) " translate " > (ly:number->string angle) " rotate " > (ly:number->string (- x-off)) " " > (ly:number->string (- y-off)) " translate > 0 setlinewidth " > (ly:number->string (- x-off > len-left)) " " (ly:number->string (+ > y-off thick)) " moveto " > (ly:number->string (- x-off > len-left)) " " (ly:number->string y-off) > > > " " > (ly:number->string > thick) " 90 270 arc " > (ly:number->string (+ x-off len-right)) " > " (ly:number->string y-off) > > > " " > (ly:number->string > thick) " 270 90 arc " > > > " gsave > fill grestore stroke")) } > > \once \override Voice.Stem #'stencil = #(lambda (grob) > (let* ((sten1 (ly:stem::print grob)) > (sten2 > (ly:text-interface::print grob)) > (extent1 > (ly:stencil-extent sten1 Y)) > (extent2 > (ly:stencil-extent sten2 Y))) > (ly:stencil-add > sten1 > (ly:stencil-translate sten2 > > (cons 0 (+ > (* y-factor (cdr extent1)) > > > (* (- 1 y-factor) > (car extent1)))))))) > #}) > > > > slash = { \MakeSlash #40 #1.5 #3.0 #0.15 #1.0 #'(0 . 0) } > > \relative c' > { > \slash c16[ > \slash b'] > > \MakeSlash #-20 #2.0 #1.0 #0.05 #0.75 #'(0 . > 0) > f2 > r8 > r4 > } > > But it is a little uncomfortable. :) > > HTH, > Harm > _______________________________________________ lilypond-user mailing list [email protected] https://lists.gnu.org/mailman/listinfo/lilypond-user
