Hi Kieren,

I am a little disappointed by the fact that none of these solutions are tempo 
marks, when a metric modulation is literally a tempo mark.
Is there no way to accomplish the same thing while keeping it a real tempo mark?
I tried a number of things, but couldn’t find the right incantation…

Horizontal spacing has always remained a bit of a mystery to me, but: The problem seems to be the following difference:

\version "2.26"

\relative {
  c'1
  \tempo Test-tempo
  c1
  c1
  \textMark Test-text
  c1
  c
}

As you can see, the MetronomeMark is aligned to the first note in the bar (correctly speacing, that note's PaperColumn). The TextMark is aligned to the BarLine; more precisely, a BreakAlignment grob.

I don't know how easy it would be to change that. But this explains what Jean did in his very elegant code:

     \tweak self-alignment-X ##f
     \textEndMark \markup
     \put-adjacent #X #LEFT
     \put-adjacent #X #RIGHT
     \general-align #X #CENTER " = "
     right-stuff
     left-stuff

The = is centered (on the 0 coordinate of the stencil); the put-adjacent commands are designed to add something at one side without shifting the original content. Then switching off self-alignment-X means that the 0 coordinate of the stencil gets used without shift (whereas self-alignment-X = 0 [= #CENTER] would calculate a shift in order to align the /center/ of the markup to the anchor point).

In short: His commands are designed in such a way as to center the = glyph above the grob's anchor point.

I assume what you wanted to achieve is a MetronomeMark centered over the bar line as well?

Lukas

Reply via email to