On 31/01/2023 22:32, Jean Abou Samra wrote: > On 31/01/2023 22:07, Saul Tobin wrote: >> I have a few questions: >> 1. How to achieve horizontal alignment and avoid vertical overlap of >> RehearsalMarks and MetronomeMarks at the beginning of a system, or when >> musical objects push them away from the staff as in measure 3? I have to say >> I think the default output could be improved. > > > It's been requested a few times, but there is no easy way to do this > at the moment (although you can find some hacks in the list archives). > > > >> 2. How to prevent TextMarks from printing many identical marks at the same >> point in time? The docs suggest that \textMark should be used as a drop-in >> replacement for \mark \markup... but the behavior seems incompatible. The >> examples given are for instructions specific to a single player. Is it >> feasible to use \textMark for ensemble-wide instructions without relying on >> tags to prevent duplicates in the full score? > > > Typically, you would have your \textMark's in a separate music > expression and only include that once in the main score. > > It was intentional not to deduplicate for \textMark because > it's messy in the first place: if you do this, the user will > expect that > > << > \new Staff { \textMark $CODE } > \new Staff { \textMark $CODE } >>> > > yields only one text mark, but this falls apart for things like > > $CODE = \markup \table #'(0 0 0) ... > > or > > $CODE = \markup \on-the-fly #(lambda things ...) ... > > because procedures are compared by identity, and whether two > "equal?" quote expressions are "eq?" is an optimization detail > not specified by Guile.
Uh, why did I just write this already? The latter wouldn't be a problem. assign_event_once uses "equal?" The former, with procedures, is indeed a problem. Sorry for the noise.
OpenPGP_signature
Description: OpenPGP digital signature