Hi,
im LSR gibt es folgendes Snippet: Easily enter music expressions in markup (http://lsr.di.unimi.it/LSR/Item?id=1029)
Ich habe es ein wenig abgewandelt
\version "2.19.80"
\language "deutsch"
#(define-markup-command (ezscore layout props mus) (ly:music?)
#:properties ((size -3))
(interpret-markup layout props
#{
\markup {
\score {
\new RhythmicStaff { $mus }
\layout {
\context {
\RhythmicStaff
\remove Clef_engraver
\remove Time_signature_engraver
\omit StaffSymbol
fontSize = #size
\override StaffSymbol.staff-space = #(magstep size)
\override StaffSymbol.thickness = #(magstep size)
}
indent = 0
ragged-last = ##t
}
}
}
#}))
zwei=\markup \ezscore ##{ { c8[ c] } #}
drei=\markup \ezscore ##{ \tuplet 3/2 { c8( c) d } #}
swing = \markup \concat { \zwei " = " \drei }
\score {
\new Staff
\new Voice \relative c'
{
\mark \swing
\repeat unfold 32 c4
}
}
Die Größe ist fest verdrahtet #:properties ((size -3)), kann ich die gewünschte Größe als zusätzlichen Parameter übergeben, wenn ja, wie? Meine Versuche sind natürlich gescheitert... :(
ZitatDie Größe ist fest verdrahtet #:properties ((size -3))
Das ist so nicht richtig, vielmehr ist 'size' ein property, welches durch einen entsprechenden override-Befehl für den user einstellbar ist.
Die Syntax ist:
\markup \override #'(property . value) \markup-command ....
Hier, z.B.:
zwei=\markup \override #'(size . 3) \ezscore ##{ { c8[ c] } #}
drei=\markup \override #'(size . 3) \ezscore ##{ \tuplet 3/2 { c8( c) d } #}
swing = \markup \concat { \zwei \fontsize #3 " = " \drei }
HTH,
Harm
Danke Harm.
Weil es dann mit der Formatierung einfacher ist, man kann statt \mark auch \tempo verwenden.