lilypond-user
[Top][All Lists]
Advanced

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

Re: "loco" after ottava


From: Jean Abou Samra
Subject: Re: "loco" after ottava
Date: Sat, 3 Dec 2022 13:53:02 +0100
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.5.0

[Valentin]

The OttavaBracket looks like a line-spanner, but it isn’t! It doesn’t even
follow the spanner interface (between notes)


It does ...? OttavaBracket is not an item, therefore it is a spanner.
Anything with bounds is a spanner (and consequently has spanner-interface).


If for example we were to transpose the part up we would want to extend the
ottava indication so it also encompasses some notes marked as loco. If we were
to transpose it down we might not use the ottave indication at all (or only
for a shorter section), but we would still put the loco in the same place.


I don't understand. The purpose of "loco" is to remind
that the ottavation indication has ended and notes are
played at their normal octave.


So why not do it like this:

{
   c'' e'' g'' c'''
   \ottava #1
   e''' g''' c''''2
   g'''4 c'''' g'''2
   \ottava #0
   c'''4^\markup\italic"loco" g'' e'' c''
}



Agreed.


Le 03/12/2022 à 13:26, Thomas Morley a écrit :
Hi Joel,

as Jean and Valentin already said, use simple TextScript to indicate
"loco", although it is indeed superfluous.
To be complete, it is possible to make your override work.
Switch OttavaBracket.stencil to ly:line-spanner::print. NR has a
snippet for the method.
Adapted to the case at hand:

\version "2.23.0"


2.23.80, I suppose? horizontal-line-spanner is new in 2.23.6.


ottavaBracketLineSpanner = {
   \override Staff.OttavaBracket.stencil = #ly:line-spanner::print
   \override Staff.OttavaBracket.bound-details =
     #`((left . ((Y . 0)
                 (attach-dir . ,LEFT)
                 (padding . 0)
                 (stencil-align-dir-y . ,CENTER)))
        (right . ((Y . 0)
                  (padding . 0)
                  (attach-dir . ,RIGHT)
                  (stencil-align-dir-y . ,CENTER))))
   \override Staff.OttavaBracket.left-bound-info =
      #ly:horizontal-line-spanner::calc-left-bound-info-and-text
   \override Staff.OttavaBracket.right-bound-info =
      #ly:horizontal-line-spanner::calc-right-bound-info
}

{
   r4
   \ottavaBracketLineSpanner
%% Format "loco" with usual markup-commands to taste
   \override Staff.OttavaBracket.bound-details.right.text = "loco"
   \ottava 1
   c''' d''' e''' |
   \ottava 0
   r e' d' c'
}

Though, I don't see a good way to place the end of the OttavaBracket
in a pleasing way. The downpointing hook at line-end is gone as well.
Even if you extend the "loco"-markup to print it, it's not convincing,
imho.


Agreed, note^"loco" is the way to go.


Furthermore, the snippet from NR as well as the one above emit several
programming errors if compiled with -dcheck-internal-types

Btw, I can't find -dcheck-internal-types in the 2.23.-docs any more
and was not able to find out why.

Anyone with more insight?



In such cases, use

$ git log -S "check-internal-types"


You will find that there was


commit a1dead391ed016a8aefd1be7fb62946e094b4535
Author: Han-Wen Nienhuys <hanwenn@gmail.com>
Date:   Sat Feb 26 12:19:32 2022 +0100

    Add internal/external distinction to -d flags


then


commit 264570e68ea13b06c1b9dd88c491948979926aa1
Author: Han-Wen Nienhuys <hanwenn@gmail.com>
Date:   Sun Apr 3 12:45:51 2022 +0200

    Documentation: remove documentation for internal options


Best,
Jean

Attachment: OpenPGP_signature
Description: OpenPGP digital signature


reply via email to

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