waxcylinder wrote:steve wrote:waxcylinder wrote:... what do we do when the currently selected cursor position is not on scren anyway and we are zooming elsewhere (without moving the cursor)?
There are three possibilities that come to mind that I think would be acceptable (so any of these would be better than now, but I prefer the third option):
1) Always zoom around the playback cursor so that the playback cursor position is brought into view.
2) Keep the same time position for the left edge of the visible track area.
3) Attempt to keep the same time position of the centre of the visible track area, but pin the earliest time to zero (don't show time before zero).
I've been thinking about this a lot and experimenting with the zooms and I'm now thinking that we need a mixtur of options 1 and 3 depending on the mode Audacity is in.
Play and Record mode
1) Always zoom around the playback cursor so that the playback cursor position is brought into view.
This seems to be what the Zoom In and Zoom Out do and therefore seems logical for Zoom Normal to do the same.
Does that mean that we would centre the playback (or recording) cursor (moving or paused) after Zoom Normal, as long as white space after the project was not showing?
I agree with Zoom Normal working on the "transport" cursor not the editing cursor, but Zoom In/Out do not always centre the transport cursor. I would think they should. An example when centering doesn't happen is if you zoom in when the transport cursor is near the start of the visible track.
waxcylinder wrote:) Attempt to keep the same time position of the centre of the visible track area
[...]
But when the currently selected cursor position is on screen in Stopped Mode we should ensure that it remains on-screen when Zoom Normal is invoked, as is the case with the Zoom In and Zoom Out commands.
We definitely want the currently visible cursor or (some part of) the selection to remain on screen after Zoom Normal.
But thinking about this again, won't "keep the same time position of the centre of the visible track" mean that the horizontal position of the cursor or selection edge may move, which was part of the original complaint?
If we start from 5 seconds of visible audio, e.g. here where the cursor is near the end of the visible track:

- before_zoom_normal.png (2.38 KiB) Viewed 760 times
do we want Zoom Normal to centre the previous time position:

- after_centre_view.png (2.47 KiB) Viewed 760 times
or to retain the cursor's horizontal position relative to the visible track?

- after_restore_cursor_position.png (2.61 KiB) Viewed 760 times
There could be more extreme examples of cursor movement than that. Given this is only one change of zoom level, retaining the cursor's horizontal position looks more useful to me.
I guess standard zoom in and out don't retain the cursor horizontal position because for selections not viewing only one edge, it is often as useful (and distinct from mouse wheel zoom) to zoom to the centre of the selection.
But for zoom normal, I suggest again it could be more useful where only one selection edge is visible to zoom normal so that the visible selection edge retains its horizontal position. It is perhaps slightly inconsistent, but you could not normally mouse zoom to normal level in one step.
That said, if we had keyboard shortcuts (six needed) or modifiers (two needed) to make the three zoom commands zoom to cursor/selection start or selection end, we could leave zoom normal when no transport was occurring to always zoom to the centre of the visible track. That should happen anyway where the cursor or selection is off screen without transport occurring. I would like to see keyboard modifiers for different zoom behaviour.
Is there any support for my related suggestion?
View > Go to Selection Start and View > Go to Selection End should both centre the cursor in the view when there is no selection. It is not useful for those commands to (by default) select all and destroy the existing cursor position.
When the "Select all... if none selected" preference was off, we could either grey those commands out (as now) or enable them and have both centre the cursor.
If there is, this could be part of the proposal.
So too for Steve's point that mousewheel zoom does not zoom at a pointer position after the end of the project (it does zoom after the end of a track if that is not the end of the project).
Gale