Thanks a lot! This is a good suggestion to achieve what I’m looking for. My final goal is actually to put scores in these markups, somewhat similar to what is discussed in this thread: https://lists.gnu.org/archive/html/lilypond-user/2011-03/msg00749.html . The purpose is to set a section of music where different instruments play in unrelated tempi and rhythm, unsynchronized. Now I have to fiddle with lyrics and Lyric context properties to make it align on the original staff.
> 3 aug. 2020 kl. 10:57 skrev Lukas-Fabian Moser <[email protected]>: > > Hi Leo, > >> Does a command or function exist that would force the horizontal spacing to >> adapt to a markup, something like textLengthOn, but that would only take the >> current context into account? If not, would it make sense to try to create >> one? (Asking just due to my lack of understanding of the inner workings of >> spacing). > > I'm not sure I understand your intentions correctly. Do you want the next > minim (half note) to wait for the text markup to be completed, but the > quavers (eighth notes) should spread evenly between the minims? > > This basically is the behaviour of Lyrics, so one might fake something like > that by: > > \version "2.20.0" > \new Staff << > \new Voice { > \textLengthOn > f''2 ^\markup "I would like these markups to force " > \textLengthOff > f''2 ^\markup "the spacing only when a new note " > f''2 ^\markup "appears in the same voice/context" > } > \new Voice { > \repeat unfold 8 c'8 c'2 > } >> > %%%%%% > > << > \new Staff = "mystaff" << > \new Voice = "leading" { > f''2 > f''2 > f''2 > } > \new Voice { > \repeat unfold 8 c'8 c'2 > } >> > \new Lyrics \with { > alignAboveContext = "mystaff" > \override LyricText.self-alignment-X = #LEFT > } \lyricsto "leading" { > "I would like these markups to force" > "the spacing only when a new note" > "appears in the same voice/context" > } > >> > %%%%%% > > But of course using lyrics for this has side effects (namely, forcing all the > markups to one align vertically). > > Best > Lukas >
