Crear indicacions dinàmiques "vertaderes" entre parèntesis

Tot i que la manera més fàcil d’afegir parèntesis a una indicació de dinàmica és utilitzar un bloc \markup, aquest mètode té un inconvenient: els objectes que es creen es comportaran com elements de marcatge de text i no com indicacions dinàmiques.

No obstant, és possible crear un objecte utilitzant el codi de l’Scheme equivalent (com s’explica a la Referència de la notació), en combinació amb la funció make-dynamic-script. D’aquesta forma l’element de marcatge es tractarà com una indicació dinàmica, i per tant seguirà sent compatible amb ordre com ara \dynamicUp o \dynamicDown.

paren =
#(define-event-function (dyn) (ly:event?)
   (make-dynamic-script
    #{ \markup \concat {
         \normal-text \italic \fontsize #2 (
	 \pad-x #0.2 #(ly:music-property dyn 'text)
	 \normal-text \italic \fontsize #2 )
       }
    #}))

\relative c'' {
  c4\paren\f c c \dynamicUp c\paren\p
}

[image of music]


Fragments del LilyPond v2.25.15 (branca de desenvolupament).