Proposal new Zoom Toolbar

From Audacity Wiki
Revision as of 16:37, 18 February 2021 by PeterSampson (talk | contribs) (Developer/QA Backing: grammar)
Jump to: navigation, search
Proposal pages help us get from feature requests into actual plans. This page is a proposal to ...
Proposal pages are used on an ongoing basis by the Audacity development team and are open to edits from visitors to the wiki. They are a good way to get community feedback on a proposal.

  • Note: Proposals for Google Summer of Code projects are significantly different in structure, are submitted via Google's web app and may or may not have a corresponding proposal page.

The Problem

As outlined in bug #864:

  • It would seem to make sense to separate off the four zoom commands from the Edit Toolbar onto a new separate Zoom Toolbar of their own.
  • Zoom commands are not restricted to use for editing, they are often used during recording and playback.
  • This was discussed earlier on email threads in the 2.1.0 alpha testing cycle but was never taken up.

Proposed Feature

It is proposed to tackle this in two phases:

  1. Split off the zoom tools as a 'sizing-toolbar' and add (up to) three new zoom buttons, from this list; probably the first 3:
    • Fit to height (to go with the fit-to-width button)
    • Zoom Normal
    • Zoom-Max (to samples)
    • Zoom Toggle (switches between two zoom levels)
    • Zoom preset (e.g to ipx = 0.1s) particularly for VI users.
  2. Enhanced toolbar, with more configurability, the choice of buttons configurable, and dimensions of toolbar modifiable, e.g. 2 high. At this stage probably all toolbars would become configurable using the same mechanism.

David Bailes wrote by email 29May15: changes which are helpful for screen readers could be incorporated into these plans

  • I think that the ability to quickly set to the zoom level to some useful level may be just as important as knowing what the current level is. In the goldwave audio editor, you can quickly set the zoom level to preset step sizes such as 0.1 second.
  • For example, there could be a dialog box, which gave the current step size, allowed you to type in any value, or quickly set it to a small number of useful values.

Alternate Proposal

by Bill W

A set of 5 buttons, with the following actions and shortcuts

  • Zoom to fit - 1 (currently Cmd+F or View > Track Size > Fit to Width)
  • Zoom custom - 2
  • Zoom custom - 3
  • Zoom custom - 4
  • Zoom to pixel - 5

Buttons 2, 3, and 4 could have their zoom level set by:

  • option-click on the button to set it to the current zoom level
  • right-click to open a context menu with options similar to the current zoom-toggle options

Maybe only need to intermediate zoom buttons?

We'd still want:

  • Zoom + (shortcut simply the = key, so you don't have to do Shift+= to get the + key)
  • Zoom - (shortcut simply the - key)
  • Zoom to selection (simply the 0 (zero) key)
  • Zoom toggle (Shift+Z, continue with no button?)

Zoom to selection should do something reasonable when the selection is just the cursor (no region selected)

Developer/QA Backing

Peter: I support Phase 1.

Use Cases

  1. While they are often used while editing there are plenty of other non-editing use cases for the use of zooming, for example zooming is often used when recording or playing.
  2. Would facilitate improved user customization of the toolbars and tooldock.
  3. "Zoom to Samples" would be very useful for using the Repair command. To go from normal zoom to the point where the samples begin to show the user must make eleven clicks.
  4. Similarly the Repair tool requires the user to be zoomed in to the level where samples can be viewed.


See the GUI examples below.


  • Phase-1 proposed zoom toolbar with no extra buttons.
Zoom toolbar.png
  • Phase-1 proposed zoom toolbar in context in the upper tooldock
Zoom toolbar in context.png
  • Phase-1 proposed Zoom normal (Audacity default zoom) button - double actual size
Zoom normal button.png
  • Pressing the "Zoom Normal" button would return the user to the Audacity default zoom setting (equivalent to View > Zoom Normal or the shortcut Ctrl+2)
  • Phase-1 proposed zoom "maximum" button - double actual size - this is intended to show a point sample in the magnifying glass
Zoom max button - point.png
  • Pressing the "Zoom Maximum" button would take the user to the zoom setting at which the individual sample points begin to show (I think this is better than going to the absolute maximum possible zoom level). A new zoom command for this should also be added to the View menu, he command would be better-named as "Zoom to Samples" rather than "Zoom to Maximum".
  • Phase-1 proposed user settable zoom level button - double actual size - the P is intended to indicate Preset.
Zoom preset button.png
  • With this the user could be at their favored zoom level at that time, then press right-click on that button to store that preset. Then subsequent left-clicks of that button would return the user to the preset zoom level. And the preset can be reset any time the user chooses.

    This is often mentioned on the forum where Gale wrote: "This is the quite common request for zoom presets ..."

  • Phase-1 proposed zoom toolbar appearance
Zoom toolbar Phase-2.png
  • Actual ordering of the buttons subject to discussion and change before implementation.
  • View>Zoom menu the menu items in the View > Zoom sub-menu should be expanded to include all of these zoom buttons. Currently in 2.2.0 alpha only: Zoom In, Zoom Normal, Zoom out & Zoom to Selection are present there.


No details at this stage.

Previous Feature Requests relating to this proposal

  • Edit Toolbar:
    • ...
    • Zoom:
      • Zoom Maximum button (sample level) (or to a configurable preset close to maximum) (8 votes)
      • Zoom Normal button (5 votes)
      • Vertical from/to state where collapsed tracks are at some minimum size (still able to display gain/pan, or still showing sample rate and format). (7 votes)
        • Could be done by CTRL + click on the current zoom button (1 votes)
      • To beginning or end of a selection (7 votes)
      • Zoom to selection should have small space at right and left so selection may be adjusted without scrolling (6 votes)
      • Zoom presets: (9 votes)
          Briefly we had a "zoom toggle" button with a double magnifying glass that switched between two levels of zoom. It remembered the zoom level for the last two uses, so clicking it twice always returned you to last zoom level.
      • Zoom slider (4 votes) for finely graded zooming
        • Display current zoom factor on Status Bar (2 votes)