2015-08-18 13:37 GMT+02:00 David Nalesnik <[email protected]>:
> Not sure, but why not something like this? > > \markup > \stencil > #(reduce-right > (lambda (f s) > (ly:stencil-combine-at-edge f X RIGHT s 0)) > empty-stencil > (stils 3)) > > HTH, > David 2015-08-18 23:57 GMT+02:00 Gilles THIBAULT <[email protected]>: > Perhaps you need to redefine ly:stencil-combine-at-edge > according to your needs . > Perhaps something like that : > %%%%%%%%%%%%%%%%% > #(define (stils n) > (map > (lambda (n) > (make-connected-path-stencil > `((0 0) (,n 0) (,n ,n) (0 ,n) (0 0)) > 0.1 > 1 > 1 > #f > #f)) > (iota n 1 1))) > > #(define (my-stencil-combine-at-edge stil1 stil2 . args) > (let ((res (ly:stencil-combine-at-edge stil1 X RIGHT stil2))) > (if (pair? args) > (apply my-stencil-combine-at-edge res (car args) (cdr args)) > res))) > > \markup > \stencil > #(apply my-stencil-combine-at-edge (stils 3)) > > %%%%%%%%%%%%%%%%%% > > -- > Gilles 2015-08-19 0:20 GMT+02:00 Gilles THIBAULT <[email protected]>: > .. or something more general, if you need it : > > #(define ((my-stencil-combine-at-edge axis dir) stil1 stil2 . args) > (let ((res (ly:stencil-combine-at-edge stil1 axis dir stil2))) > (if (pair? args) > (apply (my-stencil-combine-at-edge axis dir) res (car args) (cdr args)) > res))) > > \markup > \stencil > #(apply (my-stencil-combine-at-edge X RIGHT) (stils 3)) > -- > Gilles Hi David and Giles, thanks for all your suggestions. I'll study them carefully. Best, Harm _______________________________________________ lilypond-user mailing list [email protected] https://lists.gnu.org/mailman/listinfo/lilypond-user
