lilypond-user
[Top][All Lists]
Advanced

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

Re: Added ninth chord (symbol)


From: mskala
Subject: Re: Added ninth chord (symbol)
Date: Sat, 30 Apr 2016 00:24:09 -0500 (CDT)
User-agent: Alpine 2.20 (LNX 67 2015-01-07)

On Sat, 30 Apr 2016, Brett Duncan wrote:
>       I coded g2:5.9 in chordmode and got G9, which isn't the right
>       chord. I'm pursuing pop-chords.ly.
>
> As Matthew said, you will need to override how the chord name is displayed,
> but this (or Matthew's suggestion) at least constructs a chord with the
> right notes.

We should probably step back and clarify what seems to be the real issue
every time someone asks about chord mode:

Chord mode is completely separate from typesetting chord names.

"Chord mode" is chord *input* mode.  When you enter a chord with chord
mode, it is immediately translated into a set of notes, and whatever code
you used to enter it is forgotten.  Then if you are typesetting chord
names, the chord names are determined by analysing that set of notes, not
by referring back to the forgotten input code. [*]

If you want the notes to be G-B-D-A, use g1:5.9 or g1:9^7 .  Then you get
the notes G-B-D-A.  But this will not cause the name printed on the page
to be "Gadd9".  You get the chord, not the name.

If you want to change the names printed by a ChordNames context, so
that G-B-D-A will print the name "Gadd9" on the lead sheet, then use an
override such as with pop-names.ly.  But you need to enter the notes
correctly first.  You get the name only if you already have the chord.

You can do both, and it sounds like that's what Henry actually wants.  His
initial question, which gave a bunch of examples of note sets and seemed
to imply he'd accept any syntax that generated the correct notes, made me
think it was a question primarily about input syntax.

[*] There may possibly be some extra information stored beyond the set of
notes and used in certain cases for disambiguation, but the statement is
true in general.  The gap between this behaviour and what users *expect*
when they think they're entering "chords" is yet another example of a
problem caused by Lilypond's design philosophy of evaluating all input
fully as soon as it's parsed.

-- 
Matthew Skala
address@hidden                 People before principles.
http://ansuz.sooke.bc.ca/



reply via email to

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