Autor Thema: hairpinMolto (new Dynamics) in 2.14.2  (Gelesen 1557 mal)

chf

  • Member
hairpinMolto (new Dynamics) in 2.14.2
« am: Sonntag, 13. Januar 2013, 13:46 »
Liebe Freunde,

wenn ich
hairpinWithCenteredText =
#(define-music-function (parser location text) (markup?)
#{
  \override Voice.Hairpin #'stencil = #(lambda (grob)
    (ly:stencil-aligned-to
     (ly:stencil-combine-at-edge
      (ly:stencil-aligned-to (ly:hairpin::print grob) X CENTER)
      Y DOWN
      (ly:stencil-aligned-to (grob-interpret-markup grob text) X CENTER))
     X LEFT))
#})

hairpinMolto = \hairpinWithCenteredText \markup { \italic molto }

in 2.14.2 anwenden will, kommt folgende Fehlermeldung:
ERROR: Unbound variable: text

In 2.16.1. funktioniert alles wunderbar.
Gibt es eine Anpassung?
(Ich habe eine größere Datei, die beim konvertieren auf 2.16.1 ziemlich durcheinanderkommt...)

Gruß
chf

Be-3

  • Member
Re: hairpinMolto (new Dynamics) in 2.14.2
« Antwort #1 am: Sonntag, 13. Januar 2013, 14:08 »
Hallo Christa,

Du mußt einfach nur in der Definition von hairpinWithCenteredText ein $-Zeichen vor die Variable "text" schreiben. Dahingehend hat sich die Syntax mittlerweile geändert.

So muß es für Version 2.14.2 sein (Änderung fett und rot):

hairpinWithCenteredText =
#(define-music-function (parser location text) (markup?)
#{
  \override Voice.Hairpin #'stencil = #(lambda (grob)
    (ly:stencil-aligned-to
     (ly:stencil-combine-at-edge
      (ly:stencil-aligned-to (ly:hairpin::print grob) X CENTER)
      Y DOWN
      (ly:stencil-aligned-to (grob-interpret-markup grob $text) X CENTER))
     X LEFT))
#})


Viele Grüße
Torsten

chf

  • Member
Re: hairpinMolto (new Dynamics) in 2.14.2
« Antwort #2 am: Sonntag, 13. Januar 2013, 15:00 »
Danke, Torsten - sowas hatten wir schon mal in umgekehrter Form, es war mir entfallen.
chf