While implementing these changes two questions came up:

1. Do we need a markup command \markgeneric? My current changes don’t
use it anymore but all three markup commands (\markgeneric, \markletter,
\markalphabet) use the function markgeneric-string. I would vote against
such a markup command because it would be silly to support 'numbers and
impossible to support 'barnumbers so it wouldn’t be complete; also the
only use case I can imagine is references like “start a large crescendo
and accelerando here which lasts until rehearsal mark Cc”. Suppose you
write that as
  \markup { "start […] until rehearsal mark" \markgeneric #28 #'(repeat
mixedcase) }
Now two things can change in the score that affect said RehearsalMark:
a) the number changes by adding another \mark \default before → you have
to adjust it manually in the markup
b) you change Score.markFormatter → you hav to adjust it manually in the
markup
So IMO you just could write
  \markup { "start […] until rehearsal mark Cc" }
But why are there \markalphabet and \markletter? The same arguments make
them unnecessary.

2. Currently I do something similar to
  (let* ((l-fr (lset-intersection eqv? options '(box circle noframe
oval)))
         (fr (if (pair? l-fr) (car l-fr) 'noframe)))
Should this better be done without the lset-intersection but with a find
or something similar? And should I produce a warning when conflicting
arguments (f. e. box and circle) are given, i. e. if (pair? (cdr l-fr))
or when an argument without known meaning is given (f. e. options
contains 'triangle)?

https://codereview.appspot.com/337400043/
_______________________________________________
lilypond-devel mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/lilypond-devel

Reply via email to