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.

1 Like

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.

This has not been my experience and it does not seem to be true “Dorico handles these …measures as pickup bars”, “Playback…works fine for these too”

Dorico playback in these cases did not (does not?) match what a conductor would do (you can not conduct a measure of 9/8 which contains only 6 beats). Dorico is in the wrong, by not flagging the notation as an error and/or halting playback or indicating a playback meter problem.

I disagree. Dorico does flag the anomaly, as your original post showed! Have you really not worked this out over the past 10 months?

I don’t believe you read or understood my initial post. I specifically stated, “Dorico does not display anything at all, as if it detects no problem with the wrong measure.”

You may refrain from replying to me in the future.

This is a discussion forum. Folks who disagree with your suggestions are free to say so. You can ignore them if you wish, but being polite about it may make them more likely to help you in the future.

6 Likes

I want to acknowledge both that there is some heatedness here that I do not condone. I also want to say that I can’t guarantee that I fully understand everything that’s been said here (I’ve read the thread, but not with great attention because I was looking for a different topic). That being said, from my not-necessarily-entirely-attentive perspective:

m77 in the original post looks like no notation program should ever allow it without an obvious warning. I also don’t think “pickup measures” should be able to exist randomly between bars with no notifications—that seems like a pretty thin rationale for there not being a heuristic that flags situations like this.

I’m not sure I read this or not, but I do understand that, if the original poster inserted a time-signature change in the middle of a measure, it’s a perfectly reasonable design choice not to alter the music that’s been entered, nor to impose a time signature that the user didn’t manually enter. That being said, I cannot conceive of a context in which any performer would be anything other than ill-served by encountering the notation Dorico has generated here. It’s fine to me that Dorico didn’t enforce any change here—that seems like the right choice to me—but I cannot imagine why the designers would insist that this doesn’t merit any kind of notification. It seems to me like Dorico could stand to take a cue from other notation programs in this case.

2 Likes

I think a signpost like “abrupt meter change” would be useful if there’s a time signature change that doesn’t coincide with the end of the previous measure. I can think of some good reasons why this situation is allowed to happen (at least temporarily), such as when revising meters, or when moving music around. And those workflow improvements are not to be understated: other programs handle them with very unhelpful modal dialogues.

Since this initial post I have studied the documentation surrounding this area and have reproduced this problematic situation in other projects; I had hoped this would be resolved in Dorico 5 but it seems there remain problems.

  • There is (or, was since 4.5) not enough documentation on the meaning or purpose of the “q=” signpost “Bracket and Barline Changes” (i.e. it can appear in related situations, and is, in general, confusing). It is also hard to locate information on this Signpost in the documentation overall (because it has the odd visualization, “q=…” which is difficult to look up).
  • Dorico does not flag measures containing improper number of beats/notes with Signposts or otherwise. Any good engraving program should flag measures with improper engraving, either in real-time or after a forced “Verify Measures” tool is run.
  • Dorico does not seem to understand hypermeter (i.e. the meter within and across surrounding bars) in order to properly flag engraving errors like this.
  • Dorico Playback will ‘conduct’ the erroneous measure in playback as if there is no missing beat, which no human conductor would ever do: it is an impossible timing. This may be related to Dorico also being able to play music without any time signature at all, which no human conductor would ever be able to do (i.e. a bar note count has never been defined). i.e. Dorico is very loose with Playback, it seems to not count, and as a result, Playback is incorrect.
  • It is not a pickup, absolutely not a pickup; read the documentation surrounding how pickup notes are handled, and this is not the same.

Today I found something odd in Dorico 5, related to a project I am rewriting which previously had a change in time signature and perhaps a previously inserted double-barline, and I found the q= Signpost seems to appear after deleting these, and when there is no problem: the engraving is correct but Dorico inserts the q= Signpost, when the double-barline is changed to a single-barline (time signature at start of the score is 4/4). Some combination of edits resulted in this Signpost.

I do not appreciate my bug reports being dismissed by users out-of-the-know because they misread, or don’t read, and reply in effect, “oh that user is using Dorico incorrectly, it’s Dorico’s design choice and Dorico is always correct” or speaking “for” the developers as if they are part of the development team. This is a bad behavior I have noted elsewhere in other threads and is also habitual by the same responders. And of course, they make excuses with, “This is a discussion forum so it’s free and ok.”

if the original poster inserted a time-signature change in the middle of a measure, it’s a perfectly reasonable design choice not to alter the music that’s been entered, nor to impose a time signature that the user didn’t manually enter.

Yes, and in that case, if there is a bar with improper number of beats/notes, Dorico should place a Signpost indicating a problem with the measure. Which is exactly a restatement of the conclusion above.

Dorico should understand the meter enough to know there is a problem and flag it.

1 Like

Yeah, this is super confusing and trips people up all the time. You need to delete the double barline to return it to a default barline and then you won’t get the signpost. (The bar will still have a barline even though you hit delete.) If you add an explicit single barline, even though that’s the same type as the default barline, then you get the signpost.

If you then delete the explicit single barline, the signpost goes away, but nothing else changes visually as you’ve just changed an explicit single barline to a default single barline. If you delete a default single barline, then it’s actually deleted and there’s no barline. Clear as mud?

So far these type of edits have not worked. If I select & delete the double barline, it goes away and there is no barline (two measures of notes are put in one measure), and a q= Signpost is placed. If I then attempt to insert a single barline (which is difficult to place, depending on the grid, and still error prone to align properly), then the next measure is signposted. My resolution in this situation previously was to delete multiple surrounding bars (delete bars completely), add new empty bars back again, and re-enter the music by hand (so that no copy-paste material re-introduces hidden properties).

I completely agree with you!

I’m well aware of how Dorico operates, but having a visual cue/singpost indicating an incomplete bar would be really useful. Throughout my composition process, I often make several changes to the meter. In the end, I always have to carefully go through each individual bar to make sure none of them are left incomplete.

1 Like