lilypond-devel
[Top][All Lists]
Advanced

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

Re: add a generic markFormatter function (issue 337400043 by address@hid


From: lilypond
Subject: Re: add a generic markFormatter function (issue 337400043 by address@hidden)
Date: Fri, 05 Jan 2018 04:16:04 -0800

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/

reply via email to

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