lilypond-user
[Top][All Lists]
Advanced

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

Re: question about ottava spanner


From: Jinsong Zhao
Subject: Re: question about ottava spanner
Date: Sat, 30 Nov 2019 20:54:53 +0800
User-agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:68.0) Gecko/20100101 Thunderbird/68.2.2



On 2019/11/30 18:56, Thomas Morley wrote:
Am Sa., 30. Nov. 2019 um 02:19 Uhr schrieb Jinsong Zhao
<address@hidden>:

On 2019/11/30 2:23, Thomas Morley wrote:

\ottava works for Staff. You told LilyPond to write your entered
Staff-input one octave below. Thus the OttavaBracket _needs_ to span
the upper Voice (although you tweaked it's direction down)

Though, I somehow doubt that's what you intended ...

Cheers,
    Harm


Thanks a lot. However, I don't understand your reply very well. The
snippet I want to input is something like the attached figure.

BTW, where can I find the reference for every command used in Lilypond?

Thanks again.

Best,
Jinsong

Iiuc, then you want only the bass in the left hand indicated to be
played one octave below, the other chords in the left hand should be
played as written.
I.e. \ottava should target only one Voice of two.
This is impossible per design, because it _always_ works at Staff-level.
Though, there are workarounds. See NR for one:
http://lilypond.org/doc/v2.19/Documentation/notation/displaying-pitches#ottava-brackets

To prevent multiple subsequent OttavaBrackets from joining use setting
`ottavationĀ“
The description is a bit misleading:
"ottavation (markup)
   If set, the text for an ottava spanner. Changing this creates a new
text spanner."
Read it like: As soon as you use it, a new spanner is created, even if
the used markup is _not_ changed, but the same as before.

You may want to use shorten-pair as well.

Leading to:

\version "2.19.83"

{
   \clef bass
   \time 3/4
   <<
   \new Voice {
       \voiceOne
       \set Voice.middleCPosition = #6
       s4
       <b, e g b>2
       s4
       <b, f>2
       \unset Voice.middleCPosition
       }
   \new Voice {
       \voiceTwo
       \once \override Staff.OttavaBracket.shorten-pair = #'(-0.8 . 1.5)
       \ottava #-1
       \set Staff.ottavation = #"8"
       <b,,, b,,>2
       \set Staff.ottavation = #"8"
       q4
       \once \override Staff.OttavaBracket.shorten-pair = #'(-0.8 . 1.5)
       \set Staff.ottavation = #"8"
       q2
       \set Staff.ottavation = #"8"
       q4
       \ottava #0
   }
   >>
}

HTH,
   Harm


Thank you very much for helping. It works well.

And I also try to find the references for those mysterious code, such as OttavaBracket.shorten-pair. It seems that I should refer to the internals document.

Thanks again.

Best,
Jinsong






reply via email to

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