Hi,

Given the following function, each time an override of NoteHead.color
occurs, a new color from the list is used:

\version "2.19.30"

#(define test
   (let ((colors (circular-list red green blue yellow darkgreen magenta)))
     (lambda ()
       (let ((color (car colors)))
         (set! colors (cdr colors))
         color))))

{
  \once\override NoteHead.color = #(test)
  c''4
  \once\override NoteHead.color = #(test)
  c''4
  \once\override NoteHead.color = #(test)
  c''4
  \once\override NoteHead.color = #(test)
  c''4
  \once\override NoteHead.color = #(test)
  c''4
  \once\override NoteHead.color = #(test)
  c''4
  \once\override NoteHead.color = #(test)
  c''4
  \once\override NoteHead.color = #(test)
  c''4
  \once\override NoteHead.color = #(test)
  c''4
  \once\override NoteHead.color = #(test)
  c''4
}

However, when I put the override within a repeat structure, the override
only seems to happen once:

%% All darkgreen (we left off with yellow above
{
  \repeat unfold 10 {
    \once \override NoteHead.color = #(test)
    c''4
  }
}

Is there any way to get the override to be reevaluated with each repeat?

Thanks,
David
_______________________________________________
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user

Reply via email to