lilypond-user
[Top][All Lists]
Advanced

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

Re: Chords in LilyPond


From: David Kastrup
Subject: Re: Chords in LilyPond
Date: Sun, 28 May 2017 17:27:57 +0200
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/26.0.50 (gnu/linux)

Charles Winston <address@hidden> writes:

> Hi all,
>
> There have been some great discussions about new chord functionality you’d 
> like to see in LilyPond. The first step is defining the internal 
> representation. From there, I think all these issues can be much more easily 
> solved. We have the EventChord structure, which contains an ‘articulations 
> and ‘elements entry. The ‘elements entry contains some information about the 
> root and inversion, but otherwise it is a list of NoteEvents to be iterated 
> over. My plan is to add a ‘semantics entry whose elements will be semantic 
> aspects of the chord:
>
>       -root
>       -quality of the third (minor, major, none)
>       -quality of the fifth (diminished, perfect, augmented, none)
>       -extensions (7, 9, 11, etc.)
>                       my plan for this is to have a list of extensions, each 
> extension associated with a bool indicating its presence in the chord,        
>            and associated with an alteration.
>       -added notes (6, 9, etc.)
>                       implemented similarly to extensions above
>       -suspensions (sus4, sus2, etc.)
>       -added bass note
>       -inversions
>
> Let me know what more should be added to this list.

Any reason this information should not be stored in the NoteEvent events
actually carrying the pitch information like it is done right now?  It
sounds like you are planning to add a completely different and
orthogonal mechanism for specifying chords and it is not clear to me
what the results would or should be when the respective information
differs.

> So after this is implemented, we have an internal representation of a
> chord, EventChord, which contains both note information and semantic
> information, and each of these can be utilized independently in
> different contexts.
>
> Let me know what you guys think.

An EventChord currently is a _container_.  It never even reaches a
stream event listener.  Instead it is unpacked and its contained
notes/events are played to whatever listener is interested in them.

-- 
David Kastrup



reply via email to

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