> On 5 Aug 2026, at 12:07, Hans Aikema <[email protected]> wrote:
>
>> Although you have a working solution, there's something strange.
>> Consider:
>>
>> \version "2.27.2"
>>
>> myExceptionMusic = {
>> <c e gis>-\markup \super { "5<" }
>> }
>>
>> myException =
>> #(append
>> (sequential-music-to-chord-exceptions myExceptionMusic #t)
>> ignatzekExceptions)
>>
>> \score {
>> \new ChordGrid \chordmode { c1:1.3.5+ }
>> \layout {
>> \context {
>> \Score
>> chordNameExceptions = \myException
>> }
>> }
>> }
>>
>> \score {
>> \new ChordGrid \chordmode {
>> \set Score.chordNameExceptions = \myException
>> c1:1.3.5+
>> }
>> \layout { }
>> }
>>
>> I've no clue why the outcome is different. (Image attached)
>
> My guess on the difference would be: ChordGridScore for the new ChordGrid
> gets initialized from (a clone of) the Score context upon processing \new
> ChordGrid and processing of the \layout adapting the Score context
> happens-before the processing of \new ChordGrid so that the override of
> chordNameExceptions in the Score context gets propagated to the
> ChordGridScore context. Not deep enough into all of the lilypond internals to
> know for sure, but that would be my technicions guess on why the override in
> the Score context in a layout block works, but you need to explicitly
> override it in de ChordGridScore once you’re within a \new ChordGrid block
Ah… forget about that… the puzzle is just the other way around…. I should’ve
read better before guessing