Dear Jan-Peter,
thanks! It was exactly, what I wanted!

Am 23. April 2012 20:10 schrieb Jan-Peter Voigt <jp.vo...@gmx.de>:

> Dear Stefan,
>
> here's a try, that has a parameter dir, which takes a symbol. If the
> symbol equals 'above, the Staff is aligned above, else below:
> --snip--
> \version "2.14.2"
> ossiastaff = #(define-music-function (parser location x dir y) ( string?
> symbol? ly:music? )
>  (let ((align (if (eq? 'above dir) #{ \set Staff.alignAboveContext = $x #}
> #{ \set Staff.alignBelowContext = $x #})))
>   #{
>   \new Staff = "ossia" \with {
>       \override Clef #'stencil = ##f
>      \override KeySignature #'stencil = ##f
>      \override TimeSignature #'stencil = ##f
>      fontSize = #-3
>      \override StaffSymbol #'staff-space = #(magstep -3)
>      \override StaffSymbol #'thickness = #(magstep -3)
>     } {  $align \override PianoStaff.SpanBar #'glyph-name = #":" $y }
>  #}
> ))
>
> \score {
>  \new PianoStaff <<
>    \new Staff="mainstaff" \relative c'' { \time 3/4 \key g \major
>           d4 g,8 a b c d4 g, g
>           << {  e'4  c8 \mordent d e fis g4 g, g   } { \ossiastaff
> "mainstaff" #'above { s4 c32[ b c16.] s4 s4 }  } >>
>    }
>  >>
> }
> \score {
>  \new PianoStaff <<
>    \new Staff="mainstaff" \relative c'' { \time 3/4 \key g \major
>           d4 g,8 a b c d4 g, g
>           << {  e'4  c8 \mordent d e fis g4 g, g   } { \ossiastaff
> "mainstaff" #'below { s4 c32[ b c16.] s4 s4 }  } >>
>    }
>  >>
> }
> --snip--
>
> If you want to use strings "above" and "below", you have to compare them
> with string=?
>
> HTH
> Cheers, Jan-Peter
>
> Am 22.04.2012 um 20:27 schrieb Stefan Thomas:
>
> > Dear community,
> > I've written some scheme-code for making it easier to create
> ossia-staffs.
> > The syntax for the code I've created is \ossiastaff "staffname" { music}
> > It works fine but now it works only for ossia-staffs above. I would
> prefer a syntax like
> > \ossiastaff "staffname" "above" (or below) { music}
> > Here is my code:
> >
> >
> > \version "2.14.2"
> > ossiastaff = #(define-music-function (parser location x y) ( string?
> ly:music?  )
> >   #{
> >    \new Staff = "ossia" \with {
> >      alignAboveContext = $x
> >       \override Clef #'stencil = ##f
> >       \override KeySignature #'stencil = ##f
> >       \override TimeSignature #'stencil = ##f
> >       fontSize = #-3
> >       \override StaffSymbol #'staff-space = #(magstep -3)
> >       \override StaffSymbol #'thickness = #(magstep -3)
> >     } { \override PianoStaff.SpanBar #'glyph-name = #":" $y }
> > #})
> >
> > mainthing = \relative c'' { \time 3/4 \key g \major
> > d4 g,8 a b c d4 g, g
> > <<    {  e'4  c8 \mordent d e fis g4 g, g   } { \ossiastaff "mainstaff" {
> >
> >       s4 c32[ b c16.] s4 s4 }  } >>
> >
> > }
> >
> > \score {
> >   \new PianoStaff <<
> >   \new Staff="mainstaff" \mainthing
> >
> > >>
> > }
> >
> >
> >
> > _______________________________________________
> > 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

Reply via email to