Grid snap difference Ardour5 → Ardour6

Given 4/4 and a grid of beats/4 (a5) resp. 1/16 (a6).

In Ardour5, set the snap to beats/4. Pressing the [→] key will advance the playhead by 1/16. Mouse operations also snap to this position.

In Ardour6, the snap positions seem to be controlled by the visibility of the grid lines. When set to 1/16, and you zoom out, Ardour decreases the number of grid lines shown, and snap related operations will use this, much coarser, grid.

Is this intentional?

Short answer: Yes, that is intentional.

Longer answer:

In the past, it was possible to “snap” to a grid line, when in actuality you were snapping to some small increment (defined by your snap setting) very near the grid line. In extreme (but not uncommon) cases this meant that there could be multiple snap positions in the width of a pixel, and so a mouse-click could be interpreted many ways.

The new mechanism prevents that kind of mistake… but yes it does require that you zoom in a little closer to enable the grid you are trying to operate at. The exact spacing of the grid (how many lines per page we want to display) is still being debated. If you draw too many lines, the page becomes “all lines”. There’s also an aliasing issue where, if you have a lot of lines, the rounding-to-the-nearest-pixel can make them look unevenly spaced.

Prior to the very latest code, there was the ability to “snap” to an invisible grid line between each visible grid … that helped with the visible grid density. BUT we had some complaints about that, too, and now every grid line is shown.

Yes, this makes sense for an “extreme case” of “multiple snap positions in the width of a pixel”. But as you can see in the attached image, I now get snap positions of about 80 pixels… Very coarse.

scrot20210217222556

It requires a lot of zooming before I get to the desired 1/8 grid.

scrot20210217223022

Grid spacing is still an excessive 45 pixels.

The ruler/grid behavior should be slightly improved in v6.6.

I’ve added a new setting in Preferences->Snap “Approximate Grid/Ruler granularity”. The default value is 25 pixels, but you can decrease that number to allow the ruler to more aggressively add ruler lines.

Thanks for bringing this our attention!