Creating “real” parenthesized dynamics: Difference between revisions
Appearance
mNo edit summary |
mNo edit summary |
||
| Line 1: | Line 1: | ||
Although the easiest way to add parentheses to a dynamic mark is to use a <code>\markup</code> block, this method has a downside: the created objects | Although the easiest way to add parentheses to a dynamic mark is to use a <code>\markup</code> block, this method has a downside: the created objects behave like text markups and not like dynamics. | ||
However, it is possible to create a similar object using the equivalent Scheme code (as described in the Notation Reference), combined with the <code>make-dynamic-script</code> function. This way, the markup | However, it is possible to create a similar object using the equivalent Scheme code (as described in the Notation Reference), combined with the <code>make-dynamic-script</code> function. This way, the markup is regarded as a dynamic and therefore remains compatible with commands such as <code>\dynamicUp</code> or <code>\dynamicDown</code>. | ||
<lilypond version="2.24"> | <lilypond version="2.24"> | ||
| Line 9: | Line 9: | ||
#{ \markup \concat { | #{ \markup \concat { | ||
\normal-text \italic \fontsize #2 ( | \normal-text \italic \fontsize #2 ( | ||
\pad-x #0.2 #(ly:music-property dyn 'text) | |||
\normal-text \italic \fontsize #2 ) | |||
} | } | ||
#})) | #})) | ||
Latest revision as of 08:44, 28 December 2025
Although the easiest way to add parentheses to a dynamic mark is to use a \markup block, this method has a downside: the created objects behave like text markups and not like dynamics.
However, it is possible to create a similar object using the equivalent Scheme code (as described in the Notation Reference), combined with the make-dynamic-script function. This way, the markup is regarded as a dynamic and therefore remains compatible with commands such as \dynamicUp or \dynamicDown.
\version "2.24"
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
}