lilypond-user
[Top][All Lists]
Advanced

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

Re: Tweak Slur direction "neutral"


From: Ahanu Banerjee
Subject: Re: Tweak Slur direction "neutral"
Date: Mon, 30 Jan 2023 17:08:54 -0500

Perhaps the documentation could be amended to clarify how neutral direction is handled for slurs? There are two documentation pages here that mention slur orientation but don't describe the calculation that occurs in \slurNeutral:
https://lilypond.org/doc/v2.24/Documentation/notation/direction-and-placement#the-direction-property
https://lilypond.org/doc/v2.24/Documentation/learning/within_002dstaff-objects#the-direction-property

Also, the documentation in the second link states "The value 0 may also be used in some cases. It is simply treated as meaning UP for slurs, but for some objects it means ‘center’." This doesn't seem accurate, as \override Slur.direction = 0 results in an error, not a slur with direction UP.

On Sun, Jan 29, 2023 at 8:40 PM Ahanu Banerjee <athecellist@gmail.com> wrote:
Thank you so much!

-Ahanu 

On Sun, Jan 29, 2023, 20:36 Jean Abou Samra <jean@abou-samra.fr> wrote:
On 30/01/2023 02:20, Ahanu Banerjee wrote:
> When I attempt to change the "direction" property of a slur, whether that is with \tweak or \override, I cannot set the direction to neutral (0). UP (1) and DOWN (-1) work fine, but when setting to 0, I get the following error: 
>
> "Assertion failed: d, file /home/lily/lilypond-2.24.0/release/binaries/mingw/lilypond/lilypond-2.24.0/flower/include/drul-array.hh, line 56
> Exited with return code 3."
>
> This is necessary for a function I am creating; Slur.direction has already been set to UP or DOWN earlier in the document, and I need to temporarily set it to neutral while also changing its color. (\once \slurNeutral is not practical here)
>
> Below is example code that generates the error: 
>
> \version "2.24"
> \language "english"
> { c' d' \tweak Slur.direction #0 ( e' ) c' }
>
> Any suggestions?


You can see with

\void \displayLilyMusic \slurNeutral


that \slurNeutral is not equivalent to \override Slur.direction = #0,
but \revert Slur.direction, which reverts Slur.direction to its default
value #ly:slur::calc-direction. So you want

\version "2.24.0"


\language "english"
{ c' d' \tweak Slur.direction #ly:slur::calc-direction ( e' ) c' }


Jean


reply via email to

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