> 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

Reply via email to