Timing of multi-movement Works is wrong when Album has multiple versions

I have noticed an issue where Roon massively over reports the length of all works for DSF files when I have multiple versions of the same album (e.g. DSF and FLAC). See below a representative example of a 5 movement work whose track timings sum to 26:39, but Roon reports 1:20:00. This is a factor of precisely 3x in this case, but that multiplier is not consistent in all cases. However, the reported timing always exceeds the actual timing by a significant margin.

When this work is added to the queue, Roon correctly reports the time remaining, so it is able to properly sum track timings in some instances. In the example below, Radio correctly starts in 26:39 for the same work.

Here is a second example where Roon reports a 2.0x timing error (1:52:38 reported, while the true track time sum is 56:19)

Roon version 1.2 build 154. Roon server running on Synology DS1515+ with iPad or MacBook as Remote. This issue definitely predates build 154, but I’m not sure how far back it runs. All DSF files in my collection were ripped from SACDs. I don’t know if the same behavior holds true for raw DSF files purchased through online sources.

As a follow-up comment, when I have three versions of the same album, the total timing reporting error appears to be always 3x. If there are only two versions, the total timing error is always 2x. This may not be a DSF problem at all, but an issue with multiple versions in general. I don’t think I have any albums with multiple versions that don’t include one DSF, so I cannot investigate that further.

I just converted a FLAC album to ALAC, and when these were grouped into a single Album with 2 versions by Roon, the Work timing is shown as 2x the true value. Therefore, this is not a DSF problem, but a generic issue of albums with multiple versions.

I believe this issue pre-dates 1.2.154, but might it possibly be related to this issue in the 154 change log? @Support

Known bug. It’s not an easy fix so please be patient.

@brian is aware. See Redmine 12835