lilypond-user
[Top][All Lists]
Advanced

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

Re: Nashville notation as chord symbols


From: David Kastrup
Subject: Re: Nashville notation as chord symbols
Date: Mon, 15 Jun 2015 18:32:07 +0200
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/25.0.50 (gnu/linux)

Paul Morris <address@hidden> writes:

> Hi Amy,
>
>> On Jun 15, 2015, at 9:34 AM, Amelie Zapf <address@hidden> wrote:
>> 
>> the remaining problem of the Scheme function is: how to access the
>> current root of the key signature in the function definition. For even
>> if we explicitly state the root again in the definition, it would be
>> immensely problematic if the piece contained a key change. Since
>> Lilypond does have an internal representation of the current key
>> signature (it needs to, to place accidentals correctly), there must be a
>> way to access it from within a function.
>> 
>> Does anybody know how?
>
> Unfortunately it’s not simple…  The tonic note of the current key is a 
> context property that’s used by the Key_engraver:
> http://lilypond.org/doc/v2.18/Documentation/internals/key_005fengraver
>
> It’s possible to create a custom engraver (with scheme) that can
> access this property and do something with it.

First it needs to arrive in the NoteNames context in the first place,
and this will, again, require \alias Staff for the NoteNames context
(actually, both in \midi and \layout blocks).

I've put this into

Tracker issue: 4452 (http://code.google.com/p/lilypond/issues/detail?id=4452)
Rietveld issue: 243380043 (https://codereview.appspot.com/243380043)
Issue description:
  Two reorganizations of ChordNames context   Add Staff alias to
  ChordNames context  That way, Staff-level overrides like \key,
  \transposition and others arrive in the ChordNames context.  Remove
  ChordNameVoice as a separate \midi context

but of course one does not need to wait until it arrives in LilyPond
proper in order to define the aliases oneself:

\layout { \context { \ChordNames \alias Staff } }
\midi { \context { \ChordNames \alias Staff } }

-- 
David Kastrup



reply via email to

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