On 2017/10/12 08:53:31, dak wrote:
On 2017/10/12 08:27:51, Malte Meyn wrote:
> How would that reflect that parentheses are shown if and only if
text is
> present? And how could you then change this behaviour?

Pass.  For more extensive changes, we'd need a markup function.
Basically,
where we can go from some reasonably easy

\tempo \markup \specificFormatter { "(" "=" ")" } {4} #128

in single-use cases to

\override Staff.TempoFormatter = \markup \specificFormatter { "(" "="
")" } \etc

in general.  We "just" have to figure out what this is supposed to be
called/callable with, how many of those hooks we really need, and how
many
specific formatters we should provide out of the box.

I'd like to suggest a little different.
Sometimes I've the feeling we add more and more specialized context- and
grob-properties in direct contradiction to the goal to "unify"
grob/context-properties. Why not use sub-properties of 'details and let
the printing-function call a markup-command accessing and processing
them?

Here an example. Although it puts out a dummy only, the markup-command
has full access to the details-properties and could _do_ something with
it.

#(define-markup-command (tempo-test layout props)()

  (pretty-print (ly:chain-assoc-get 'details props))

  (interpret-markup layout props "tempo-dummy"))

\layout {
  \context {
    \Score
    metronomeMarkFormatter = #(lambda (evt ctx)
(make-tempo-test-markup))
  }
}

{
  \override Score.MetronomeMark.details =
    #(list
      (cons 'between-text " – ")
      (cons 'equal-sign " = ")
      (cons 'parentheses? #f)
      (cons 'note-size -1)
      )
  \tempo 8=120
  R1
}

What do you think?

https://codereview.appspot.com/327620043/
_______________________________________________
lilypond-devel mailing list
lilypond-devel@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-devel

Reply via email to