I'll try both as needed... and let you know. --hsm
On Fri, Nov 27, 2009 at 5:34 PM, Nick Payne <[email protected]> wrote: > To get the text repeated on each line, you either comment out last two lines > in the function or change the override value to ##t, I can't remember which. > > Nick > > Hugh Myers wrote: >> >> Is there a way to repeat the text automagically with each wrap? >> >> --hsm >> >> >> On Fri, Nov 27, 2009 at 12:24 PM, Hugh Myers <[email protected]> wrote: >> >>> >>> Lovely! Much thanks Nick--- also nice to have code to examine prior to >>> the point I need to roll my own :) >>> >>> --hsm >>> >>> On Fri, Nov 27, 2009 at 12:20 PM, Nick Payne >>> <[email protected]> wrote: >>> >>>> >>>> Hugh Myers wrote: >>>> >>>>> >>>>> Perhaps I misunderstand your reply, but bar 14(where the problem is) >>>>> has nothing to do with a rest. The text starts where (as you say) I >>>>> wanted it to. That is not the problem. What is the problem is the >>>>> continuation of the spanning text at bar 14--- here it starts outside >>>>> in the margin instead of being aligned beneath a note. Is this >>>>> behavior controllable? >>>>> >>>> >>>> See music function below that I wrote for creating text spanners with >>>> arbitrary text. It allows you to specify as parameters: >>>> >>>> The starting text >>>> The outside staff priority >>>> Whether the spanner is above or below the stave >>>> The amount by which you want to adjust the left and right ends of the >>>> spanner >>>> The amount by which you want to adjust the left and right point at which >>>> the >>>> spanner breaks when it crosses a line break >>>> >>>> % usage e.g.: >>>> % \tspan "sul ponticello" #0 #DOWN #'(0 . -0.5) #5 #1 >>>> % g\startTextSpan c bes' ees, aes c, g c bes' ees, aes c,\stopTextSpan >>>> tspan = #(define-music-function (parser location text osp dirn shorten >>>> adjBreak adjEnd) (string? number? number? pair? number? number?) #{ >>>> % set osp to 999 if spanner is colliding with another element >>>> % this will position the spanner outside all other elements >>>> % can be normally be set to zero >>>> \once \override TextSpanner #'outside-staff-priority = #$osp >>>> \once \override TextSpanner #'bound-details #'left #'text = >>>> \markup\italic\small\bold { \concat { { $text } " " } } >>>> \once \override TextSpanner #'font-shape = #'upright >>>> % direction (either #UP or #DOWN) >>>> \once \override TextSpanner #'direction = #$dirn >>>> % setup dashed line and draw a bracket edge on RHS >>>> \once \override TextSpanner #'dash-period = #1.5 >>>> \once \override TextSpanner #'dash-fraction = #0.3 >>>> \once \override TextSpanner #'thickness = #0.8 >>>> \once \override TextSpanner #'bound-details #'right #'text = \markup { >>>> \draw-line #(cons 0 (/ $dirn -1)) } >>>> % set alignment of line with reference to left text >>>> \once \override TextSpanner #'bound-details #'left >>>> #'stencil-align-dir-y = >>>> #CENTER >>>> \once \override TextSpanner #'bound-details #'left #'padding = #(car >>>> $shorten) >>>> \once \override TextSpanner #'bound-details #'right #'padding = #(cdr >>>> $shorten) >>>> % allow adjustment of line end when it wraps to following stave >>>> \once \override TextSpanner #'bound-details #'right-broken #'padding = >>>> #$adjEnd >>>> % adjust LH end of line when it wraps to following stave so that it >>>> doesn't >>>> % extend to the left of the notes on the stave >>>> \once \override TextSpanner #'bound-details #'left-broken #'X = >>>> #$adjBreak >>>> % optional override to remove text and bracket edge at line breaks >>>> \once \override TextSpanner #'bound-details #'left-broken #'text = ##f >>>> \once \override TextSpanner #'bound-details #'right-broken #'text = ##f >>>> #}) > > _______________________________________________ lilypond-user mailing list [email protected] http://lists.gnu.org/mailman/listinfo/lilypond-user
