Le 07/11/2022 à 08:23, Tom Campbell a écrit :
Using a rootless version of C13 in the piano left hand makes Lilypond call it an E variant. I can't figure out how to override chord names so I'm using markup, like this. What am I doing wrong?



How about this:

\version "2.22.2"

leftHand = \relative c, {
  \clef bass
  \key c \major
  \time 4/4
  \once \override ChordName.text = "C13"
  <e' a bes d>4
  \once \override ChordName.text = "C13"
  <e a bes d>4
  \once \override ChordName.text = "F13"
  <ees g a  d>
  \once \override ChordName.text = "F13"
  <ees g a  d>
}

<<
  \new ChordNames \leftHand
  \new Staff = "lower" \leftHand
>>


You can also shorten the command:

\version "2.22.2"

chordText =
  \once \override ChordName.text = \etc

leftHand = \relative c, {
  \clef bass
  \key c \major
  \time 4/4
  \chordText "C13"
  <e' a bes d>4
  \chordText "C13"
  <e a bes d>4
  \chordText "F13"
  <ees g a  d>
  \chordText "F13"
  <ees g a  d>
}

<<
  \new ChordNames \leftHand
  \new Staff = "lower" \leftHand
>>


See
https://lilypond.org/doc/v2.22/Documentation/notation/substitution-function-examples
about \etc.

Alternatively, you could use tags to change the chord notes
for the ChordNames context while keeping the correct notes
for the piano part.

\version "2.22.2"

\tagGroup piano,chordNames

leftHand = \relative c, {
  \clef bass
  \key c \major
  \time 4/4
  \tag piano {
    <e' a bes d>4
    q
  }
  \tag chordNames {
    <c e g a'>
    q
  }
  \tag piano {
    <ees g a d>
    q
  }
  \tag chordNames {
    <f, a c d'>
    q
  }
}

<<
  \new ChordNames \keepWithTag chordNames \leftHand
  \new Staff = "lower" \keepWithTag piano \leftHand
>>


See the documentation for tags:
https://lilypond.org/doc/v2.22/Documentation/notation/different-editions-from-one-source

Best,
Jean

Attachment: OpenPGP_signature
Description: OpenPGP digital signature

Reply via email to