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