About time signatures, the Notation Reference says briefly,

> Time signatures are printed at the beginning of a piece
> and whenever the time signature changes.

That is true, but incomplete: time signatures are also printed when the time 
signature hasn't changed -- and it has been that way for years.

Time_signature_engraver::process_music has this condition:

    SCM fr = get_property (this, "timeSignatureFraction");
    if (!scm_is_eq (last_time_fraction_, fr) && scm_is_pair (fr))
      {
        // . . . create the grob . . .

scm_is_eq tells whether these two things refer to the very same instance; if 
they are different pairs containing equal values, the grob is created.  
Essentially, this creates a time signature whenever `\time` is used.

I haven't tested key signatures, but Key_engraver::process_music looks similar.

Clefs work differently.

Anyone want to weigh in on whether anything should be done about these 
inconsistencies?  Do they call for editing the documentation? something more 
radical?

Regards,
— 
Dan


Reply via email to