In data venerdì 10 luglio 2009 00:08:19, Nick Payne ha scritto:
: > Here are the functions I use for a string number indication with a text
> spanner. One for up, one for down. I suppose it could be simplified to one
> function by passing in an extra parameter to indicate UP or DOWN.
>
> % usage e.g.:
> %   \stringUp "2" #0 #'(0 . -0.5) #5 #1
> %     g\startTextSpan c bf'-> ef, af-> c, g c bf'-> ef, af->
> c,\stopTextSpan
> stringUp = #(define-music-function (parser location stringnum osp shorten
> adjBreak adjEnd) (string? 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
> \bold { \teeny \concat { \circle { \finger $stringnum } " " } }
>       \once \override TextSpanner #'font-shape = #'upright
>       % setup dashed line and draw a bracket edge on RHS
>       \once \override TextSpanner #'dash-period = #0.8
>       \once \override TextSpanner #'dash-fraction = #0.6
>       \once \override TextSpanner #'thickness = #0.8
>       \once \override TextSpanner #'bound-details #'right #'text = \markup
> { \draw-line #'(0 . -0.5) }
>       % 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
> #})
>
> % usage e.g.:
> %   \stringDn "2" #0 #'(0 . -0.5) #5 #1
> %     g\startTextSpan c bf'-> ef, af-> c, g c bf'-> ef, af->
> c,\stopTextSpan
> stringDn = #(define-music-function (parser location stringnum osp shorten
> adjBreak adjEnd) (string? 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 #'direction = #DOWN
>       \once \override TextSpanner #'bound-details #'left #'text = \markup
> \bold { \teeny \concat { \circle { \finger $stringnum } " " } }
>       \once \override TextSpanner #'font-shape = #'upright
>       % setup dashed line and draw a bracket edge on RHS
>       \once \override TextSpanner #'dash-period = #0.8
>       \once \override TextSpanner #'dash-fraction = #0.6
>       \once \override TextSpanner #'thickness = #0.8
>       \once \override TextSpanner #'bound-details #'right #'text = \markup
> { \draw-line #'(0 . 0.5) }
>       % 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
> #})
>
> > -----Original Message-----
> > From: [email protected]
> > [mailto:[email protected]] On
> > Behalf Of Jonathan Kulp
> > Sent: Friday, 10 July 2009 6:49 AM
> > To: Mark Polesky
> > Cc: [email protected]
> > Subject: Re: string-lines
> >
> > Mark Polesky wrote:
> > > You don't need any fancy scheme, just a music-function:
> > > http://lilypond.org/doc/v2.13/Documentation/user/lilypond/Simple-
> >
> > substitution-functions
> >
> >
> > Oh, sweet!  That was about the easiest thing ever! Thanks for the
> > tip, Mark & Neil. :)  This is much more elegant and useful.
> >
> > Revised in LSR:
> >
> > http://lsr.dsi.unimi.it/LSR/Item?u=1&id=616
> >
> > Here's how it looks now (in case you don't want to go to LSR):
> >
> > %\version "2.12.2"
> >
> > stringNumberSpanner = #(define-music-function (parser location
> > StringNumber) (string?)
> >    #{
> >      \override TextSpanner #'style = #'solid
> >      \override TextSpanner #'font-size = #-5
> >      \override TextSpanner #'(bound-details left
> > stencil-align-dir-y) = #CENTER
> >      \override TextSpanner #'(bound-details left text) = \markup {
> > \circle \number $StringNumber }
> >    #})
> >
> >
> > \relative c {
> >    \clef "treble_8"
> >    \stringNumberSpanner "5"
> >    \textSpannerDown
> >    a8\startTextSpan
> >    b c d e f\stopTextSpan
> >    \stringNumberSpanner "4"
> >    g\startTextSpan a
> >    bes4 a g2\stopTextSpan
> > }
> >

È possibile avere il file ly dell'esempio che riporti?
 Il file png è interessante!
 Grazie
> >
> >
> > _______________________________________________
> > lilypond-user mailing list
> > [email protected]
> > http://lists.gnu.org/mailman/listinfo/lilypond-user
> > Checked by AVG - www.avg.com
> > Version: 8.5.375 / Virus Database: 270.13.8/2224 - Release Date:
> > 07/08/09 05:53:00

-- 

oiram/bin/selom
_______________________________________________
lilypond-user mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/lilypond-user

Reply via email to