Time signature changes cause incorrect measures from incorrect number of beats

I have had a variety of problems result when writing music with changing time signatures or writing music and then later modifying it to change a section’s time signature, in Dorico 3, 3.5, and 4. It is better in 4 but still there are some problems. In these cases, Dorico should know better, yet misbehaves. This is more difficult to fix in note editing than expected, because Dorico does not treat rests like objects, so it is not easy to figure out what is wrong, or how to fix the incorrect beats (common sense behavior would be to highlight the ‘incorrect’ beats/rests and press Delete to force re-calculation of the measure, etc).

In some cases, Dorico will display the mysterious “flag but not really a flag” for the ‘wrong’ measure, like “q=1+1+1” (or something similar, not well documented). In other cases, Dorico does not display anything at all, as if it detects no problem with the wrong measure. Is there a way to force Dorico to recalculate meter for all measures and properly display warnings on those measures?

Here is my example (see screenshot, I deleted most notes to simplify this image) from a section of 9/8 which has an invalid measure just before changing to 4/4 (mm77 is incorrect). This may have been created by writing music in 6/8 followed by 4/4, then later editing the “6/8” to change it to “9/8”, but Dorico misbehaved and did not properly handle the measure before the change to 4/4.

Many things I’ve tried to resolve the bad measure or show what is happening do not work (Reset appearance, etc) . All Signposts are on, so any error indicator should be visible (but that strange “q=1+…” warning is not treated as a Signpost, somehow). Inserting another “9/8” into mm77 doesnt fix the measure or show what is wrong (with the “q=1+…” system text). Removing the key change at mm78 to remove the double-barline doesn’t have any impact on the problem either. Finally in this case I was able to fix this measure by inserting a new measure before it, copy-pasting the notes, and deleting the wrong measure, but actually, this error slipped through multiple score reviews and made it all the way to rehearsal with printed score, where finally the performer caught the engraving error.

It seems to me that the 4/4 in mm78 is actually splitting the bar (internally, and Dorico is not showing this). Shouldn’t there be a Signpost when this happens?

Because this bug/misbehavior is so prevalent, I dont see how it is related to this specific project, which is why I havent uploaded the project itself. This bug should be easily reproducible in a variety of new projects because I have run into similar problems frequently when editing to add a different time signature.

When you input a time signature that precedes another time signature, Dorico only rebars as far as the next existing time signature . It doesn’t move subsequent time signatures, and it will only insert extra beats if you turn on Insert mode before adding/changing the time signature.

This is not a bug. It’s a design choice. It’s documented in the Note towards the top of this help page: Inputting time signatures with the popover

From the position you’re currently in, put the caret where you want to add the extra beat (which may or may not be at the end of the short bar) and type Shift-B 1q. Enter

2 Likes

It is an engraving bug. You can see there are two dotted rests in mm77 which is incorrect meter. I understand what you are saying. It is still a bug.

It is not a bug. It is intended behaviour and well documented: "Time signatures apply until the next time signature change or the end of the flow, whichever comes first…Dorico Pro does not automatically add beats to fill bars when you input time signatures unless Insert mode is activated."

Yes, if you input a time signature that results in an incorrectly filled bar, the onus is on you to correct it. You either need to know to use Insert mode if you want to add time (which is consistent how insert mode works elsewhere in the program) or you need to know to add the missing duration in somewhere using the Shift-B popover.

Dorico’s not going to prevent you from creating incorrect notation here, just as it won’t prevent you from writing notes off the range of an instrument, unplayable double stops etc.

1 Like

The alternative would be for Dorico to actually change the number of beats. I’m thankful it doesn’t do that. As Leo and Janus said, it just needs to be used correctly, or adjusted as needed.

1 Like

That is a semantic argument otherwise known as developer backwards-rationalization of broken implementation or improper priorities. Dorico’s #1 priority is to enable the composer to create a proper engraving and it fails in these situations. Where is the “q=1+…” warning text on this measure? Where is the Signpost? Or why not have the next barline be colored (in red) when the meter is improper? (In comparison, other score editors color the entire bad measure red, until the meter is fixed.) How is it possible that Dorico playback is proper, when meter is not? Playback should likewise fail or skip beats since the meter is invalid. What seems to be actually happening is that Dorico is misbehaving (aka, a bug or missing implementation). These cases have improved over time with new versions but are not yet fully resolved.

The end result is that it is very difficult to trust Dorico’s engraving around any time signature changes. This forces the composer to scrutinize the score at these measures which is not something they should have to do, the software is supposed to be relied upon to ease engraving.

I’m sorry, this is simply not true. The developers made a very conscious choice in this regard, and clearly documented it, and gave you several easy ways to change it if you don’t like it. Did you see Leo’s comment, or read the documentation that was linked? If you wish Dorico to add beats retroactively, use insert mode when changing the meter.

The definition of a bug is not “I disagree.”

5 Likes

Dorico handles these sorts of improperly filled measures internally as pickup bars. Pickup bars are an accepted part of notation and aren’t signposted (either in Dorico or in regular notation). Playback has to work for real pickup bars, so it works fine for these too.

(Not to mention that regular barlines in Dorico are a byproduct of the prevailing time signature, not explicit objects, and any kind of non-regular barline is internally handled as a time signature, so why would you expect this sort of thing to break playback?)

2 Likes

I don’t think you really read my post or replies at all.