Proposal Zoom Context

From Audacity Wiki
Jump to: navigation, search
Proposal pages help us get from feature requests into actual plans. This proposal page is about Zooming that better preserves (or is more likely to preserve) the context of where the user is actually working.
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.


Inspired by Bug 15

  • ToDo.png Zoom to Selection shows none of the surrounding context
  • Done.png Bug 1292: Zoom Normal doesn't always keep the selection or cursor on screen.
  • ToDo.png Another consideration is what should happen if you play a region that isn't in view (say if you drew a region, then dragged the horizontal scrollbar). Play will move the view so that the region starts at the extreme left edge of the waveform. Some people might want the cursor to be centred in the view; others may want it to be a little offset from the left edge.

It has been argued that the following is also a problem:

  • If playback scrolls, pressing Stop leaves the waveform where it stopped and the cursor or left selection edge invisible. Pressing Play to resume then scrolls the waveform to start at the playback start point, hiding the previously visible context before the cursor or left selection edge.

"The current design of horizontal scrolling of the waveform in Audacity is Very irritating for repeated zoomed-in editing at one spot. When you click space to playback audio the position of cursor and scrolling on the far left means that you don't have the context of the starting point shown. We know we want to change this to improve close up editing, but haven't had time to do so for this release."

However this is arguably fine, and is not part of the current proposal.

Proposed Feature

  • Zoom to selection should zoom the selection to 80% of the width of the screen. (80% fixed value and NOT configurable)
  • Zoom normal should have updated logic for centering.
  • Ability to drag the pin for pinned recording, so that it is in a chosen position, and that position is also where the cursor preferentially ends up after a zoom normal.


  1. What is the purpose of the feature? -
  2. What are the relative importances of the different features in it? (this is used to justify having a large button, a small button or just a menu item, for example) -
  3. Does the feature have modes, and if so how easy are the modes to get out of? (stuck in a mode) -
  4. Does the feature have invalid states that can be greyed out? -
  5. What is the factorisation of the feature? (e.g. pin/unpin can operate on its own, independent of scrub/seek). -
  6. What are the justifications for 'novelty' in the design? (e.g. RSI free operation, lack-of-precision in conventional sliders). -
  7. Is VI use integral? (e.g. labels added a label editor dialog, essential for VI, useful for non ). -

Developer Backing

  • James Crook



  • Zoom normal's updated logic is:
    • Center on cursor (if cursor, start and end of selection would be on screen)
    • OR Center on center of selection (if cursor, start and end of selection would be on screen)
    • OR Center on cursor
    • THEN (if cursor is after zero) scroll left to remove any time before zero.