lilypond-user
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Crescendo after custom dynamic marking


From: David Kastrup
Subject: Re: Crescendo after custom dynamic marking
Date: Mon, 13 Dec 2021 00:19:30 +0100
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux)

Jean Abou Samra <jean@abou-samra.fr> writes:

> Le 12/12/2021 à 22:52, Lukas-Fabian Moser a écrit :
>> Hi Jean,
>>
>>> Use a real dynamic script. These care care of spacing for you.
>>>
>>> \version "2.22.1"
>>>
>>> psubito =
>>> #(make-dynamic-script #{ \markup { p \normal-text \italic "subito" } #})
>>>
>>> { d'16_\psubito \cresc \repeat unfold 14 d'16 d'\f | }
>>
>> Maybe I'm going too far in my belief that "standard tasks best
>> should not require # characters and scheme", but shouldn't we
>> provide a LilyPond syntax interface for this? It's not so uncommon
>> to want custom dynamic expressions after all:
>>
>> dynamic =
>> #(define-music-function (text) (markup?) (make-dynamic-script text))
>>
>> {
>>   c\dynamic sfpmf
>>   c\dynamic \markup { \normal-text \italic subito f }
>> }
>
>
>
> I was thinking exactly along the same lines ;-)
>
> I would approve a patch adding this function.

One could cheat: make-dynamic-script is currently defined as

#(define (make-dynamic-script str)
   (make-music 'AbsoluteDynamicEvent
              'text str))

and one could instead define it as

make-dynamic-script =
#(define-event-function (str) (ly:markup?)
   (make-music 'AbsoluteDynamicEvent 'text str))

which would retain the old functionality while also providing

\make-dynamic-script

which of course does not follow naming conventions.  Sigh.  At any rate,
it should be defined using define-event-function rather than
define-music-function .

-- 
David Kastrup



reply via email to

[Prev in Thread] Current Thread [Next in Thread]