lilypond-user
[Top][All Lists]
Advanced

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

Re: Cadenza -- I'm missing something


From: Lukas-Fabian Moser
Subject: Re: Cadenza -- I'm missing something
Date: Mon, 16 Aug 2021 13:24:47 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.11.0

Hi Mark,

I don't understand why I am seeing the behaviour I have with the
snippet below. I would expect to see the section marked "G Phrygian" to
have the aes bes and ees marked, but they are not (obviously you are
meant to read them from the earlier bar). How can I force them to show?

In addition to Jean's explanation: Since I often have to create examples like the ones you provided, and LilyPond's treatment of accidentals in cadenzas split up into multiple "bars" started to annoy me too much, I switched to a solution not relying on \cadenzaOn: Instead, I'm using a function that automatically sets the measure length in order to hold the music given as an argument.

(The problem with \accidentalStyle forget being that while it works in your case, it leads to strange results in case the same pitch arises more than once in one bar.)

\version "2.22"

\layout {
  \omit Score.TimeSignature
  \omit Score.BarNumber
  indent = 0
}

oneBar =
#(define-music-function (mus) (ly:music?)
   #{
     \set Timing.measureLength = #(ly:music-length mus)
     \set Timing.measurePosition = #(ly:make-moment 0)
     #mus
   #})

tune = \relative c'' {
  \mark "C Dorian"
  \oneBar { c,1 d1 ees1 f1 g1 a1 bes1 c1 } \bar "||"
  \break
  \mark "A-flat Lydian"
  \oneBar { aes1 bes1 c1 d1 ees1 f1 g1 aes1 } \bar "||"
  \break
  \mark "G Phrygian"
  \oneBar { g,1 aes1 bes1 c1 d1 ees1 f1 g1 } \bar "||"
}

\score {
  <<
    \new Staff \tune
  >>
}

Lukas




reply via email to

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