Scrolling
=========
:Date: 2008-05-07

This is a draft describing how scrolling with the mouse wheel should work in Lumiera to provide the best possible comfort for long editing sessions.


Scrolling without modifiers
---------------------------

Scrolling without modifiers should jump directly from the current frame to the next/previous frame.


Shift Modifiers
---------------

The Shift modifier should be used to toggle how scrolling with the mouse affects the gui. 

So scrolling while holding down Shift should not scroll horizontally but instead let you scroll through the tracks vertically. This is just a very small detail, but it does matter if you want to cut 2 hours of a Musical filmed with several cameras and two or more effects-tracks. Then you will mind whether you have to use your mouse at a border of the timeline or if you can let it stay where it is.


Alt Modifier
------------

The Alt modifier should be used to toggle the degree to which scrolling with the mouse affects the gui.

If you want to scroll a bit through the video by scrolling, you might not want to see every single frame, but you would be satisfied if you see only every 10th.


Windows / Tux / Super Modifier
------------------------------

The Windows / Tux / Super Modifier should give you a special feature often called a shuttle.

Hold down Super and scroll a bit up or down to get a very slow but steady forward / backward play like a extreme slow motion but with changing speed.

(I use the Super/Meta 4 key exclusively for window manager-related operations, as is increasingly common.  If we use it in the application, at least let it be unmapped so we don't clobber people's bindings.  --rcb)


Ctrl Modifier
-------------

The Ctrl modifier should switch from normal scrolling to zooming like in most other applications.

Here again the Shift modifier held down together with the Control modifier should switch from time-zoom to switching the height of a track.

But in the second case there is a need for another definition: As every track can have it's own height, there should also be the possibility of changing the height of all tracks at one time. Here it would be a good idea to let the modifier change its catchment area to all tracks when the mouse pointer is over a trackhead as this should be a big enough area so that you don't have to care on which pixel the mouse pointer exactly is. 
