Difference between revisions of "Completed Proposal: Improvements to Scrubbing - Phase-2"

From Audacity Wiki
Jump to: navigation, search
(Outstanding issues that could be seen as trivial and not worth fixing: removed - tracked adequately in Bugzilla (and in my user pages))
(No difference)

Revision as of 18:42, 2 August 2017

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.

Peter 24Aug16: It is my belief that for 2.1.3 we have achieved 2.2, 2.3 and 2.4. We have achieved 2.1 the best we can, but it could still be improved further - this to be addressed in Proposal: Improvements to Scrubbing - Phase-3. 2.5 is carried forward to Phase-3. There remainin a few outstanding isses, documented in this proposal, that need to be addressed and a few that can probably be safely ignored as being of low impact or low chance of being encountered.

The Problem

There is no GUI method (button or menu command) to enter scrubbing mode, only a mouse and keyboard gesture which makes it hard to be "discoverable".

Proposed Feature

Phase-2 will address the UI and how the user accesses scrubbing, that will be harder than the Phase-1 cleanup and should only be undertaken once Phase-1 is complete.

This will involve a lot more discussion I'm thinking.

  • Peter 11Aug16: It certainly did ;-)))

2.1) It should be possible to access scrubbing, and escape from it, via a clear GUI. (i.e. keyboard shortcut or (ctrl)(shift)mouse-click on track don't count). The current solution is undiscoverable. You wouldn't guess that there was a scrubbing feature from looking at the track.

  • Peter 18Jan16: towards the end of the discussion on the Talk page Steve made two concrete proposals, I could support either of those:
    • Scrub Toolbar An additional "toolbar", similar to the Timeline, but dockable above or below the track window. Docking the toolbar above the track window allows quick and convenient switching between "Quick Play" and "Scrubbing", while docking at the bottom allows quick and convenient switching between scrubbing and scrolling.
    • Scrub Tool This is much like how other audio software works for scrubbing.
      • Peter 21Aug16: The Scrub Bar is now "on" by default (with the Scrub Toolbar "off" by default). The Scrub Bar can be toggled on/off from the right-click dropdown menu from the Timeline.
        1. The Scrub Bar can be right-clicked to invoke the scrubbing dropdown menu. When scrubbing is taking place we still carry the green playhead icon in the Timeline and this indicates to the user that scrubbing is a form of playing and thus they should realize that to stop scrubbing they simply have to press the Stop button or use one of its shortcuts: spacebar of Shift+A (for Stop & set cursor). The user can also use the ESC key to escape from scrubbing while retaining their previous cursor position or selection.
        2. There is also an entry in the Transport menu for Scrubing which can enable Scrubbing or seeking and also toggle the Scrub Bar on/off.
        3. The Scrub Toolbar, hidden by default, is not really necessary to effect scrubbing of seeking, but users who discover it can deploy it and use it if they wish.

          This should make the new Scrubbing in 2.1.3 much more "discovearble" and encourage exploration and use.

2.2) If mouse position is used to drag playback, there could be some tangible widget to be dragged. However this goes against 2.5) which seeks to make the drag less physical effort. Therefore an alternative could be to have the playhead widget not as the dragger but only as the up (off) /down (on) control to initiate scrubbing. If there is no drag widget then some option is needed to keep scrubbing alive when the playhead reaches the pointer.

  • Details: Where would the widget go? On the playhead, in the Timeline, or below it? We don't have many options for modified Timeline clicks - we already use CTRL and SHIFT with drag in the Timeline for Cut Preview and Loop Play respectively.
    • Peter 11Aug16: We have the draggable green widget(s) in the Scrub Bar or Timeline in 2.1.3 alpha now.

2.3) Scrubbing should work in all tools. (see also bug 1079). Scrubbing should fully enable those tools.

  • Note: The current implementation of scrubbing is a significant regression on the erstwhile waveform Quick-Play in that scrubbing does not allow the user to independently modify the cursor or selection while scrubbing. Possibly scrubbing can be enhanced enough that Quick-Play as a separate feature is no longer needed.
    • Peter 05Oct15: I would want to hold fire on thinking about losing Quick-Play from the Timeline - it is a very useful feature that I find myself using all the time.
    • Gale 06Oct15: Me too, but that's mainly because I find the current scrubbing hard to use/too much mental and physical effort.
      • Peter 08May16: Done. Scrubbing is now agnostic as to which tool is active and the user can even change tools while scrubbing is active and playing. And note that Paul's implementation of Scrubbing Phase-2 leaves Timeline Quick-play intact as it was and does not interfere with it - plus is is easy to switch between Scrubbing and Quick-Play at will.

2.4) Where should the cursor rest after scrubbing is stopped?

  • Peter 08May16: Current thinking in discussion on quality email thread seems to be that the cursor should be repositioned at the scrubbing stop position when scrubbing is stopped.
    • Peter 11Aug16: This has been implemented for 2.1.3, when you stop Scrubbing or Seeking with the Scrub Toolbar Buttons or the Stop button (or its shortcut) the cursor is moved to the current Scrub/Seek position. You can retain your previous cursor position or selction by using the Esc (Escape) key to stop Scrub/Seek.

2.5) Reduced physical effort to use scrubbing

Developer/QA Backing

  • Gale: Phase 1 is only really sticking plaster. We should move from Phase 1 to Phase 2 quickly. My feeling is that relatively few users are using scrubbing, and perhaps not all are finding it as useful as it could be. In contrast to the many user comments welcoming real-time preview, there seem to have been few comments about scrubbing, except for those falling into it by accident. Considering how popular scrubbing was as a feature request, this seems odd to me.
  • Peter 17Jan16: +1, I would prefer to see a scrub tool (ideally an extra button on the Transport toolbar, with a pre-assigned shortcut). Select the "scrub tool". Click and drag. Playback commences from the click position in the direction of the drag. Playback stops when the mouse button is released. Simple, effective, "does what it says on the tin".

Use Cases

  • As we already know from a posting on the Forum we have already had one poor benighted user who stumbled into scrubbing mode by mistake and then couldn't find his /her way out. See: this Forum thread
  • And see this Forum thread for another example of a confused user who wants to scrub, has read the Manual - but is still stuck.



GUI Examples


Previous Feature Requests relating to this proposal

Not applicable.