Music expressions in MarkUps mit variabler Größe - wie?

Begonnen von Manuela, Mittwoch, 14. November 2018, 16:42

« vorheriges - nächstes »

Manuela

Hi,

im LSR gibt es folgendes Snippet: Easily enter music expressions in markup

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...  :(
Danke für eure Hilfe
viele Grüße
-- Manuela

harm6

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

Manuela

Danke für eure Hilfe
viele Grüße
-- Manuela

Hilflos-im-Code

Weil es dann mit der Formatierung einfacher ist, man kann statt \mark auch \tempo verwenden.