Proposal: Improvements to Scrubbing - Phase-3

From Audacity Wiki
Jump to: navigation, search
Proposal pages help us get from feature requests into actual plans. This page is a proposal to improve Scrubbing in Audacity.
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

While with 2.1.3 (Scrubbing Phase-2) we have provided a GUI method (button or menu command) to enter scrubbing mode, it is recognized that the current GUI is too complex and unwieldy.

See also Proposal: Improvements to Scrubbing - Phase-2.

Proposed Feature

We adopt this nomenclature:

  • scrubbing is skip-free playing with some maximum allowed speed (possibly plus or minus x2.5 by default)
  • seeking is expected to skip. Standard seeking has a play speed of x1 when it does play.

old discarded proposal

Instead of having both a seek button and a scrub button we have a single button that shows either seek-icon or scrub-icon active.

  • A drag that starts in the scrub ruler (i.e the strip under the QP timeline) initiates scrubbing or seeking depending on the state of that button.
  • When we mouse up, the scrubbing or seeking ends.
  • The scrub toolbar (the one that held three buttons) is gone.

We could have preferences "enable scrubbing", "enable seeking". If either are enabled, the scrub ruler (i.e. the strip under the QP timeline) shows. If both are enabled, the scrub/seek button shows too. If the scrub/seek button is present, it's on the timeline, beside the pinned/unpinned button. There is room. and there's no little ruler button anymore as the scrub ruler presence is controlled by the "enable scrubbing" and "enable seeking" preferences.

A little more detail

  1. The user is provided with two new Preferences options. One can turn on Scrubbing the other turns on Seeking the user can choose: either, both or none
  2. If either of those options is set "on" the Scrub Bar revealed and stays shown unless and until both of those optios are set "off"
  3. If the user selects just one of either Scrub or Seek there is no button displayed, basically it is not needed.
  4. If the user selects both, then the single scrub/seek button is displayed in the Timeline above the TCP
  5. This button is used to switch between Scrubbing and Seeking - and can be operated "on the fly" just as the pinned/unpinned head button alongside it can.
  6. As now Scrubbing/Seeking takes place by clicking/dragging/moving in the Scrub Bar
  7. Scrubbing/Seeking is stopped as now in the alpha GUI for 2.1.3
Peter 12Aug16: Steve wrote last year (see below) "Moving the mouse pointer stretches a "rubber band" between the indicator position and the current mouse position, The length of the rubber band indicates the playback speed, When short, playback is slow. When long, playback is fast."
  • We combine scrub and seek into a single gesture. When rubber-band is short, playback is 'slow', slow enough for seeking. When long, the scrub changes to seek rather than just a pure speed change. You can't make sense of scrubbed audio when going faster that 2-2.5x at best.
  • And I do like the idea of having to hold down the left mouse for scrub/seek and that releasing it then stops the scrub/seek - nice and simple, no chance of "getting stuck".

  • There have been some calls for us to also add "cueing" which enables you to play on after a scrub - this could be added as a third option to the existing two, Scrubbing and Seeking.
  • Reduced physical effort to use scrubbing
  • Peter 11Aug16: I think that with Phase-2 (Audacity 2.1.3) as it stands now we have possibly/probably addressed Gale's misgivings in this regard


Please do not discuss this Checklist here - discussions on it are on the Talk page
  1. What is the purpose of the feature? - To find precise locations/positions in audio more easily/quickly. Subfeatures (may) allow for seguing straight into an action, e.g. find and then play (cueing variants) using essentially the same UI.
  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) - Still being debated. One view is that variable speed play (which we call scrubbing) is higher importance than jump-playing (which we call seeking). Reconfiguration of the scrubbing interface is lower importance than day to day use. Single-shot seek/scrub is higher importance than alternating seek/scrub.
  3. Does the feature have modes, and if so how easy are the modes to get out of? (stuck in a mode) - Currently yes, it has modes. Usually SPACE will be used to exit a mode. ESC will work too but undoes the change in cursor position.
  4. Does the feature have invalid states that can be greyed out? - No.
  5. What is the factorisation of the feature? (e.g. pin/unpin can operate on its own, independent of scrub/seek). - Pin/Unpin. Seek/Scrub. Single-shot/Multi.
  6. What are the justifications for 'novelty' in the design? (e.g. RSI free operation, lack-of-precision in conventional sliders). - Mouse up x-coord input from mouse is justified by (a) RSI concern (b) operation of wheel at same time. The large 'slider' is justified by the need for precision.
  7. Is VI use integral? (e.g. labels added a label editor dialog, essential for VI, useful for non ). - No.

Developer/QA Backing

  • Peter

Use Cases

To be Provided


To be Provided

GUI Examples

  • Scrubbing and Seeking disabled
Scrubbing and Seeking disabled.png
  • Either Scrubbing or Seeking enabled but not both - note the Scrub Bar has appeared
Scrubbing or Seeking enabled.png
  • Both Scrubbing and Seeking enabled but not both - note the Scrub button has appeared with Scrubbing active. Clicking on this button will toggle it to the Seeking icon and be depressed.
Scrubbing and Seeking enabled.png

Previous Feature Requests relating to this proposal

  • Scrubbing: (74 votes) - one of:
    • Basic functionality: Drag playback position left/right while playing (no effect until drop), or just click a position bar to skip to new position. (29 votes) Common in audio players, for example Foobar. Allows to judge the end of (long) selections without having to play repeatedly. it would be nice to see it implemented how sony soundforge has it implemented with Keyboard Shortcuts to Toggle Timeline Scrub Mode JKL shuttle.
    • Audio reproduction while dragging/playing: (45 votes) Drag cursor back and forth across a particular point and hear the audio as a function of the direction and speed of the cursor. Allows to zero in on the beginning of a plosive syllable or other distinctive sound as an edit point. Precisely analogous to rocking the tape back and forth on the playback head of a recorder. Could also have a preset speed using Fast Forward/Rewind buttons.