Chord symbol spacing issues
We're making good progress on chord symbols, but here are some related spacing issues. Could conceivably be four separate changes need to fix, but I think it would be good to look at them together. I suspect the first is an easy fix, the second might not be fixable before release, but we'll see.
Look at the following:
In the first measure, there is obviously way too much space allocated for the chord symbol name. I am betting that is because we are allocating the entire width of the chord symbol to the right-hand side of the note shape, even though the chord is centered. Hopefully an easy fix. Note that in the second measure, I tried left-aligning the chord symbol, and now there isn't quite enough space allocated. That's because the D is centered but the code is allocating shape for that second note with the same flaw. Left-aligning the D finally fixes it, as shown in the third measure.
That's what happens if chord symbols are attached to adjacent notes. Now let's look at what happens in the case where the notes aren't adjacent, or when there are no notes at all for one or both chords:
Here, the approach of adding space to the notes fails, because we aren't checking for note collisions. In the first measure, it's because the notes aren't adjacent; in the second it is because there is no note shape at all for the second chord. So no extra space is allocated, and instead the autoplace kicks in instead, thus pushing the second chord above the first. better than nothing, I guess, but 2.x would have done the right thing, which is to space the notes to avoid the collision (it did this by doing a separate pass for chord symbol spacing as opposed to note spacing). I'm not sure these will be so easy to fix without re-implementing the two-pass approach, which I doubt actually makes sense at this point.