Proposal Fish Eye

From Audacity Wiki
Revision as of 13:08, 5 October 2014 by James (talk | contribs) (Added details.)
Jump to: navigation, search
Proposal pages help us get from feature requests into actual plans. This proposal page is about adding a way to see detail at the same time as seeing context.
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.

Proposed Feature

Some method, or maybe a choice of several, for simultaneously looking at the same waveform at different resolutions.

Developer backing

  • James Crook
  • Paul L

Use Cases

Detailed work on a longer recording.


This example by Julian Dorn and Leon Schlechtriem shows an inset enlarged view that moves with the cursor:


Brett Park's focus plus context interface, similar in concept to the 'dock' from Mac OSX. The green area is enlarged, and moves as you move the scroll bar:



Julian and Leon's cutting magnifier is visible from 1:45 in their video [1]. The feature looks great in the demo, but some details need to be worked out for actual use. It is essential that the magnifier move in steps that are a fraction of a pixel, otherwise it isn't actually giving any finer cutting precision than a normal cursor (even though you get to see exactly where you will cut).

  • One way to do this is to slow the gearing of the mouse movement so that big mouse movements make small magnifier movements. This, unfortunately, is against Apple's HCI guidelines. The speed of the cursor movement relative to mouse and 'warping' the cursor are disallowed. Also a choice is needed as to when to have a low gear and when high. An existing feature of mice is that fast movement has a multiplier and slow movement is made more precise. We'd need a lot more of that. We could also have low gearing when close to the centre line of the audio and normal/high gearing when further away. A key to switch modes is getting rather close to a zoom key, and we are trying to avoid explicit mode switching.
  • Another way to do this is separate movement of the magnifier from movement of the cut line. In other words, the magnifier would only track the cursor when you dragged it. Then you could drag the cut line within the magnifier as a separate step.

Brett's focus plus context has a full video and explanation here: [2]. The design is demoed with relatively small difference in zoom between the fish eye and the actual wave. For precise cutting a difference of maybe 500x might be needed. In the demo the scroll bar is used to control the position of the focus, but the scrollbar is also needed to control the position of the view. The demo assumes that the full track fits easily on the screen at a normal resolution. That works for short tracks, but not for long ones, so some details of design need refinement.

The existing user experience is not as cumbersome as shown in the video, since scroll wheel on mouse can be used to zoom in and out quickly.

Current Status

The AU14 TrackPanel can show a copy of the same track at different zooms. Selections and play cursor are shown on both views. Navigation in one can cause scrolling of the other.