BUG: Bars/Beats display often shows incorrect values

Dorico’s Bars/Beats display in the transport window or in the mini transport on the right of the toolbar often shows incorrect values. This display is presumably modeled after the Bars+Beats display in Cubase, which shows time using four integers representing bars, beats, sixteenth notes, and ticks. By default, Cubase and Dorico use 120 ticks per sixteenth note.

To test the accuracy of these displays, here is a snare drum rhythm created in Dorico with the playback option Humanize the start positions of notes set to zero:

The following table shows the time at the start of each note in elapsed ticks and the bars & beats displays in Cubase 13, Dorico 3.5, and Dorico 4 & 5:

│ Elapsed │   Cubase  │   Dorico  │   Dorico  │
│  Ticks  │     13    │    3.5    │   4 & 5   │
│---------│-----------│-----------│-----------│
│      0  │ 1.1.1.000 │ 1.1.1.000 │ 1.1.1.000 │
│    480  │ 1.2.1.000 │ 1.2.1.000 │ 1.1.3.136 │
│    720  │ 1.2.3.000 │ 1.2.3.000 │ 1.2.2.196 │
│    960  │ 1.3.1.000 │ 1.3.1.000 │ 1.2.3.136 │
│   1120  │ 1.3.2.040 │ 1.3.2.038 │ 1.3.1.039 │
│   1280  │ 1.3.3.080 │ 1.3.3.079 │ 1.3.2.216 │
│   1440  │ 2.1.1.000 │ 2.1.1.000 │ 2.1.1.000 │
│   1560  │ 2.1.2.000 │ 2.1.2.000 │ 2.1.1.030 │
│   1680  │ 2.1.3.000 │ 2.1.3.000 │ 2.1.2.196 │
│   1800  │ 2.1.4.000 │ 2.1.4.000 │ 2.1.2.226 │
│   1920  │ 2.2.1.000 │ 2.2.1.000 │ 2.1.3.136 │
│   2016  │ 2.2.1.096 │ 2.2.1.095 │ 2.2.1.023 │
│   2112  │ 2.2.2.072 │ 2.2.2.071 │ 2.2.1.047 │
│   2208  │ 2.2.3.048 │ 2.2.3.048 │ 2.2.2.209 │
│   2304  │ 2.2.4.024 │ 2.2.4.024 │ 2.2.2.233 │
│   2400  │ 2.3.1.000 │ 2.3.1.000 │ 2.2.3.136 │
│   2480  │ 2.3.1.080 │ 2.3.1.078 │ 2.3.1.019 │
│   2560  │ 2.3.2.040 │ 2.3.2.038 │ 2.3.1.039 │
│   2640  │ 2.3.3.000 │ 2.3.3.000 │ 2.3.2.196 │
│   2720  │ 2.3.3.080 │ 2.3.3.079 │ 2.3.2.216 │
│   2800  │ 2.3.4.040 │ 2.3.4.038 │ 2.3.2.236 │
How the values in the table were obtained Here is a project created in Dorico 5 containing the snare drum rhythm shown above and the MIDI file exported from the project:

Rhythm.dorico (516.0 KB)
Rhythm.mid (260 Bytes)

To obtain the values shown in the first column, the utility midicsv was used to convert the MIDI file to a text file, the lines in the text file containing Note_on were listed, and the second value in each line was recorded. The values in the second column were obtained by importing the MIDI file into Cubase 13, selecting the snare drum track, opening the list editor, and recording the start time of each note. The values in the remaining columns were obtained by opening the project in the appropriate version of Dorico, selecting each note in turn, using the key command to move the playhead to the selection, and recording the time displayed in the mini transport.

The values for the elapsed ticks and the Bars+Beats display in Cubase 13 are all correct. The first three values in the Bars/Beats display of Dorico 3.5 are correct, and the fourth value is sometimes too small by one or two ticks. The first value in the display of Dorico 4 & 5 is correct, the second value is sometimes too small by one beat, the third value is often wrong, and the fourth value is wildly inaccurate, especially considering that the fourth value should always be less than 120.

When Dorico 4 was released, I complained that the playhead was advancing during playback only half as often as it did in Dorico 3.5, and here is part of the reply I received from Daniel Spreadbury:

It seems to me that these “improvements” have made the Bars/Beats display far less accurate than it was before.